Error using imread>parse_inputs (line 457) The filename or url argument must be a string. Error in imread (line 316) [filename, fmt_s, extraArgs] = parse_inpu​ts(varargi​n{:});

90 views (last 30 days)
vani shree
vani shree on 19 Apr 2017
Answered: Dimitris Iliou on 21 Apr 2017
sir im getting error like this in my sift.m function file please rectify this error
"Error in imread (line 316) [filename, fmt_s, extraArgs] = parse_inputs(varargin{:});
Error in sift (line 22) image = imread(imagefile);"
function [image, descriptors, locs] = sift(imagefile)
% Load image
image = imread(imagefile); %%in this line im getting error sir
% If you have the Image Processing Toolbox, you can uncomment the following
% lines to allow input of color images, which will be converted to grayscale.
if isrgb(image)
image = rgb2gray(image);
thank you sir
  1 Comment
Ganesh Hegade
Ganesh Hegade on 19 Apr 2017
Error clearly stating that you should input image name in string format. Example :
[descriptors, locs] = sift('ImageName');

Sign in to comment.

Answers (1)

Dimitris Iliou
Dimitris Iliou on 21 Apr 2017
As Ganesh mentioned in the comment, the error you are getting is because the input in your sift function is not a string.
'imread' needs a string that contains the filename as the input. You can find more information and examples on 'imread' in the following documentation link:
Keep in mind, that in case the image file is not in the MATLAB current working directory, you might need to insert the full path and filename in order to read the image.
For example:
[image, descriptors, locs] = sift('C:\user\...\test.jpg');

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!