- diagram = imread('C:\Users\Administrator\Desktop\Compressed\fiter\lena256.jpg')
- %diagram = rgb2gray(diagram);%------------------------------将图片转换为灰度图
- %diagram = logical(diagram)%
- figure,imshow(diagram),title('Original picture');%----------显示原图
- %figure,imshow(diagram(100,:)),title('Original picture');%--显示100行水平扫描线
- %plot(diagram(255,:))
- size(diagram)
- whos diagram
- % imfinfo lena256.jpg %---------------------------------------显示图片信息
- diagram(256,256)
- diagram(1:10,1:10)
- % diagram = imadjust(diagram,[0,1],[1,0]) %-----------------图像反转 亮度
- % figure,imshow(diagram)
- % diagram = intrans(diagram,'stretch',mean2(im2double(diagram)),0.9);
- %%======================直方图============================%%
- % h = imhist(diagram)
- % h1 = h(1:1:256)
- % horz = 1:1:256;
- %bar(horz,h1)
- %axis([0 255 0 1500])
- %%======================图像复原===========================%%
- %g = imnoise(diagram,'gaussian') %-------------------------添加高斯噪声
- %figure,imshow(g)
- [M,N]=size(diagram)
- R = imnoise2('salt & pepper',M,N,0.01,0) %-----------------椒盐噪声
- c = find(R == 0);
- gp = diagram
- gp(c) = 255 %--------------------------------------------椒盐噪声
- %figure,imshow(gp);title('salt noise ')
- %g2 = imnoise(diagram,'poisson') %-------------------------珀松
- %figure,imshow(g2);title('pospng noise ')
- % fp = spfilt(gp,'chmean',3,3,-1)
- % figure,imshow(fp)
- %%=========================分离RGB========================%%
- rgb_se = diagram
- % rgb_se = im2double(rgb_se)
- fr = rgb_se(:,:,1)
- fg = rgb_se(:,:,2)
- fb = rgb_se(:,:,3)
- R = rgb_se(:,:,1)
- G = rgb_se(:,:,2)
- B = rgb_se(:,:,3)
- Y = 16+(0.256789*R+0.504129*G+0.097906*B)
- Cb = 128+(-0.148223*R-0.290992*G+0.439215*B)
- Cr = 128+(0.439215*R-0.367789*G-0.071426*B)
- % figure,imshow(Y);title('Y ')
- % ycbcr = cat(3,Y,Cb,Cr)
- % figure,imshow(ycbcr);title('Ycbcr ')
- % figure,imshow(fr) %--------------------------------------此时的不是红色,只是红色分量
- % figure,imshow(fg)
- % figure,imshow(fb)
- % rgb_image = cat(3,fr,fg,fb) %------------------------------合并RGB分量
- % figure,imshow(rgb_image)
- %==========================提出R G B分量===================%%
- a = diagram
- [r,c,d]=size(a);
- red=a;%提取红色分量
- red(:,:,1)=a(:,:,1);
- red(:,:,2)=zeros(r,c);%--------------------------------------将其他两组分量置位0
- red(:,:,3)=zeros(r,c);
- % red=unit8(red);
- % red=uint8(red);
- %subplot(131),imshow(red);title('red separation')
- %提取绿色分量
- green=zeros(r,c);
- green(:,:,2)=a(:,:,2);
- green(:,:,1)=zeros(r,c);
- green(:,:,3)=zeros(r,c);
- green=uint8(green);
- %subplot(132),imshow(green);title('green separation')
- %提取蓝色分量
- blue=zeros(r,c);
- blue(:,:,1)=zeros(r,c);
- blue(:,:,2)=zeros(r,c);
- blue(:,:,3)=a(:,:,3);
- blue=uint8(blue);
- %subplot(133),imshow(blue);title('blue separation')
- %%===========================颜色空间转换=====================%%
- rgb_image = diagram
- rgb_image = im2double(rgb_image)
- yiq_image = rgb2ntsc(rgb_image) %---------------------------RGB to NTSC
- %figure,imshow(yiq_image);title('RGB to NTSC ')
- ycbcr_image = rgb2ycbcr(rgb_image)%--------------------------RGB to Ycbcr
- % figure,imshow(ycbcr_image);title('RGB to Ycbcr ')
- size(ycbcr_image)
- %Here pick off the 256x256 luminance part of the ycbcr image
- Y = ycbcr_image(:,:,1)
- %figure, imshow(Y); title('Y part of Image');
- size(Y)
- %Here pick off the 256x256 Cb part of the ycbcr image
- CB = ycbcr_image(:,:,2)
- %figure, imshow(CB); title('Cb part of Image');
- size(CB)
- %Here pick off the 256x256 Cr part of the ycbcr image
- CR = ycbcr_image(:,:,3)
- %figure, imshow(CR); title('Cr part of Image');
- size(CR)
-