【kate总结】Matlab坐标轴问题
总结而言
行óYó高ó垂直
列óXó宽ó水平
Maplab中存有2张图片
1.JPG
宽(列):320 高(行):482
在matlab中显示
2.JPG
宽(列):480 高(行):360
首先要弄清楚两个概念:处理对象是图片还是对应的矩阵(真彩色图像返回3维矩阵,灰度值图像返回二维矩阵)
如果处理的对象是图片,涉及如下概念
1)坐标原点:左上角
2)X:水平方向
3)Y:垂直方向
4)图像大小: Width:水平方向的宽度 Height: 垂直方向
如果处理的对象是矩阵,涉及如下概念
1)行:垂直方向等价于y
2)列:水平方向等价于x
示例
一处理对象为图片
1.
>> imfinfo('1.jpg')
得到:
Width: 320
Height: 482
>> imfinfo('2.jpg')
Width: 480
Height: 360
2.图像裁剪
I2=imcrop(I,RECT)而RECT为可选参数,
格式为[XMIN YMIN WIGTH HEIGHT].例如[20 20 40 40],则剪裁后的图像的左上角像素为原图像位置在(20,20)的像素,而剪裁后图像的右下角像素为原图像位置在(60,60)的像素。
>>imshow(B)
>> C=imcrop(B,[300,5,200,100]);
>> imshow(C)
得到:
二处理对象为矩阵
1)size
真彩色图像返回3维矩阵,灰度值图像返回二维矩阵)
二维矩阵matlab size(A):返回的是行×列
三维矩阵matlab size(A):返回的是行×列×3,3代表颜色通道
>> A=imread('1.jpg');
>> B=imread('2.jpg');
>> size(A)
ans =
482 320 3
>> size(B)
ans =
360 480 3
2)imresize
B = imresize(A, [numrows numcols])
numrows和numcols分别指定目标图像的高度和宽度。 显而易见, 由于这种格式允许图像缩放后长宽比例和源图像长宽比例不相同,因此所产生的图像有可能发生畸变。
>> resize1=imresize(A,[50 500]);
>> imshow(resize1)
得到如下图像: