matlab关于imread函数用法的问题

我的代码如下

file=uigetfile({'*.jpg;*.png'});
A=imread(file);
imshow(A)

问题是:有些图片能显示,有些不能。
备注:图片都是rgb图像,文件名为文件主名+扩展名,如:‘sherlock.jpg’,‘ngc6543a.png’
不能显示的图片报错为:

img

img

附上这两张图:‘sherlock.jpg’能显示,‘ngc6543a.png’不能显示,都是matlab的示例图片
sherlock.jpg

img


ngc6543a.png

img

请大家指导指导,我刚刚接触matlab,问题比较多

A=imread(file);
imshow(file);
这两个语句没有问题。
问题出在第一句的滤波器写错了。
正确写有一三种;

file=uigetfile('.');%查看所有
file=uigetfile('.jpg;.png');%查看当前两种文件
file=uigetfile({'.jpg';'.png'});%将.jpg和.png文件分组

先用PIL库的Image.open读图片函数读图片
newrgb=Image.open("图片文件名")
再使用
imgs=cv2.cvtColor(np.asarray(newrgb),cv2.COLOR_RGB2BGR)
语句将PIL的图片转换为cv的图片imgs