matlab怎么生成灰度图像
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab怎么生成灰度图像相关的知识,希望对你有一定的参考价值。
参考技术A 生成还是显示?生成:直接建一个二维数组,赋予0-255值就可以了。显示imagesc(img);colormap(gray)本回答被提问者采纳 参考技术Bclear;clc
x=linspace(-3*pi/2,pi/2,200);
y=repmat(255*(1+sin(x))/2,200,1);
I2=uint8(y);
I1=I2';
I3=uint8((y+y')/2);
subplot 131
subimage(I1);
subplot 132
subimage(I2);
subplot 133
subimage(I3);
matlab中怎么把图像变成灰度图
>> 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
参考技术A bmp的图像是彩色的,也就是说有rgb三个波段,读出的图像数据是一个m*n*3的数组,如果想把它变成灰度图像的,只要分离出任意rgb中的一个分量即可,例如你的图像是1.bmp,x=imread('1.bmp');imshow(x);
y=x(:,:,1);
imshow(y);就可以了,不知道你是想怎样把图像变成灰度的,如果三个分量都想要的话,做个计算也可以的,例如把rgb做个平均;y=1/3*x(:,:,1)+1/3*x(:,:,2)+1/3*x(:,:,3);imshow(y);
以上是关于matlab怎么生成灰度图像的主要内容,如果未能解决你的问题,请参考以下文章