首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

matlab 用rgb2gray 将彩色图像转换为灰度图像

matlab 用rgb2gray 将彩色图像转换为灰度图像

>> I=imread('D:\Lena.jpg');


>> x=rgb2gray(I);


>> figure(1);


>> subplot(121);


>> imshow(I);


>> title('原始图像');


>> subplot(122);


>> imshow(x);


>> title('灰度图像');



<IMG style="\"http://www.tiexinbb.com/bbs/\"ADDING-BOTTOM: 0px; BORDER-RIGHT-WIDTH: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0px; border-image: initial" title="matlab 用rgb2gray 将彩色图像转换为灰度图像" name=image_operate_3971374122690229 alt="matlab 用rgb2gray 将彩色图像转换为灰度图像" src="http://s1.sinaimg.cn/mw690/735f2910ge1c19d5778b0&690" real_src="http://s1.sinaimg.cn/mw690/735f2910ge1c19d5778b0&690" action-type="show-slide" action-data="http%3A%2F%2Fs1.sinaimg.cn%2Fmw690%2F735f2910ge1c19d5778b0%26690">


彩色图像是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


返回列表