【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
注
具体原因没去细究,有懂的朋友麻烦评论区告知,后续搞明白了在本博文更新解释!
文章讨论了Matlab中使用`imread`读取tif图像时,不进行数据类型转换和转换为double类型后的显示效果差异。作者提到转换为double后,虽然标注存在但图像显示出现问题,寻求解答原因。
2万+

被折叠的 条评论
为什么被折叠?



