【Matlab图像读取及显示问题】----int型数据与double型数据的差别
matlab读取tif图像、在其上作图并显示
imread直接读取tif图,不做数据类型转换
如果将读取的数据类型转换为double,在double数据上作图并显示的话,效果如下图
这时候作图标记还是存在的,但是原图的显示出现问题
下面是我读取、画图和显示所用的代码
% 画圆,在前面保存的原始数据img上画
img = imread([imgDataPath imgDataDir(o).name '\' imgDir(ii).name]);
% img = double(imread([imgDataPath imgDataDir(o).name '\' imgDir(ii).name]));
position = [xcent ycent R90;xcent ycent R95 ];
label_str = cell(2,1);EE_val = [90 95];
for iii = 1:2
label_str{iii} = ['EE' num2str(EE_val(iii))];
end
rgb = insertObjectAnnotation(img,'circle',position,label_str,'color',{'cyan','yellow'},'textcolor','black','TextBoxOpacity',0,'Fontsize',20);
figure,imshow(rgb),title('1');
hold on
plot(xcent,ycent,'r+','MarkerSize',10);
hold off
注
具体原因没去细究,有懂的朋友麻烦评论区告知,后续搞明白了在本博文更新解释!