首页 养生问答 疾病百科 养生资讯 女性养生 男性养生

matlab怎么转置图片!急!在线等

发布网友 发布时间:2022-04-26 14:37

我来回答

2个回答

热心网友 时间:2022-06-29 07:09

编辑以下脚本(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('图像转置')


运行结果:

追问GrLr是神马?

追答都是自定义的变量,这里我用G、g代表转置后的图像,I代表原图像,r、g、b对应red,green,blue三原色,所以Gr就是转置后的红色矩阵,Ir就是转置前的红色矩阵,其他的例如Gr1就是转置后的红色矩阵归一化处理得到的矩阵的意思...
这些变量都可以自己去按照其含义定义,以上只是我的命名思路。

热心网友 时间:2022-06-29 07:10

如果原图片是二维矩阵A,灰度图或者索引图像
那么转置就是A.'
很简单

如果原来的图片是三维矩阵(unit8 mxnx3)第三维存放RGB信息
permute(A,[2 1 3]);
返回第一,第二维转置的矩阵

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com