Image 如何在MATLAB中锁定图像尺寸
我在MATLAB中有这个矩阵,200深x600宽。它代表一个2厘米深x 6厘米宽的图像。如何打印此图像,使其锁定在适当的尺寸,即2cm x 6cm?如果我使用image或imagesc命令,它会将其全部拉伸变形,并显示错误的大小。有没有办法将其锁定为显示x轴和y轴成比例的图像 第二个问题,我需要将这幅图像设置为640x480帧(左右各20像素的黑色边距,底部280像素的黑色边距)。有办法做到这一点吗?Image 如何在MATLAB中锁定图像尺寸,image,matlab,size,Image,Matlab,Size,我在MATLAB中有这个矩阵,200深x600宽。它代表一个2厘米深x 6厘米宽的图像。如何打印此图像,使其锁定在适当的尺寸,即2cm x 6cm?如果我使用image或imagesc命令,它会将其全部拉伸变形,并显示错误的大小。有没有办法将其锁定为显示x轴和y轴成比例的图像 第二个问题,我需要将这幅图像设置为640x480帧(左右各20像素的黑色边距,底部280像素的黑色边距)。有办法做到这一点吗?set(gca,'DataAspectRatio',[1]) 第二个问题: new_image
set(gca,'DataAspectRatio',[1])
第二个问题:
new_image = zeros(480,640);
new_image(20:(200+20-1),20:(600+20-1)) = old_image;
third_dimension_size=1; %# for b&w images, use 3 for rgb
framed_image=squeeze(zeros(640,480,third_dimension_size));
framed_image(20:20+600-1,140:140+200-1)= my_600_200_image;
imagesc(framed_image'); axis image;
要保持纵横比,可以使用
轴相等
或轴图像
命令
引用文件:
设置纵横比,以便数据单位在每个方向上都相同。x、y和z轴的纵横比根据x、y和z方向上的数据单位范围自动调整axis equal
与axis equal相同,只是打印框紧紧围绕数据`axis image
new_image = zeros(480,640);
new_image(20:(200+20-1),20:(600+20-1)) = old_image;
third_dimension_size=1; %# for b&w images, use 3 for rgb
framed_image=squeeze(zeros(640,480,third_dimension_size));
framed_image(20:20+600-1,140:140+200-1)= my_600_200_image;
imagesc(framed_image'); axis image;
作为其他答案的替代方案,您可能需要:
set(gca, 'Units', 'centimeters', 'Position', [1 1 6 2])
确保在打印图像后执行此操作,以获得正确的其他轴特性
关于第二个问题,请注意颜色通道的数量:
new_image = zeros(480,640, size(old_image));
new_image(20:(200+20-1),20:(600+20-1),:) = old_image;