Matlab的图像的转置 matlab怎么转置图片!急!在线等
i= imread('TUPIAN.jpg');
[x,y]=size(i);
这两句要根据图片格式变化的,对于truecolor图,要转换为灰度图,可写成:
rgb= imread('TUPIAN.jpg');
i=im2gray(rgb);
[x,y]=size(i);
对于indexed图,要转换为灰度图,可写成:
[X,map]= imread('TUPIAN.jpg');
i=im2gray(X,map);
[x,y]=size(i);
还有其它类的图片,不再分写,可学习相关知识。
然后才能转化为一维数组:a=i(:);
编辑以下脚本(New Script)并运行即可得到预期效果:
clear all
clc
I = imread('lena.jpg'); %读取并显示原图 I
subplot(1,2,1)
imshow(I)
title('原图像')
Ir = I(:,:,1); %由于是彩色图像,故需要对三原色分别转置
Ig = I(:,:,2);
Ib = I(:,:,3);
[m,n] = size(Ir);
Gr = zeros(m,n); %定义三原色转置后的矩阵
Gg = zeros(m,n);
Gb = zeros(m,n);
for i = 1 : m %利用循环实现转置操作
for j = 1 : n
Gr(j,i) = Ir(i,j);
Gg(j,i) = Ig(i,j);
Gb(j,i) = Ib(i,j);
end
end
Gr1 = cast(Gr,'double'); %三原色矩阵重新合成彩色图像
Gg1 = cast(Gg,'double');
Gb1 = cast(Gb,'double');
g = cat(3,Gr1,Gg1,Gb1);
subplot(1,2,2) %显示转置后图像
imshow(uint8(g))
title('图像转置')
运行结果:
那么 实现这个功能即求矩阵A的转置,在Matlab里用运算符 ‘ 就行
B = A’;
这样得到的B就是A的转置
3通道的旋转可以用permute函数,
Inew = permute(I, [2,1,3]);
imshow(Inew);
《matlab怎么旋转图片?》
答:左右翻转:fliplr(x)上下翻转:flipud(x)旋转九十度:rot90(x)
《Matlab的图像的转置》
答:假设图像存在矩阵A中 那么 实现这个功能即求矩阵A的转置,在Matlab里用运算符 ‘ 就行 B = A’;这样得到的B就是A的转置
《Matlab Simulink 有没有实现转置的模块啊?》
答:Math Operations库,Math Function模块,参数Function选择transpose。
《matlab 图像处理问题,极坐标图转换到直角坐标图》
答:ilovematlab.cn/上的回答插值方法反了 应该用反向法,从直角坐标开始,到极坐标图中找对应的点,如果没刚好对应的点,就插值获取