《數(shù)字圖像處理課程設(shè)計報告報告》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字圖像處理課程設(shè)計報告報告(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、.
數(shù)字圖像處理
課程設(shè)計報告
姓 名:
學(xué) 號:
班 級: .net
設(shè)計題目:圖像處理
教 師:哲 教師
提交日期: 12月29日
一、設(shè)計容:
主題:"圖像處理"
詳細說明:對圖像進展處理〔簡單濾鏡,模糊,銳化,高斯模糊等〕,對圖像進展處理〔上下對稱,左右對稱,單雙色顯示,亮暗程度調(diào)整等〕,對圖像進展特效處理〔反色,實色混合,色彩平衡,浮雕效果,素描效果,霧化效果等〕,
二、涉及知識容:
1、二值化
2、各種濾波
3、算法等
三、設(shè)計流程圖
插入圖片
2、 對圖片進展處理
二值化處理
重復(fù)
輸出兩幅圖
完畢
四、實例分析及截圖效果:
運行效果截圖:
第一步:讀取原圖,并顯示
close all;clear;clc;
% 清楚工作窗口clc 清空變量clear 關(guān)閉翻開的窗口close all
I=imread('1.jpg');
% 插入圖片1.jpg 賦給I
imshow(I);% 輸出圖I
I1=rgb2gray(I);%圖片變灰度圖
f
3、igure%新建窗口
subplot(321);% 3行2列第一幅圖
imhist(I1);%輸出圖片
title('原圖直方圖');%圖片名稱
一,圖像處理 模糊
H=fspecial('motion',40);
%% 濾波算子 模糊程度40 motion運動
q=imfilter(I,H,'replicate');%imfilter實現(xiàn)線性空間濾波函數(shù),I圖經(jīng)過H濾波處理,replicate反復(fù)復(fù)制
q1=rgb2gray(q);
imhist(q1);
title('模糊圖直方圖');
二,圖像處理 銳化
H=fspecial('unsharp')
4、;%銳化濾波算子,unsharp不清晰的
qq=imfilter(I,H,'replicate');
qq1=rgb2gray(qq);
imhist(qq1);
title('銳化圖直方圖');
三,圖像處理 浮雕(來源網(wǎng)絡(luò))
%浮雕圖
l=imread('1.jpg');
f0=rgb2gray(l);%變灰度圖
f1=imnoise(f0,'speckle',0.01);
%高斯噪聲 參加密度為0.01的高斯乘性噪聲 imnoise噪聲污染圖像函數(shù) speckle斑點
f1=im2double(f1);%把圖像數(shù)據(jù)類型轉(zhuǎn)換為雙精度浮點類型
h3=1/9.*[1
5、1 1;1 1 1;1 1 1];
%采用h3對圖像f2進展卷積濾波
f4=conv2(f1,h3,'same');
%進展sobel濾波
h2=fspecial('sobel');
g3=filter2(h2,f1,'same');%卷積和多項式相乘 same一樣的
k=mat2gray(g3);% 實現(xiàn)圖像矩陣的歸一化操作
四,圖像處理 素描(來源網(wǎng)絡(luò))
f=imread('1.jpg');
[VG,A,PPG] = colorgrad(f);
ppg = im2uint8(PPG);
ppgf = 255 - ppg;
[M,N] = size(ppgf);T=
6、200;
ppgf1 = zeros(M,N);
for ii = 1:M
for jj = 1:N
if ppgf(ii,jj)
7、
function [VG, A, PPG] = colorgrad(f, T)
if (ndims(f)~=3) || (size(f,3)~=3)
error('Input image must be RGB');
end
sh = fspecial('sobel');
sv = sh';
R* = imfilter(double(f(:,:,1)), sh, 'replicate');
Ry = imfilter(double(f(:,:,1)), sv, 'replicate');
G* = imfilter(double(f(:,:,2)), sh, 'rep
8、licate');
Gy = imfilter(double(f(:,:,2)), sv, 'replicate');
B* = imfilter(double(f(:,:,3)), sh, 'replicate');
By = imfilter(double(f(:,:,3)), sv, 'replicate');
g** = R*.^2 + G*.^2 + B*.^2;
gyy = Ry.^2 + Gy.^2 + By.^2;
g*y = R*.*Ry + G*.*Gy + B*.*By;
A = 0.5*(atan(2*g*y./(g**-gyy+eps)));
G1 =
9、 0.5*((g**+gyy) + (g**-gyy).*cos(2*A) + 2*g*y.*sin(2*A));
A = A + pi/2;
G2 = 0.5*((g**+gyy) + (g**-gyy).*cos(2*A) + 2*g*y.*sin(2*A));
G1 = G1.^0.5;
G2 = G2.^0.5;
VG = mat2gray(ma*(G1, G2));
RG = sqrt(R*.^2 + Ry.^2);
GG = sqrt(G*.^2 + Gy.^2);
BG = sqrt(B*.^2 + By.^2);
PPG = mat2gray(RG + GG
10、+ BG);
if nargin ==2
VG = (VG>T).*VG;
PPG = (PPG>T).*PPG;
end
f1=rgb2gray(f);
imhist(f1);
title('素描圖直方圖');
五,圖像處理 實色混合(來源網(wǎng)絡(luò))
%實色混合
I(I<=127)=0; %對像素進展處理,假設(shè)值小于等于127,置0
I(I>127)=255; %對像素進展處理,假設(shè)值大于127,置255
imshow(I);
title('像素圖');
I1=rgb2gray(f);
imhi
11、st(I1);
title('像素圖直方圖');
六,圖像處理 反色圖
f=imread('1.jpg');
q=255-q;
imshow(q);
title('反色圖');
imhist(q1);
title('反色圖直方圖');
七,圖像處理 上下對稱
A=imread('1.jpg');
B=A;
[a,b,c]=size(A);
a1=floor(a/2); b1=floor(b/2); c1=floor(c/2);
B(1:a1,1:b,1:c)=A(a:-1:a-a1+1,1:b,1:c);
figure
imshow(B)
ti
12、tle('上下對稱');
A=rgb2gray(A);
figure
imhist(A)
title('上下對稱直方圖');
八,圖像處理類 左右對稱
C=imread('1.jpg');
A=C;
C(1:a,1:b1,1:c)=A(1:a,b:-1:b+1-b1,1:c);
figure
imshow(C)
title('左右對稱');
A=rgb2gray(A);
figure
imhist(A);
title('左右對稱直方圖');
九,圖像處理 單雙色顯示
a=imread('1.jpg');
a1=a(:,:,1);
13、a2=a(:,:,2); a3=a(:,:,3);
aa=rgb2gray(a);
a4=cat(3,a1,aa,aa); a5=cat(3,a1,a2,aa);
figure
subplot(121);
imshow(a4);
title('單色顯示');
subplot(122);
imshow(a5);
title('雙色顯示');
a4=rgb2gray(a4);
a5=rgb2gray(a5);
figure
subplot(121);
imhist(a4);
title('單色顯示直方圖
14、');
subplot(122);
imhist(a5);
title('雙色顯示直方圖');
十,圖像處理 亮暗度調(diào)整
a=imread('1.jpg');
a1=0.8*a;
a2=2*a;
figure
subplot(121);imshow(a1);
title('暗圖');
subplot(122);
imshow(a2);
title('亮圖')
q3=rgb2gray(a1);q4=rgb2gray(a2);
figure
subplot(121);mhist(q3);title('暗圖直方圖')
subplot(122);
i
15、mhist(q4);
title('亮圖直方圖')
十一,圖像處理 霧化處理
q=imread('1.jpg');
m=size(q,1);n=size(q,2);
r=q(:,:,1);g=q(:,:,2);b=q(:,:,3);
for i=2:m-10
for j=2:n-10
k=rand(1)*10;%產(chǎn)生一個隨機數(shù)作為半徑
di=i+round(mod(k,33));%得到隨機橫坐標
dj=j+round(mod(k,33));%得到隨機縱坐標
r(i,j)=r(di,dj);%將原像素點用隨機像素點代替
g(i,
16、j)=g(di,dj);
b(i,j)=b(di,dj);
end
end
a(:,:,1)=r;a(:,:,2)=g;a(:,:,3)=b;
imshow(a)
title('霧化處理圖');
q=rgb2gray(a);
figure
imhist(q);
title('霧化處理圖直方圖');
十二,圖像處理 高斯濾波
I = imread('1.jpg');
G =fspecial('gaussian', [5 5], 2);
% fspecial生成一個高斯濾波器
Ig =imfilter(I,G,'same');
%imfilter使用該濾波器
17、處理圖片
imshow(Ig);
title('高斯濾波');
I1=rgb2gray(Ig);
figure
imhist(I1);
title('高斯濾波直方圖');
十三,圖像處理 色彩平衡〔來自網(wǎng)絡(luò)〕
im=imread('1.jpg');
im2=im;%存儲元圖像
im1=rgb2ycbcr(im);
%將im RGB圖像轉(zhuǎn)換為YCbCr空間。YCbCr空間 Y亮度信息。 Cb是藍色分量和一個參考值得差
%Cr是紅色分量和一個參考值得差。"
%im1是一個M*N*3的矩陣。
Lu=im1(:,:,1);%獲取亮度分量 "是一個M*N矩陣
Cb=im1
18、(:,:,2);%獲取藍色偏差量 "Cb是一個M*N的矩陣
Cr=im1(:,:,3);%獲取紅色偏差量 "Cr是一個M*N的矩陣
[* y z]=size(im);%獲得im的size將值賦給*=M y=N z=3.
tst=zeros(*,y); %建立一個M*N的0矩陣tst
Mb=sum(sum(Cb));
%sum(Cb)將每一列相加得到一個N維行向量。 sum(sum(Cb))將行向量元素相加。得到一個數(shù)Mb
Mr=sum(sum(Cr));%同理得到Mr
Mb=Mb/(**y);
Mr=Mr/(**y);%Mb,Mr分別除以**y. 得到藍色和紅色的均值。
D
19、b=sum(sum(Cb-Mb))/(**y);
Dr=sum(sum(Cr-Mr))/(**y); %得到b,r的方差
t=1;
for i=1:*
for j=1:y
b1=Cb(i,j)-(Mb+Db*sign(Mb));
b2=Cr(i,j)-(1.5*Mr+Dr*sign(Mr));
if (b1<(1.5*Db) & b2<(1.5*Dr));
Ciny(t)=Lu(i,j); %獲得一個列向量Ciny維度為t-1
tst(i,j)=Lu(i,j);
t=t+1;
end
end
end
t=t-1;
iy=sort(Ciny,'descend')
20、;%將列向量Ciny元素降序排列
nn=round(t/10);
Ciny2(1:nn)=iy(1:nn); %將iy的1到nn個元素復(fù)制給Ciny2
mn=min(Ciny2);
c=0;
for i=1:*
for j=1:y
if tst(i,j)
21、).*tst;
Rav=mean(mean(R));%求均值先列后行
Gav=mean(mean(G));
Bav=mean(mean(B));
Yma*=double(ma*(ma*(Lu)))/15;
Rgain=Yma*/Rav;
Ggain=Yma*/Gav;
Bgain=Yma*/Bav;
im(:,:,1)=im(:,:,1)*Rgain;
im(:,:,2)=im(:,:,2)*Ggain;
im(:,:,3)=im(:,:,3)*Bgain;
W=im;
figure,imshow(im2,[]),title('原始圖像');
figure,imsho
22、w(im,[]),title('色彩平衡處理后的圖像');
im1=rgb2gray(im);
% subplot(326);
figure
imhist(im1);
title('色彩平衡處理后直方圖');
十四,圖像處理 明暗反轉(zhuǎn)〔網(wǎng)絡(luò)〕
f = imread('1.jpg');
% f = rgb2gray(f);
g1 = imadjust(f, [0 1], [1 0]);
g2 = imadjust(f, [0.5 0.75], [0 1]);
imshow(g2);
title('明暗反轉(zhuǎn)');
figure
g = rgb2gray(g2);
i
23、mhist(g);
title('明暗反轉(zhuǎn)直方圖');
十五,圖像處理 反轉(zhuǎn)負沖效果〔負片圖片〕
f = imread('1.jpg');
g =implement(f);%IPT函數(shù)implement
imshow(g);
title('負片圖片');
g1=rgb2gray(g);
figure
imhist(g1);
title('負片圖片直方圖');
%明暗反轉(zhuǎn)功能讓這種獲得明暗反轉(zhuǎn)圖像的過程可用于增強潛入在大片黑色區(qū)域中的白色或灰色細節(jié)
十六,圖像處理 直方圖均衡化
a=imread('1.jpg');
b=rgb2gray(a);
im
24、show(b);
c=histeq(b); %直方圖均衡化
imshow(c);
title('直方圖均衡化');
figure
imhist(c);
title('直方圖均衡化直方圖');
十七,圖像處理 椒鹽噪聲
M=imread('1.jpg') ;
P2=imnoise(M,'salt & pepper',0.02); %參加椒鹽噪聲
imshow(P2);
title('椒鹽噪聲 ');
qq=rgb2gray(P2);
figure
imhist(qq);
title('椒鹽噪聲直方圖');
25、
十八,圖像處理 高斯噪聲
M=imread('1.jpg') ;
P1=imnoise(M,'gaussian',0.02); %參加高斯噪聲
imshow(P1) ;
title('高斯噪聲 ');
qq=rgb2gray(P1);
figure
imhist(qq);
title('高斯噪聲直方圖');
十九,圖像處理類一
二十,圖像處理類一
二十一,圖像處理類一
二十二,圖像處理類一
二十三,圖像處理類一
二十四,圖像處理類一
二十五,圖像處理類一
五,
六、心得體會
這次實驗有很多效果都沒做出來,木刻效果沒有找到代碼也沒頭緒,剪紙效果做了很久做
26、不出來,只知道要先變成灰度圖,調(diào)整比照度,只顯示黑白兩色,去掉黑色,變成只有紅白色的圖片就回具有剪紙效果。很多知識都想不起來代碼,過程忘了,尤其是轉(zhuǎn)換色彩空間做冰凍連環(huán)畫效果,做了很久,也百度了很久,找不到轉(zhuǎn)換。
這次實驗最大認知就是知道的Matlab有多么的高大上,可以做動漫,可以做PS里的幾乎所有功能,比PS更加細致化,數(shù)字化,對圖像處理的特效,可以隨心所欲的做處理。
可惜時間不多,也沒有做出更多的效果,深表遺憾,對知識的掌握不熟練,書上得來終覺淺,課下會更多的實踐,去了解,去學(xué)習(xí),去實踐,去對Matlab做更深入的學(xué)習(xí)。
七、程序資料清單和源代碼
均來自百度百科
. >