matlab一张图像分部分处理的问题
有两个问题一个是:把图像水平拉伸1.41倍tform=maketform('affine',[1.41400;010;001]);B=imtransform(A,tfor...
有两个问题
一个是:把图像水平拉伸1.41倍
tform = maketform('affine',[1.414 0 0; 0 1 0; 0 0 1]);
B = imtransform(A,tform);
imshow(B);
这个([1.414 0 0; 0 1 0; 0 0 1])这后面两组参数010 001是对什么定义的
二是:现在我的图像是1920*2560大小的
我现在希望图像左边一部分,例如横向大小0—1960变大a倍,右边部分1960—2560变大b倍,在同一张图上显示出来,能告诉我应该用什么函数么,[1.414 0 0; 0 1 0; 0 0 1])这后面两组参数010 001是对什么定义的
二个是:现在我的图像是1920*2560大小的
我现在希望图像左边一部分,例如横向大小0—1960变大a倍,右边部分1960—2560变大b倍,在同一张图上显示出来,怎么实现
第二个问题是想在同一张图像上来实现,就是最后只显示一张图,该图左边部分是原来a倍 右边部分是原来b倍 展开
一个是:把图像水平拉伸1.41倍
tform = maketform('affine',[1.414 0 0; 0 1 0; 0 0 1]);
B = imtransform(A,tform);
imshow(B);
这个([1.414 0 0; 0 1 0; 0 0 1])这后面两组参数010 001是对什么定义的
二是:现在我的图像是1920*2560大小的
我现在希望图像左边一部分,例如横向大小0—1960变大a倍,右边部分1960—2560变大b倍,在同一张图上显示出来,能告诉我应该用什么函数么,[1.414 0 0; 0 1 0; 0 0 1])这后面两组参数010 001是对什么定义的
二个是:现在我的图像是1920*2560大小的
我现在希望图像左边一部分,例如横向大小0—1960变大a倍,右边部分1960—2560变大b倍,在同一张图上显示出来,怎么实现
第二个问题是想在同一张图像上来实现,就是最后只显示一张图,该图左边部分是原来a倍 右边部分是原来b倍 展开
1个回答
展开全部
第一个问题:当选择变换类型为'affine'时,对应后面的变换参数是3*3矩阵。即失真后图像是原图像旋转一个角度theta后的结果。三列分别对应x方向,y方向,以及尺度变换。对于你的程序,水平拉伸1.41倍,y不变,尺度不变。
第二个问题:
I1=imresize(Image(:,1:1960),a);
I2=imresize(Image(:,1960:256),b);
subplot(1,2,1),imshow(I1)
subplot(1,2,2),imshow(I2)
第二个问题:
I1=imresize(Image(:,1:1960),a);
I2=imresize(Image(:,1960:256),b);
subplot(1,2,1),imshow(I1)
subplot(1,2,2),imshow(I2)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询