matlab怎么读取一幅图像,并转换为灰度图像
1、打开图片:在主界面上输入命令将图像转换为数据;Data = imread('folder icon.bmp')。
2、查看数据:双击工作区中的数据,我们可以看到图像数据的具体信息。
3、验证图像结果:输入命令,我们可以看到数据数据是图片所代表的;Imshow(数据)。
4、灰度说明:我们可以通过输入指令获得灰度后的矩阵; GDATA = rgb2gray(数据)。
5、查看灰色矩阵:双击,右边的工作区,gdata,可以看到数据的具体信息。
6、显示灰度图像:如下图所示,可以看到图片后的灰度。
2024-08-07 广告
2017-06-21 · 中国六西格玛奠基人
matlab 用rgb2gray 将彩色图像转换为灰度图像
>> I=imread('D:\Lena.jpg');
>> x=rgb2gray(I);
>> figure(1);
>> subplot(121);
>> imshow(I);
>> title('原始图像');
>> subplot(122);
>> imshow(x);
>> title('灰度图像');
彩色图像是RGB,直接用rgb2gray
MATLAB 并没有自带gray2rgb
灰度图像 是个 N x M 矩阵。 N 和 M 为坐标,存储的数值是灰度深浅强度。RGB 为 N x M x 3 的矩阵。N 和 M 为坐标,附带的 3 是 [红,绿,蓝] 三色,数值各取 0-1.0 之间。转换上,如果灰度图像为 1024 x 768 大小,则要建立一个 1024 x 768 x 3 的矩阵。再在每一像素上添上颜色。例如,rgb_image(2, 4, :)= [0 1 1] %(坐标(2,4)=浅蓝色)
为了进行并行处理。我将512*512 的矩阵分成了64*64 的独立小块,并存至对应的文件中。
for i=1:64:449
for j=1:64:449
y=x(i:i+63,j:j+63);
h=y';
a=(i-1)/64+1;
b=(j-1)/64+1;
sload=['fid=fopen(''x' num2str(a) num2str(b) '.txt'',''wt+'')'];
eval_r(sload);
fprintf(fid, 'M\t', h);
fclose(fid);
end
end
Matlab函数rgb2gray,函数功能:将真彩色图像转换为灰度图像。在matlab命令窗口中键入doc rgb2gray或help rgb2gray可以获得更多关于该函数的帮助信息。
调用方式:
I = rgb2gray(RGB)
将真彩色RGB图像转换成灰度图像。(RGB并不发生变化)
newmap = rgb2gray(map)
返回一个灰度调色板。
以下是这个函数的实例:
% 1. 显示RGB真彩色图像
imgrgb = imread('flower.jpg');
figure('Name', '显示真彩色图像')
imshow(imgrgb)
% 2. 显示灰度图像
imggray = rgb2gray(imgrgb);
figure('Name', '显示灰度图像')
imshow(imggray)