当前位置:首页>开发>正文

matlab灰度级到彩色转换 怎样将灰度转化为彩色matlab

2023-04-14 10:43:49 互联网 未知 开发

 matlab灰度级到彩色转换 怎样将灰度转化为彩色matlab

matlab灰度级到彩色转换

以灰度图转化为彩色RGB图像为例的话,也就是将彩色图的3个通道分别用灰度表示即可,”b(:,:,3)=cb(:,:,2)=c;b(:,:,1)=c“,你这三句代码都是针对第三个通道,第1、2通道没有对应图像,所以就会出现脚本子语句分配维数不匹配的提示了,直接改为b(1:,:,)=c b(:,1:,)=c;
b(:,:,1)=c,分别对应起来就OK.

怎样将灰度转化为彩色matlab

最简单的是使用伪彩色处理。比如使用一个颜色表,为每个灰度值对应一个颜色。
简单的颜色表可以调用自带的colormap函数生成,代码如下:
clc clear close all

gray = imread(coins.png)
figure
subplot(121),imshow(gray)

cmap = colormap(jet(256))
rgb = ind2rgb(gray,cmap)
subplot(122),imshow(rgb)

用MATLAB实现对灰度图像到彩色图像的变换?

clear allclose allclc
I=imread(i_boat.jpg)
imshow(I)
I=double(I)
[m,n]=size(I)
L=256
for i=1:m
for j=1:n
if I(i,j)G(i,j)=4*I(i,j)
B(i,j)=L
else if I(i,j)<=L/R(i,j)=0
G(i,j)=L
B(i,j)=-4*I(i,j) 2*L
else if I(i,j)<=3*L/R(i,j)=4*I(i,j)-2*L
G(i,j)=L
B(i,j)=0
else
R(i,j)=L
G(i,j)=-4*I(i,j) 4*L
B(i,j)=0
end
end
end
end
end
for i=1:m
for j=1:n
G2C(i,j,1)=R(i,j)
G2C(i,j,2)=G(i,j)
G2C(i,j,3)=B(i,j)
end
end
G2C=G2C/256
figure
imshow(G2C)
G2C=rgb2gray(G2C)
figure
imshow(G2C)

用Matlab将彩色图编程灰度图以后,在变回彩色图如何处理

根据图像处理的原则,信息是逐渐丢失的,所以只有灰度图是不能复原成原来的彩色图的。

其数学原理如下:
原来一个彩色点rgb为 [1,2,3] 我们把它平均化后得到 一个灰的点 [2,2,2], 但是只根据这个灰度点是不能计算出原来的彩色点的具体信息的。
可以通过一定的规则(限制条件)对这三个数值进行运算得到彩色的图像,但得到的图像和原图是必然有差别的,比如photoshop中的单色映照什么的。

急急急,matlab问题,求彩色图像的灰度化处理代码

调用函数就行了。
如果是RGB模式
I=imread(*.bmp) %括号里是图片名
J=rgb2gray(I)

如果是索引图
[I map]=imread(*.bmp)
J=ind2gray(I,map)

如何通过matlab把下面灰度图转换成彩色图,最好是用最大类间方差法。。急用、跪求

clc
clear
I1=imread(yanshitu.jpg)
I=rgb2gray(I1)
thresh = multithresh(I,4)
seg_I = imquantize(I,thresh) % apply the thresholds to obtain segmented image
RGB = label2rgb(seg_I) % convert to color image
figure
imshowpair(I,RGB,montage) % display images side-by-side
axis off
title(Original Image RGB Segmented Image)

最新文章