第一篇:北郵數字圖像處理作業
信息與通信工程學院
數字圖像處理實驗報告
班 級:
姓 名: 學 號:
彩色圖像處理
一.實驗目的
1.考慮下列500*500的RGB彩色圖像,框內的顏色如圖所示,假定將該圖像轉換到HSI空間,用25*25的平均模板模糊H分量圖像,再轉換回RGB空間,會看到什么結果?(b)重復(a),只是這次處理的是S分量。要求做實驗,并簡單分析結果
2.對原始圖像 Beauty.jpg進行彩色圖像處理,使以下問題得到改善:(1)整個畫面光線偏暗
(2)畫面在色彩上偏紫
(3)皮膚上有很多的雀斑
(4)右下角偏亮
二.實驗環境
Windows7
MATLAB R2012a
三.實驗思路
實驗1:(1)生成所需圖像,框內的顏色為綠紅藍綠;(2)將該RGB圖像轉換到HSI空間;
(3)用25*25的平均模板模糊H分量圖像,再轉換回RGB空間,并觀察此時圖像的變化情況;
(4)重復(2)(3),這次處理的是S分量,觀察圖像的變化情況。
實驗2:
(1)將原圖像轉化為double型;(2)提升原圖像的整體亮度;
(3)對原圖像進行飽和度處理,使圖片偏紫得到改善;(4)通過RGB平滑去除色斑;
(5)通過find函數降低圖片右下角的亮度;
四.實驗結果
實驗1:
結果分析:H分量為與紅軸的夾角,S分量為圓上的點到圓心的距離,I分量為高。
(1)理論上,對H做均值濾波時,S和I的值是不變的,若掩膜內紅藍分量相同時,轉化到RGB空間為綠色,若掩膜內紅綠分量相同時,轉換到RGB空間時依次為為紅黃綠,若掩膜內藍綠分量相同時,轉換到RGB空間時依次為藍青綠,若掩膜內紅綠藍分量都有時,則轉換到RGB空間時,依次為藍青綠黃紅,觀察實驗結果,與理論相同;
(2)理論上,對S做均值濾波時,H,S和I分量的值都不變,做掩膜也不會影響這幾個分量,因此轉換到RGB空間上觀察和原圖結果相同,觀察實驗結果,與理論相同。
實驗2:
(1)原圖像:
(2)通過亮度提升完善原圖偏暗的情況:
(3)對圖片進行飽和度調整,完善原圖像偏紫的問題:
(4)對圖片進行RGB平滑,去除原圖像中的色斑:
(5)降低原圖像右下角亮度,得到最終結果:
五.實驗中遇到的問題及解決辦法
(1)由于實驗1相對簡單,并未遇到大問題;
(2)在做實驗2的時候,直接對原圖進行處理,導致程序不能執行,后來將原圖修改為double型以后,成功解決了該問題;
(3)在做實驗2的時候,由于亮度提升太高,導致結果與預期相差很大,后來降低了亮度提升的幅度以后,解決了這個問題;
(4)實驗2的最終效果不是很好,想了很多辦法也沒有解決,希望老師可以在課上具體講解一下。
六.實驗總結及心得體會
實驗總結:
根據實驗要求,按照書本以及網上的資料提供的基本方法,得到上面的實驗結果,經過分析,最終得到的實驗結果和要求基本一致,綜上所述,完成了本次實驗。
心得體會:
在這次實驗的開始,找到了實驗的相關內容,因此實驗的目標比較明確,不過在編寫代碼的時候仍然遇到了一些問題,后來經過查閱資料,解決了這些問題。但是實驗2的效果仍然不是很理想。通過這次實驗,對彩色圖像的處理有了更加深刻的理解,較好的掌握了彩色空間的轉換,尤其是RGB與HSI空間之間的相互轉換。同時掌握了如何提升和降低彩色圖像的亮度,以及對彩色圖像的RGB平滑處理,調整彩色圖像的飽和度。此外,對課內知識也有了更加形象的認識。
七.源程序
實驗1:
clear all;
% 生成紅綠藍的格子圖案 A = ones(250,250);B = zeros(250,250);
r = cat(1,cat(2,B,A),cat(2,B,B));g = cat(1,cat(2,A,B),cat(2,B,A));b = cat(1,cat(2,B,B),cat(2,A,B));rgb = cat(3,r,g,b);
hsi=rgb2hsi(rgb);%將RGB圖像轉換為hsi空間 h=hsi(:,:,1);s=hsi(:,:,2);i=hsi(:,:,3);
K = fspecial('average',[25 25]);% 25*25的平均模板
H = imfilter(h,K,'replicate');%模糊h分量 hsi1 = cat(3,H,s,i);rgb1=hsi2rgb(hsi1);%將hsi圖像轉化為RGB空間 S = imfilter(s,K,'replicate');%模糊s分量 hsi2 = cat(3,h,S,i);
rgb2=hsi2rgb(hsi2);%將hsi圖像轉化為RGB空間 %顯示圖像
subplot(2,2,1),imshow(rgb), title('原圖');
subplot(2,2,2),imshow(rgb1,[]), title('H模糊后的圖像');subplot(2,2,3),imshow(rgb2,[]), title('S模糊后的圖像');
實驗2:
I=imread('beauty.jpg');
I=im2double(I);%將原圖像轉化為double型 HSI= rgb2hsi(I);%將RGB圖像轉換到HSI空間 fH=HSI(:,:,1);fS=HSI(:,:,2);fI=HSI(:,:,3);
c=find(fI<0.6);%找出FI<0.6的元素,并將這些元素的線性索引值按列返回向量c中 fI(c)=fI(c)*1.3;%亮度提升 I1=cat(3,fH,fS,fI);%構建多維數組
f1=hsi2rgb(I1);%將HSI圖像轉化為RGB空間 P = rgb2hsi(f1);%將RGB圖像轉換到HSI空間 fH1=P(:,:,1);fS1=P(:,:,2);fI1=P(:,:,3);
fS1=fS1*0.95;%圖片飽和度調整 I2=cat(3,fH1,fS1,fI1);%構建多維數組
f2=hsi2rgb(I2);%將HSI圖像轉化為RGB空間 R= f2(:,:,1);G= f2(:,:,2);B= f2(:,:,3);
w = fspecial('average',[5,5]);%5*5平均模板 R1 = imfilter(R,w,'replicate');G1 = imfilter(G,w,'replicate');B1 = imfilter(B,w,'replicate');f3= cat(3,R1,G1,B1);R2 = f3(:,:,1);G2 = f3(:,:,2);B2 = f3(:,:,3);
R2 =imfilter(R2,w,'replicate');%濾波處理 f4 = cat(3,R2,G2,B2);%構建多維數組
HSI = rgb2hsi(f4);%將RGB圖像轉化為HSI空間 H = HSI(:,:,1);S = HSI(:,:,2);i = HSI(:,:,3);d=find(i==1);i(d)=0.7;c=find(i>0.7);
i(c)=i(c)*0.93;%在亮度過強區域減亮度 HSI=cat(3,H,S,i);%構建多維數組
f5=hsi2rgb(HSI);%將HSI圖像轉化為RGB圖像 %顯示圖像
subplot(2,3,1),imshow(I), title('原圖');
subplot(2,3,2),imshow(f1), title('整體亮度提升');subplot(2,3,3),imshow(f2), title('圖片飽和度調整');subplot(2,3,4),imshow(f3), title('RGB平滑圖像');subplot(2,3,5),imshow(f4), title('進一步處理');subplot(2,3,6),imshow(f5), title('最終處理結果');
第二篇:北郵市場營銷作業
一、判斷題(共2道小題,共20.0分)
?
利用波士頓咨詢集團法評估業務組合時,相對市場占有率高、市場增長率高的業務單位屬于“明星”類,應大力發展。
? 正確
? 錯誤
知識階段作業一 點:
學生答[A;]案:
試題分[10] 10.0 得分: 值:
提示:
?
相對市場占有率是指一定時期內企業某種產品的銷售量(銷售額)在同一市場上的同類產品銷售總量(總額)中所占的比重。
? 正確
? 錯誤
知識階段作業一 點:
學生答[B;]案:
試題分[10] 10.0 得分: 值:
提示:
二、多項選擇題(共4道小題,共40.0分)
?
下列關于差異性營銷策略說法正確的是()。
? 實行差異性營銷策略會增加成本
? 差異性營銷策略的應變能力差
? 差異性營銷策略的規模經濟好
? 差異性營銷策略適用于多品種生產企業
? 實行差異性營銷策略要求企業具有較高的經營管理水平
知識階段作業一 點:
學生答[A;D;E;] 案:
試題分[10] 10.0 得分: 值:
提示:
?
組織市場通常包括()。
? 生產者市場
? 消費者市場
? 中間商市場
? 非營利組織市場
? 最終產品市場
知識
點:
學生答
案:
得分: 階段作業一 [A;C;D;] [10]試題分
值:10.0
提示:
?
屬于宏觀市場營銷環境分析內容的有()。
? 公眾
? 經濟環境
? 人口環境
? 科學技術環境
? 競爭者
知識階段作業一 點:
學生答[B;C;D;] 案:
試題分[10] 10.0 得分: 值:
提示:
?
從企業角度出發,有效市場的構成要素包括()。
? 可供交換的商品
? 購買力
? 商品交換的場所
? 購買欲望
? 消費主體
知識階段作業一 點:
學生答[B;D;E;] 案:
試題分[10] 10.0 得分: 值:
提示:
三、單項選擇題(共4道小題,共40.0分)
?
企業有選擇地進入幾個不同的細分市場,為不同的顧客群提供不同性能的同類產品,這種方式是()。
? 產品專業化
? 市場專業化
? 選擇專業化
? 全面涵蓋
知識
點: 階段作業一
學生答
案: [C;]
得分: [10] 試題分
值: 10.0
提示:
?
市場滲透策略適用的情況是()。
? 現有市場――新產品
? 新市場――現有產品
? 現有市場――現有產品
? 新市場――新產品
知識
點: 階段作業一
學生答
案: [C;]
得分: [10] 試題分
值: 10.0
提示:
?
根據現代市場營銷觀念,市場營銷活動的起點是(? 生產
? 工廠
? 市場
? 銷售
知識
點: 階段作業一
學生答
案: [C;]
得分: [10] 試題分
值: 10.0
提示:
??
下列市場近似于獨家壟斷市場的是()。
? 電力
? 小麥
? 啤酒
? 鋼鐵
知識
點: 階段作業一
學生答[A;]。)
案: 得分: 提示: [10]試題分值: 10.0
第三篇:數字圖像處理上機作業
數字圖像處理上機實驗題
一、產生右圖所示圖像 f1(m,n),其中圖像大小為256×256,中間亮條為128×32,暗處=0,亮處=100。對其進行 FFT:
1、屏顯示原圖 f1(m,n)和FFT(f1)的幅度譜圖;
2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重復以上過程,比較二者幅度譜的異同,簡述理由;
3、若將f2(m,n)順時針旋轉 90 度得到f3(m,n),試顯示 FFT(f3)的幅度譜,并與 FFT(f2)的幅度譜進行比較;
4、若將f1(m,n)順時針旋轉 90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),試顯示 FFT(f5)的幅度譜,并指出其與 FFT(f1)和FFT(f4)的關系;
5、若令f6(m,n)=f2(m,n)+f3(m,n),試顯示 FFT(f6)的幅度譜,并指出其與 FFT(f 2)和FFT(f3)的關系,比較 FFT(f6)和FFT(f5)的幅度譜。
代碼
f1=zeros(256,256);
for i =64:1:191 for j = 112:1:143 f1(i,j)= 100;
end
end
f2 = fft2(f1);
%f2(m,n)= f3
f3 =((-1)^(i+j))*f1;f4 = fft2(f3);
%f3(m,n)= f5
f5 = imrotate(f3,90,'bilinear');f6 = fft2(f5);
%f4(m,n)= f7
f7 = imrotate(f1,90,'bilinear');f8 = fft2(f7);
%f5(m,n)= f8 f9 = f1 + f7;f10 = fft2(f9);
%f6(m,n)= f2(m,n)+f3(m,n)f11 = f3 + f5;f12 = fft2(f11);
figure(1)subplot(1,2,1);imshow(abs(f1));title('原圖f1');subplot(1,2,2);imshow(abs(f2));title('幅度譜fft2(f1)');figure(2)subplot(2,2,1)imshow(abs(f1));title('原圖f1')subplot(2,2,2)imshow(abs(f2));title('幅度譜fft2(f1)');subplot(2,2,3);imshow(abs(f3))title('變換譜f2');subplot(2,2,4);imshow(abs(f4));title('幅度譜fft2(f2)');figure(3)subplot(2,2,1)imshow(abs(f3))title('變換譜f2');subplot(2,2,2);imshow(abs(f4));title('幅度譜fft2(f2)');subplot(2,2,3);imshow(abs(f5))title('變換譜f3');subplot(2,2,4);imshow(abs(f6));title('幅度譜fft2(f3)');figure(4)subplot(3,2,1);imshow(f7);
title('f1旋轉圖f4');subplot(3,2,2);imshow(abs(f8));title('幅度譜fft2(f4)');subplot(3,2,3);imshow(f9);
title('f5(m,n)=f1+f4');subplot(3,2,4);imshow(abs(f10));title('幅度譜fft2(f5)');subplot(3,2,5)imshow(abs(f1));title('原圖f1');subplot(3,2,6);imshow(abs(f2));title('幅度譜fft2(f1)');figure(5)subplot(3,2,1)imshow(abs(f3))title('變換譜f2');subplot(3,2,2);imshow(abs(f4));title('幅度譜fft2(f2)');subplot(3,2,3);imshow(abs(f5))title('變換譜f3');subplot(3,2,4);imshow(abs(f6));title('幅度譜fft2(f3)');subplot(3,2,5)imshow(abs(f11))title('變換譜f6=f2+f3');subplot(3,2,6);imshow(abs(f12));title('幅度譜fft2(f6)');
figure(6)subplot(2,2,1);imshow(f9);
title('f5(m,n)=f1+f4');subplot(2,2,2);imshow(abs(f10));title('幅度譜fft2(f5)');subplot(2,2,3)imshow(abs(f11))
title('變換譜f6(m,n)=f2+f3');subplot(2,2,4);imshow(abs(f12));title('幅度譜fft2(f6)');
結果
分析
2、F2(m,n)與F1(m,n)幅度值相同,f2(m,n)=(-1)^(m+n)*f1(m,n)中,并未改變幅值。
3、FFT(f2)比FFT(f3)幅值大。
4、f5=f1+f4,即幅值相加。
5、f6=f2+f3,即幅值相加。
二、產生教材 104 頁題圖 4.18(右圖)所示的二值圖像(白為1,黑為0),編程實現習題4.18 所要求的處理(3*3 的平均濾波和中值濾波)功能(圖像四周邊界不考慮,處理結果按四舍五入仍取(0或1),顯示處理前后的圖像,比較其異同。
代碼
I=[ 1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;1,0,1,0,1,0,1,0;0,1,0,1,0,1,0,1;];J=imhist(I,2);
K=filter2(fspecial('average',3),I);K1=round(K);J1=imhist(K1,2);K2=medfilt2(I);J2=imhist(K2,2);
figure(1)subplot(2,2,1)imshow(I);title('原圖像');subplot(2,2,2)imshow(J);
title('原圖像直方圖');subplot(2,2,3)imshow(K1);
title('3*3領域平均');subplot(2,2,4)imshow(J1);
title('領域平均圖像直方圖')figure(2)subplot(2,2,1)imshow(I);title('原圖像');subplot(2,2,2)imshow(J);
title('原圖像直方圖');subplot(2,2,3)imshow(K2);title('中值濾波');subplot(2,2,4)imshow(J2);
title('中值濾波圖像直方圖')
結果
三、產生教材 104 頁題圖 4.16 所示的灰度圖像(白為255,黑為0),分別加入高斯白噪聲和椒鹽噪聲,再分別進行 3′ 3 的平均濾波和中值濾波,顯示原圖像、加噪圖像和濾波結果圖像,并比較四種濾波結果。
代碼
f=zeros(256,256);for i =23:1:23
3for j=28:1:35 f(i,j)=255;
end
for j=52:1:59 f(i,j)=255;
end
for j=76:1:83 f(i,j)=255;
end
for j=100:1:107 f(i,j)=255;
end
for j=124:1:131 f(i,j)=255;
end
for j=148:1:155 f(i,j)=255;
end
for j=172:1:179 f(i,j)=255;
end
for j=196:1:203 f(i,j)=255;
end
for j=220:1:227 f(i,j)=255;
end end
g=imnoise(f,'gaussian',0.2);s=imnoise(f,'salt & pepper',0.2);k1=filter2(fspecial('average',3),g);G1=round(k1);G2=medfilt2(g);
k2=filter2(fspecial('average',3),s);S1=round(k2);S2=medfilt2(s);
figure(1)imshow(f)
title('?-ê?í???');figure(2)subplot(3,2,1)imshow(g)
title('???1í???');subplot(3,2,2)imshow(s)
title('?·??í???');subplot(3,2,3)imshow(G1)
title('???ù??2¨???1í???');subplot(3,2,5)imshow(G2)
title('?D?μ??2¨???1í???');subplot(3,2,4)imshow(S1)
title('???ù??2¨?·??í???');subplot(3,2,6)imshow(S2)
title('?D?μ??2¨?·??í???');
結果
四、對某一灰度圖像,進行如下處理:
(1)分別利用 Roberts、Prewitt和Sobel 邊緣檢測算子進行邊緣檢測;
(2)將Roberts、Prewitt和Sobel 邊緣檢測算子修改為銳化算子,對原圖像進行銳化,同屏顯示原圖像、邊緣檢測結果和銳化后圖像,說明三者之間的關系。
代碼
f1=imread('C:UsershpPictures1.jpg');f2=rgb2gray(f1);k1=edge(f2,'Roberts');k2=edge(f2,'Prewitt');k3=edge(f2,'Sobel');
k4=filter2(fspecial('Prewitt'),f2);k5=filter2(fspecial('Prewitt'),f2);k6=filter2(fspecial('Sobel'),f2);
figure(1)subplot(4,2,1)imshow(f1);title('yuanshi');subplot(4,2,2)imshow(f2);title('huidu');subplot(4,2,3)imshow(k1);title('Roberts');subplot(4,2,5)imshow(k2);title('Prewitt');subplot(4,2,7)imshow(k3);title('Sobel');subplot(4,2,4)imshow(k4);title('log');subplot(4,2,6)imshow(k5);title('Prewitt');subplot(4,2,8)imshow(k6);title('Sobel');
結果
二值化。
五、編程實現教材 214 頁所給圖像門限化分割的迭代閾值算法,實現對某一灰度圖像的代碼
f1=imread('C:UsershpPictures11.jpg');f2=rgb2gray(f1);f3=f2;
zm=max(f2(:));zi=min(f2(:));k=2;
T(k)=(zm+zi)/2;while T(k)~=T(k-1);r1=find(f2<=T(k));r2=find(f2>T(k));k=k+1;
T(k)=(mean(f2(r1))+mean(f2(r2)))/2;end
r3=find(f3<=T(k));r4=find(f3>T(k));f3(r3)=0;f3(r4)=255;
figure(1)subplot(221)imshow(f1)title('原始圖像');subplot(222)imshow(f2)title('灰度圖像');subplot(223)imshow(f3)
title('迭代閾值算法二值化');
結果
心得體會
通過此次作業讓我明白了很多,實際操作起來往往比理論所想的要復雜很多。當然,在課設的進行過程中,我還是遇到了不少問題。例如,起初由于我對句柄使用以及一些函數使用的不恰當。隨著課設的進行,對matlab的的熟悉度逐步加深。
總體來說,此次的課程設計,還是較為滿意的。它不但鞭策著我去鞏固matlab的基礎理論知識,還提高了我對matlab的實際操作運用,使得理論與實踐相結合,為進一步學習matlab打下堅實的基礎;同時,在實踐的工程中,也讓我體會到一種努力付出并得到回報的滿足感覺。
第四篇:數字圖像處理期中作業報告
西安科技大學
通信學院
數字圖像處理實驗報告
直 方 圖 均 衡 化
西安科技大學
通信學院
題目:直方圖均衡化
一、實驗目的
1.通過實驗理解直方圖均衡化的原理及步驟; 2.編程實現圖像(灰度或彩色)的直方圖均衡化;
3.通過實驗更深刻的理解課本知識和加強動手實踐能力。
二、實驗要求
(1)讀入一幅圖像;
(2)編程繪制給定圖象的灰度直方圖;
(3)編程實現給定圖象的直方圖均衡,得到均衡后的新圖象;(4)比較均衡前后的兩幅圖象以及各自的灰度直方圖,分析討論直方圖均衡提高圖象對比度的效果;
三、實驗原理
1.直方圖均衡化概述
圖像的對比度增強的方法可以分成兩類:一類是直接對比度增強方法;另一類是間接對比度增強方法。直方圖拉伸和直方圖均衡化是兩種最常見的間接對比度增強方法。直方圖拉伸是通過對比度拉伸對直方圖像素分布進行調整,從而“擴大”前景和背景灰度的差別,以達到增強對比度的目的,這種方法可以利用線性或非線性的方法來實現;直方圖均衡化則通過使用累積函數對灰度值進行“調整”以實現對比度的增強。
直方圖均衡化是圖像處理領域中利用圖像直方圖對對比度進行調整的方法。這種方法通常用來增加許多圖像的局部對比度,尤其是當圖像的有用數據的對比度相當接近的時候。通過這種方法,亮度可以 2
西安科技大學
通信學院
更好地在直方圖上分布。這樣就可以用于增強局部的對比度而不影響整體的對比度,直方圖均衡化通過有效地擴展常用的亮度來實現這種功能。
2.基本思想
直方圖均衡化處理的“中心思想”是把原始圖像的灰度直方圖從比較集中的某個灰度區間變成在全部灰度范圍內的均勻分布。直方圖均衡化就是對圖像進行非線性拉伸,重新分配圖像像素值,使一定灰度范圍內的像素數量大致相同。直方圖均衡化就是把給定圖像的直方圖分布改變成“均勻”分布直方圖分布。
直方圖均衡化的基本思想是把原始圖的直方圖變換為均勻分布的形式,這樣就增加了象素灰度值的動態范圍從而可達到增強圖像整體對比度的效果。設原始圖像在(x,y)處的灰度為f,而改變后的圖像為s,則對圖像增強的方法可表述為將在(x,y)處的灰度f映射為g。在灰度直方圖均衡化處理中對圖像的映射函數可定義為:s = EQ(f),這個映射函數EQ(f)必須滿足兩個條件(其中L為圖像的灰度級數):(1)EQ(f)在0≤f≤L-1范圍內是一個單值單增函數。這是為了保證增強處理沒有打亂原始圖像的灰度排列次序,原圖各灰度級在變換后仍保持從黑到白(或從白到黑)的排列。
(2)對于0≤f≤L-1有0≤s≤L-1,這個條件保證了變換前后灰度值動態范圍的一致性。
累積分布函數(cumulative distribution function,CDF)即可以滿足上述兩個條件,并且通過該函數可以完成將原圖像f的分布轉換
西安科技大學
通信學院
成s的均勻分布。此時的直方圖均衡化映射函數為:sk = EQ(fk)=(ni/n)= Pf(fi),(k=0,1,2,??,L-1)上述求和區間為0到k,根據該方程可以由源圖像的各像素灰度值直接得到直方圖均衡化后各像素的灰度值。在實際處理變換時,一般先對原始圖像的灰度情況進行統計分析,并計算出原始直方圖分布,然后根據計算出的累計直方圖分布求出fk到sk的灰度映射關系。在重復上述步驟得到源圖像所有灰度級到目標圖像灰度級的映射關系后,按照這個映射關系對源圖像各點像素進行灰度轉換,即可完成對源圖的直方圖均衡化。
離散情況下的直方圖均衡化的算法: 列出原始圖像的灰度級fj,j?0,1,?,L?1 統計各灰度級的像素數目nj,j?0,1,?,L?1
計算原始圖像直方圖各灰度級的頻數Pf(fj)?nj/n,j?0,1,?,L?1
k計算累積分布函數:C(f)??P(f),j?0,1,?,k,?L?1
fjj?0應用以下公式計算映射后的輸出圖像的灰度級,P為輸出圖像灰度級的個數,其中INT為取整符號:
g?INT[(g?g)C(f)?g?0.5] imaxminmin用的映射關系修改原始圖像的灰度級,從而獲得直方圖近似為均勻分布的輸出圖像。
四、程序代碼
(調庫函數)
西安科技大學
通信學院
clc;clear all;I=imread('F:數字圖像處理常用圖片lena1.jpg');figure(1);subplot(2,2,1);imshow(I);title('原始圖像');subplot(2,2,2);imhist(I);title('原始圖像灰度直方圖');I1=im2double(I);I2=log(I1+1);%對數變換
I3=mat2gray(I2);%把圖像的灰度范圍變換為【0,1】
subplot(2,2,3);imshow(I3);title('對數變換增強后的圖像')subplot(2,2,4);imhist(I3);title('對數變換后灰度直方圖')
figure(2);B=imadjust(I,[0.05 0.7],[0.1 1.0]);subplot(2,2,1);imshow(B);title('灰度級線性調整');subplot(2,2,2);imhist(B);title('灰度級線性調整后直方圖');J=histeq(I);subplot(2,2,3);imshow(J);title('直方圖規定化');subplot(2,2,4);imhist(J);title('直方圖規定化后直方圖');
截圖:
原始圖像30002000100000對數變換增強后的圖像原始圖像灰度直方圖100200對數變換后的圖像灰度直方圖***.51
西安科技大學
通信學院
灰度級線性調整***000直方圖規定化4000100200灰度級線性調整后直方圖直方圖規定化后直方圖200000100200
(編寫算法)clc;clear all %一,圖像的預處理,讀入彩色圖像將其灰度化
I=imread('F:數字圖像處理常用圖片pepper.tif');%讀入JPG彩色圖像文件 figure(1);subplot(1,2,1);imshow(I);%顯示出來 title('輸入的彩色JPG圖像')imwrite(rgb2gray(I),'PicSampleGray.bmp');%將彩色圖片灰度化并保存 I_1=rgb2gray(I);%灰度化后的數據存入數組 %二,繪制直方圖
[height,width]=size(I_1);%測量圖像尺寸參數
GP=zeros(1,256);%預創建存放灰度出現概率的向量 for k=0:255 GP(k+1)=length(find(I_1==k))/(height*width);%計算每級灰度出現的概率,將其存入GP中相應位置 end figure(2);subplot(1,2,1);bar(0:255,GP,'r')%繪制直方圖 title('原圖像直方圖');xlabel('灰度值');ylabel('出現概率')axis([-5 250 0 0.012])%三,直方圖均衡化 S1=zeros(1,256);for i=1:256
西安科技大學
通信學院
for j=1:i S1(i)=GP(j)+S1(i);%計算Sk end end S2=round((S1*256)+0.5);%將Sk歸到相近級的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%計算現有每個灰度級出現的概率 end figure(2);subplot(1,2,2);bar(0:255,GPeq,'y')%顯示均衡化后的直方圖 title('均衡化后的直方圖');xlabel('灰度值');ylabel('axis([-5 270 0 0.012])%四,圖像均衡化 PA=I;for i=0:255 PA(find(I==i))=S2(i+1);%給這個像素 end figure(1);subplot(1,2,2);imshow(PA)%title('均衡化后圖像')imwrite(PA,'PicEqual.bmp');
截圖:
輸入的彩色JPG圖像 7
出現概率')將各個像素歸一化后的灰度值賦顯示均衡化后的圖像 均衡化后圖像
西安科技大學
通信學院
原圖像直方圖0.0120.012均衡化后的直方圖0.010.010.0080.008出現概率0.006出現概率0.0060.0040.0040.0020.0020050100灰度值***50100150灰度值200250
五、實驗結果
分析:從上述實驗結果可以看出,經過直方圖均衡化后的圖片的對比度更高,且邊緣效果更高。這些圖片非常有利于人眼的觀看識別。直方圖均衡化可以達到增強圖像的顯示效果的作用。通過原圖像的直方圖可以觀察出,圖像中各種亮度所占的比例大都分布不均勻,直方圖增強的方法就是壓縮直方圖中比例少的像素所占用的灰度范圍,多出來的灰度空間按照統計比例分配給直方圖中比例高的像素使用。這種方法主要是針對人眼對灰度差別越大的圖像更容易分辨的特點而做的增強。
直方圖均衡化由于可能會丟失一些灰度級,所以造成圖片信息在一定程度上的損失。變換后圖像的灰度級減少也會使某些細節消失。并且某些圖像經均衡化處理后的對比度不自然的過分增強。
六、成員分工
七、心得體會
通過近幾周的設計,我們學到了很多東西,對如何獲得知識也有
西安科技大學
通信學院
了一定的感知。首先,對這個設計題目,要做好充分的準備工作,經過在圖書館查找一些相關的資料,上網搜索一些相關的知識后,我們終于對需要的流程有了一定的規劃。其次,在實際設計過程中,我們充分地利用課本上和老師提過的一些知識、思路。同時與組內同學認真交談,相互領會對方的思路和方法,提高自己的交際能力和團隊精神。再次,通過對此設計,我們對圖像處理的知識有了更加深入的了解,知道了什么是圖像增強,知道了怎樣均衡化,知道了怎樣利用圖像增強的知識處理學習、生活中遇到的一些問題。
在此次程序課程設計中,收獲知識的同時也收獲了成熟。我們不僅培養了思考問題的能力,也提高了獲取知識的能力,并且相互合作的過程中感受到一個人的力量遠沒有團隊的力量大,遇到問題時,集體的智慧才會更有效解決,因此只有相互團結,互相學習交流,這樣大家都會懂得更多,進步更快。平時也要學會謙虛向其他人學習,我們以后會更加珍惜和重視這樣的機會。
第五篇:《數字圖像處理》
實驗五 圖像的幾何變換
一.實驗目的及要求
掌握圖像幾何變換的基本原理,熟練掌握數字圖像的縮放、旋轉、平移、鏡像和轉置的基本原理及其MATLAB編程實現方法。
二、實驗內容
(一)研究以下程序,分析程序功能;輸入執行各命令行,認真觀察命令執行的結果。熟悉程序中所使用函數的調用方法,改變有關參數,觀察試驗結果。
1.圖像縮放 clear all, close all I = imread('cameraman.tif');Scale = 1.35;
% 將圖像放大1.35倍
J1 = imresize(I, Scale, 'nearest');
% using the nearest neighbor interpolation J2 = imresize(I, Scale, 'bilinear');
% using the bilinear interpolation imshow(I), title('Original Image');figure, imshow(J1), title('Resized Image--using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image--using the bilinear interpolation ');help imresize
% 查看imresize使用幫助
1.95倍
I = imread('cameraman.tif');Scale = 1.96;
% 將圖像放大1.96倍
J1 = imresize(I, Scale, 'nearest');
% using the nearest neighbor interpolation J2 = imresize(I, Scale, 'bilinear');
% using the bilinear interpolation imshow(I), title('Original Image');figure, imshow(J1), title('Resized Image--using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image--using the bilinear interpolation ');
說明:
?注意觀察不同插值方法的圖像表現; ?改變圖像縮放因子Scale,重做上述實驗。2.圖像旋轉
clear all, close all I = imread('cameraman.tif');Theta = 45;
% 將圖像逆時針旋轉45?。
J1 = imrotate(I, Theta, 'nearest');
% using the nearest neighbor interpolation Theta =-45;
% 將圖像順時針旋轉45?。
J2 = imrotate(I, Theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(I), title('Original Image');figure, imshow(J1), title('Rotated Image--using the nearest neighbor interpolation ');figure, imshow(J2), title(' Rotated Image--using the bilinear interpolation ');% 查看imrotate使用幫助 help imrotate %-------
圖像旋轉30順時針逆時針
clear all, close all I = imread('cameraman.tif');Theta = 30;
% 將圖像逆時針旋轉30。
J1 = imrotate(I, Theta, 'nearest');
% using the nearest neighbor interpolation Theta =-30;
% 將圖像順時針旋轉30。
J2 = imrotate(I, Theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(I), title('Original Image');figure, imshow(J1), title('Rotated Image--using the nearest neighbor interpolation ');figure, imshow(J2), title(' Rotated Image--using the bilinear interpolation ');7 說明:
?注意觀察不同插值方法和輸出圖像后處理方法的圖像表現; ?改變旋轉角度大小和方向,重做上述實驗。
3.圖像水平鏡象
clear all, close all I = imread('cameraman.tif');I1 = flipdim(I,2);
I2 = flipdim(I,1);figure(1), subplot(1,2,1), imshow(I);subplot(1,2,2), imshow(I1);figure(2), subplot(2,1,1), imshow(I);subplot(2,1,2), imshow(I2);%----
(二)用MATLAB編程實現以下圖像幾何變換(參考自編講義相關章節)
1.圖像扭曲變換 2.球面變換
三、實驗設備
1.PIII以上微機; 2.MATLAB6.5;
四、預習與思考
1.預習實驗內容,閱讀教材熟悉實驗原理;
2.查閱資料,熟悉實驗中涉及的有關MATLAB函數;
3.利用課余時間,采用MATLAB底層函數編程實現實驗內容
(二)中的圖像平移、圖像轉置等幾何變換。
五、實驗報告要求
1.簡述試驗的目的和試驗原理;
2.敘述各段程序功能,改變有關函數的參數,分析比較實驗結果; 3.打印出所編寫的實驗程序。4.寫出本實驗的心得體會及意見。
實驗六
數字圖像處理應用
一.實驗目的及要求
1.利用MATLAB提供的圖像處理函數實現圖像中物體屬性的測量; 2.訓練綜合運用MATLAB圖像處理函數的能力; 3.了解數字圖像處理基本應用。
二、實驗內容
以大米粒特性測量為例,綜合應用課程中圖像分割、形態學濾波、圖像增強、圖像特征提取等圖像處理方法,實現大米粒特性自動測量。實驗過程簡述:
1. 讀取和顯示圖像 2. 估計圖像背景 3. 獲取背景均勻的圖像 4. 圖像增強 5. 圖像二值化分割 6. 區域標記及為彩色處理
7. 測量圖像中的區域特性(面積、質心等)
8.統計大米粒的特性分布規律。
(一)研究以下程序,分析程序功能;輸入執行各命令行,認真觀察命令執行的結 果。熟悉程序中所使用函數的調用方法,改變有關參數,觀察試驗結果。
% Read and Display an Image clear, close all,close all;I = imread('rice.png');
figure, imshow(I)
% Use Morphological Opening to Estimate the Background
background = imopen(I,strel('disk',15));
figure, imshow(background);
%Display the Background Approximation as a Surface
figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);set(gca,'ydir','reverse');% Subtract the Background Image from the Original Image I2 = imsubtract(I,background);figure, imshow(I2)% Adjust the Image Contrast I3 = imadjust(I2, stretchlim(I2), [0 1]);figure, imshow(I3);% Apply Thresholding to the Image level = graythresh(I3);bw = im2bw(I3,level);figure, imshow(bw)% Determine the Number of Objects in the Image [labeled,numObjects] = bwlabel(bw,4);
% Label components.numObjects % Examine the Label Matrix RGB_label = label2rgb(labeled, @spring, 'c', 'shuffle');figure, imshow(RGB_label);% Measure Object Properties in the Image graindata = regionprops(labeled,'basic')allgrains = [graindata.Area];% Compute Statistical Properties of Objects in the Image max(allgrains);biggrain = find(allgrains==695)mean(allgrains);figure, hist(allgrains,20);12
(詳見MATLAB IPT的 幫助文檔demo中的Correcting Nonuniform Illumination)
(二)查看MATLAB IPT 幫助文檔,研究其它應用演示
三、實驗設備 1.PIII以上微機; 2.MATLAB6.5;
四、預習與思考
1.預習實驗內容,閱讀教材熟悉實驗原理; 2.查閱資料,熟悉實驗中涉及的有關函數。
3.利用課余時間,采用MATLAB函數編程實現實驗內容
(二)。
五、實驗報告要求
1.簡述試驗的目的和試驗原理;
2.敘述各段程序功能,改變有關函數的參數,分析比較實驗結果; 3.打印出所編寫的實驗程序。4.寫出本實驗的心得體會及意見。