MATLAB: Strange problem with “imread” function

character vectorimage processingimread

Hello,
I am getting a strange issue while trying to use imread function to read an image. It works perfectly fine for case 1 (see 1.png which I have attached). But when I try to do the same with case 2(see 2.png which I have attached) it gives me error. What can be cause and the solution? I have also tried num2str() but it does not solve the issue.
Thanking you in advance.

Best Answer

In the second case the code is:
image = imread(img);
...
I = imread(image);
This means, that image is the imported image already and using it as input for another imread call must fail with the shown error message.
You can find such problems easily using the debugger. See Doc: Debugger. Set a breakpoint in the failing line. Alternatively let Matlab stop automatically when the error occurs. Type this in the command window:
dbstop if error
Then let the code run again. When it stops, check the values of the variables:
class(image)
You will see, that it is not an appropriate input for imread, exactly as the error message tells already.