数字图像的增强处理

I=imread('C:\Users\David\Desktop\matlab临时\007.jpg');

if numel(size(I)>2)%如果是彩色图像先转为灰度图

    I=rgb2gray(I);

end

figure(1);imshow(I);title('原来的图像为');

[m,n]=size(I);

I=im2double(I);%将图像转换为double类型

I=imnoise(I,'gaussian',0,0.05);

dimg = I;

for i=2:m-1

    for j=2:n-1

dimg(i,j)=(dimg(i,j)+dimg(i+1,j)+dimg(i,j+1)+dimg(i+1,j+1)+dimg(i+1,j-1)+...+

dimg(i,j-1)+dimg(i-1,j-1)+dimg(i-1,j+1)+dimg(i-1,j))/9;%先分别写出八个方向的坐标

    end

end

figure(2);imshow(I);title('添加高斯噪声后的图像为:');

figure(3);imshow(dimg);title('增强后的图像为:');

figure(4);imhist(dimg);title('增强后的图像的直方图为:');

 

2)、I=imread('C:\Users\David\Desktop\matlab临时\008.jpg');

if numel(size(I)>2)%如果是彩色图像先转为灰度图

    I=rgb2gray(I);

end

 figure(1);imhist(I);title('原来图像直方图为:');

[m,n]=size(I);

I=im2double(I);

v=0.6;

fa=1/gamma(2-v);

h1=fa;

h2 = fa*(2^(1-v)-2);

h3 = fa*((1-v)*(2^(-v))-(2^(1-v))+1);

dimg = I;

for i=3:m-2

    for j=3:n-2

        dimg(i,j)=(h1*dimg(i,j)+h2*dimg(i+1,j)+h3*dimg(i+2,j)+...+

                  h1*dimg(i,j)+h2*dimg(i-1,j)+h3*dimg(i-2,j)+...+

                  h1*dimg(i,j)+h2*dimg(i+1,j-1)+h3*dimg(i+2,j-2)+...+

                  h1*dimg(i,j)+h2*dimg(i,j-1)+h3*dimg(i,j-2)+...+

                  h1*dimg(i,j)+h2*dimg(i,j+1)+h3*dimg(i,j+2)+...+

                  h1*dimg(i,j)+h2*dimg(i-1,j+1)+h3*dimg(i-2,j+2)+...+

                  h1*dimg(i,j)+h2*dimg(i-1,j-1)+h3*dimg(i-2,j-2)+...+

              h1*dimg(i,j)+h2*dimg(i+1,j+1)+h3*dimg(i+2,j+2))/(8*(h1+h2+h3));

    end

end

figure(1);imshow(I);title('原来图像直方图为:');

figure(2);imshow(dimg);title('增强后的图像为:');

figure(3);imhist(dimg);title('增强后的图像的直方图为:');

一、实训项目名称

数字图像的增强处理

二、实训目的

1、    熟悉和掌握Matlab能处理的图像格式。

2、    掌握在Matlab中图像的读取。

3、    掌握数字图像的增强技术

4、    能编程实现图像的平滑运算

 

 

三、实训主要仪器设备、软件等

1、Matlab软件

2、windows系统

 

四、实训内容及步骤

1、         原理:

2、         流程图:

3、         程序:

1)、

I=imread('C:\Users\David\Desktop\matlab临时\007.jpg');

if numel(size(I)>2)%如果是彩色图像先转为灰度图

    I=rgb2gray(I);

end

figure(1);imshow(I);title('原来的图像为');

[m,n]=size(I);

I=im2double(I);%将图像转换为double类型

I=imnoise(I,'gaussian',0,0.05);

dimg = I;

for i=2:m-1

    for j=2:n-1

dimg(i,j)=(dimg(i,j)+dimg(i+1,j)+dimg(i,j+1)+dimg(i+1,j+1)+dimg(i+1,j-1)+...+

dimg(i,j-1)+dimg(i-1,j-1)+dimg(i-1,j+1)+dimg(i-1,j))/9;%先分别写出八个方向的坐标

    end

end

figure(2);imshow(I);title('添加高斯噪声后的图像为:');

figure(3);imshow(dimg);title('增强后的图像为:');

figure(4);imhist(dimg);title('增强后的图像的直方图为:');

 

2)、I=imread('C:\Users\David\Desktop\matlab临时\008.jpg');

if numel(size(I)>2)%如果是彩色图像先转为灰度图

    I=rgb2gray(I);

end

 figure(1);imhist(I);title('原来图像直方图为:');

[m,n]=size(I);

I=im2double(I);

v=0.6;

fa=1/gamma(2-v);

h1=fa;

h2 = fa*(2^(1-v)-2);

h3 = fa*((1-v)*(2^(-v))-(2^(1-v))+1);

dimg = I;

for i=3:m-2

    for j=3:n-2

        dimg(i,j)=(h1*dimg(i,j)+h2*dimg(i+1,j)+h3*dimg(i+2,j)+...+

                  h1*dimg(i,j)+h2*dimg(i-1,j)+h3*dimg(i-2,j)+...+

                  h1*dimg(i,j)+h2*dimg(i+1,j-1)+h3*dimg(i+2,j-2)+...+

                  h1*dimg(i,j)+h2*dimg(i,j-1)+h3*dimg(i,j-2)+...+

                  h1*dimg(i,j)+h2*dimg(i,j+1)+h3*dimg(i,j+2)+...+

                  h1*dimg(i,j)+h2*dimg(i-1,j+1)+h3*dimg(i-2,j+2)+...+

                  h1*dimg(i,j)+h2*dimg(i-1,j-1)+h3*dimg(i-2,j-2)+...+

              h1*dimg(i,j)+h2*dimg(i+1,j+1)+h3*dimg(i+2,j+2))/(8*(h1+h2+h3));

    end

end

figure(1);imshow(I);title('原来图像直方图为:');

figure(2);imshow(dimg);title('增强后的图像为:');

figure(3);imhist(dimg);title('增强后的图像的直方图为:');

2、         结论(若干图像,一些结论)

T1

 

 

 

T2

 

 

posted @ 2017-11-23 21:45  忘记过去想想未来  阅读(248)  评论(0编辑  收藏  举报