數(shù)字圖像處理課件 第9章 圖像處理軟件設(shè)計(jì)基礎(chǔ)學(xué)習(xí)資料_第1頁(yè)
數(shù)字圖像處理課件 第9章 圖像處理軟件設(shè)計(jì)基礎(chǔ)學(xué)習(xí)資料_第2頁(yè)
數(shù)字圖像處理課件 第9章 圖像處理軟件設(shè)計(jì)基礎(chǔ)學(xué)習(xí)資料_第3頁(yè)
數(shù)字圖像處理課件 第9章 圖像處理軟件設(shè)計(jì)基礎(chǔ)學(xué)習(xí)資料_第4頁(yè)
數(shù)字圖像處理課件 第9章 圖像處理軟件設(shè)計(jì)基礎(chǔ)學(xué)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第9章圖像處理軟件設(shè)計(jì)基礎(chǔ)9.1用Matlab語(yǔ)言進(jìn)行圖像處理9.2用C語(yǔ)言進(jìn)行圖像處理9.3用硬件描述語(yǔ)言進(jìn)行圖像處理2025/4/192Matlab圖像處理工具箱—ImageProcessingToolbox提高圖像質(zhì)量,使模糊的圖像變得清晰;提取圖像的有效特征,以便進(jìn)行模式識(shí)別;通過(guò)圖像變換和有效編碼來(lái)壓縮其頻帶或數(shù)據(jù),以便傳輸或存儲(chǔ)。9.1用Matlab語(yǔ)言進(jìn)行圖像處理

2025/4/193一、圖像處理工具箱函數(shù)包含一百余個(gè)函數(shù),按其內(nèi)容劃分為以下幾類:⑴、圖像顯示函數(shù);⑵、圖像文件輸入、輸出函數(shù);⑶、圖像幾何操作函數(shù);⑷、圖像像素值及統(tǒng)計(jì)函數(shù);⑸、圖像分析函數(shù);⑹、圖像增強(qiáng)函數(shù);⑺、線性濾波函數(shù);2025/4/194⑻、二維線性濾波器設(shè)計(jì)函數(shù);⑼、圖像變換函數(shù);⑽、圖像鄰域及塊操作函數(shù);⑾、二值圖像操作函數(shù);⑿、基于區(qū)域的圖像處理函數(shù);⒀、顏色圖操作函數(shù);⒁、顏色空間轉(zhuǎn)換函數(shù);⒂、圖像類型和類型轉(zhuǎn)換函數(shù)。一、圖像處理工具箱函數(shù)(cont.)2025/4/195分別為:真彩色圖像(RGBimages);索引色圖像(indeximages);灰度圖像(intensityimages);二值圖像(binaryimages)。

由于有的函數(shù)對(duì)圖像類型有限制,這四種類型可以用工具箱的類型轉(zhuǎn)換函數(shù)相互轉(zhuǎn)換。

二、工具箱支持的圖像類型2025/4/196Matlab可操作的圖像文件包括:BMPHDFJPEGPCXTIFFXWD2025/4/197三、常用圖像操作

圖像的讀寫與顯示操作:用imread()讀取圖像,imwrite()輸出圖像。圖像顯示于屏幕:imshow()。圖像進(jìn)行裁剪:imcrop()。圖像的插值縮放:imresize()。圖像的旋轉(zhuǎn):imrotate()

。

2025/4/198四、圖像增強(qiáng)功能

圖像增強(qiáng)是數(shù)字圖像處理過(guò)程中常用的一種方法,目的是采用一系列技術(shù)去改善圖像的視覺(jué)效果或?qū)D像轉(zhuǎn)換成一種更適合于人眼觀察和機(jī)器自動(dòng)分析的形式。2025/4/199灰度直方圖均衡化。

灰度變換法。平滑與銳化濾波。圖像增強(qiáng)方法2025/4/19101、灰度直方圖均衡化均勻量化的自然圖像的灰度直方圖通常在低灰度區(qū)間上頻率較大,使得圖像中較暗區(qū)域中的細(xì)節(jié)看不清楚,采用直方圖修整可使原圖像灰度集中的區(qū)域拉開(kāi)或使灰度分布均勻,從而增大反差,使圖像的細(xì)節(jié)清晰,達(dá)到增強(qiáng)目的。直方圖均衡化可用histeq()函數(shù)實(shí)現(xiàn)。

2025/4/19112、灰度變換法照片或電子方法得到的圖像,常表現(xiàn)出低對(duì)比度即整個(gè)圖像偏亮或偏暗,為此需要對(duì)圖像中的每一像素的灰度級(jí)進(jìn)行灰度變換,擴(kuò)大圖像灰度范圍,以達(dá)到改善圖像質(zhì)量的目的。這一灰度調(diào)整過(guò)程可用imadjust()函數(shù)實(shí)現(xiàn)。

2025/4/19123、平滑濾波平滑技術(shù)用于平滑圖像中的噪聲,基本采用在空間域上的求平均值或中值。或在頻域上采取低通濾波,因在灰度連續(xù)變化的圖像中,我們通常認(rèn)為與相鄰像素灰度相差很大的突變點(diǎn)為噪聲點(diǎn),灰度突變代表了一種高頻分量,低通濾波則可以削弱圖像的高頻成分,平滑了圖像信號(hào),但也可能使圖像目標(biāo)區(qū)域的邊界變得模糊。2025/4/19134、銳化濾波而銳化技術(shù)采用的是頻域上的高通濾波方法,通過(guò)增強(qiáng)高頻成分減少圖像中的模糊,特別是模糊的邊緣部分得到了增強(qiáng),但同時(shí)也放大了圖像的噪聲。在Matlab中,各種濾波方法都是在空間域中通過(guò)不同的卷積模板即濾波算子實(shí)現(xiàn),可用fspecial()函數(shù)創(chuàng)建預(yù)定義的濾波算子,然后用filter2()或conv2()函數(shù)在實(shí)現(xiàn)卷積運(yùn)算的基礎(chǔ)上進(jìn)行濾波。2025/4/1914五、圖像邊緣檢測(cè)和圖像分割功能邊緣檢測(cè)是一種重要的區(qū)域處理方法,邊緣是所要提取目標(biāo)和背景的分界線,提取出邊緣才能將目標(biāo)和背景區(qū)分開(kāi)來(lái)。如果一個(gè)像素落在邊界上,那么它的鄰域?qū)⒊蔀橐粋€(gè)灰度級(jí)變化的帶。對(duì)這種變化最有用的兩個(gè)特征是灰度的變化率和方向。2025/4/1915五、圖像邊緣檢測(cè)和圖像分割功能(cont.)邊緣檢測(cè)算子可以檢查每個(gè)像素的鄰域并對(duì)灰度變化率進(jìn)行量化,也包括對(duì)方向的確定,其中大多數(shù)是基于方向?qū)?shù)掩模求卷積的方法。Matlab工具箱提供的edge()函數(shù)可針對(duì)sobel算子、prewitt算子、roberts算子、log算子、zero-cross和canny算子實(shí)現(xiàn)檢測(cè)邊緣的功能?;诨叶鹊膱D像分割方法也可以用簡(jiǎn)單的Matlab代碼實(shí)現(xiàn)。2025/4/1916六、圖像變換功能圖像變換技術(shù)是圖像處理的重要工具,常運(yùn)用于圖像壓縮、濾波、編碼和后續(xù)的特征抽取或信息分析過(guò)程。Matlab工具箱提供了常用的變換函數(shù),如fft2()與ifft2()函數(shù)分別實(shí)現(xiàn)二維快速傅立葉變換與其逆變換,dct2()與idct2()函數(shù)實(shí)現(xiàn)二維離散余弦變換與其逆變換。Matlab還提供了如二值圖像的膨脹運(yùn)算dilate()函數(shù)、腐蝕運(yùn)算erode()函數(shù)等基于數(shù)學(xué)形態(tài)學(xué)與二值圖像的操作函數(shù)。2025/4/1917七、Matlab圖像處理工具箱運(yùn)用實(shí)例

為了說(shuō)明Matlab語(yǔ)言是一種簡(jiǎn)潔,可讀性較強(qiáng)的高效率編程軟件,通過(guò)運(yùn)用圖像處理工具箱中的有關(guān)函數(shù),對(duì)圖“board.tif”為一幅電路板的原圖像進(jìn)行處理。該圖像右邊的剪切圖像為從“board.tif”中剪切出的將用于分析的子圖像塊。為了便于分析與觀察,把子圖像塊旋轉(zhuǎn)180度置于水平位置并把該圖存在名為“board_new.bmp”

的圖像文件中。2025/4/19181、圖像讀取、顯示、截取、旋轉(zhuǎn)、寫入x=imread(‘board.tif’);imshow(x);y=imcrop(x);figure,imshow(y);z=imrotate(y,180);figure,imshow(z);imwrite(z,‘board_new.bmp’,‘bmp’);2025/4/1919截取旋轉(zhuǎn)180度1、圖像讀取、顯示、截取、旋轉(zhuǎn)、寫入(cont.)2025/4/19202、對(duì)灰度圖進(jìn)行直方圖均衡化處理先判斷看所給圖像是否為一真彩色圖像?如果是,將其轉(zhuǎn)換為灰度圖像,以下所有的進(jìn)一步處理均采用經(jīng)過(guò)灰度化處理后的圖像作為原圖。對(duì)灰度圖進(jìn)行直方圖均衡化處理。通過(guò)比較灰度原圖和經(jīng)均衡化后的圖形可見(jiàn)圖像變得清晰,均衡化后的直方圖形狀比原直方圖的形狀更理想。2025/4/19212、對(duì)灰度圖進(jìn)行直方圖均衡化處理(cont.)m=imread(‘board_new.bmp’);n=rgb2gray(m);imshow(n);figure,imhist(n);I=histeq(n);figure,imshow(I);figure,imhist(I);2025/4/1922“board_new.bmp”的灰度化圖像(原圖)均衡化前直方圖2、對(duì)灰度圖進(jìn)行直方圖均衡化處理(cont.)2025/4/1923經(jīng)直方圖均衡化后的圖像均衡化后直方圖2、對(duì)灰度圖進(jìn)行直方圖均衡化處理(cont.)2025/4/19243、灰度圖像平滑與銳化處理灰度圖像平滑與銳化處理。Matlab圖像工具箱中有多種平滑與銳化濾波函數(shù),也可以自定義濾波算子。在此我們采用可根據(jù)圖像的局部方差來(lái)調(diào)整濾波器輸出的自適應(yīng)濾波對(duì)圖像進(jìn)行平滑,及采用拉氏算子運(yùn)算使圖像的模糊部分得到增強(qiáng)。2025/4/19253、灰度圖像平滑與銳化處理(cont.)x=imread(‘board_new.bmp’);x=rgb2gray(x);x=double(x);p=wiener2(x);imshow(p,[]);h=[010;1-41;010];q=conv2(x,h,‘same’);r=x-q;figure,imshow(r,[]);2025/4/1926采用自適應(yīng)濾波平滑利用拉氏算子卷積銳化3、灰度圖像平滑與銳化處理(cont.)“board_new.bmp”的灰度化圖像(原圖)常用的圖像處理函數(shù)ImreadImshowImwriteImadjustEdgeImhistImfilterMedfilt2Fft2Dct2Wavedec29.2用C語(yǔ)言進(jìn)行圖像處理C語(yǔ)言與MatLab語(yǔ)言的區(qū)別:MatLab是用于科學(xué)計(jì)算的編程環(huán)境,編程風(fēng)格與C語(yǔ)言類似。但是MatLab集成了針對(duì)各不同學(xué)科的常用的計(jì)算函數(shù),往往C語(yǔ)言或其他語(yǔ)言需要幾百行甚至幾千行的代碼,在MatLab中一個(gè)語(yǔ)句就可以完成。因此,MatLab編程很容易。MatLab的缺點(diǎn)是效率低,運(yùn)行速度慢。但是MatLab提供了與C或C++的接口,可在VC中調(diào)用MatLab中的函數(shù),進(jìn)而可以提高速度。常用的圖像處理編程一般可在VC或VS中實(shí)現(xiàn)。9.2用C語(yǔ)言進(jìn)行圖像處理OpenCV(OpenSourceComputerVisionLibrary)是一個(gè)基于開(kāi)源發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),具有輕量級(jí)、高效率等優(yōu)點(diǎn),由一系列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了500多個(gè)圖像處理和計(jì)算機(jī)視覺(jué)方面的通用算法。在VC中調(diào)用OpenCV庫(kù)函數(shù),可以大大加快圖像處理軟件開(kāi)發(fā)速度。FirstOpenCVProgram1.#include<cxcore.h>2.#include<highgui.h>3.#include<math.h>4.intmain(intargc,char**argv){5.CvPointcenter;6.doublescale=-3;7.IplImage*image=argc==2?cvLoadImage(argv[1]):0;8.if(!image)return-1;9.center=cvPoint(image->width/2,image->height/2);10.for(inti=0;i<image->height;i++)11.for(intj=0;j<image->width;j++){12.doubledx=(double)(j-center.x)/center.x;13.doubledy=(double)(i-center.y)/center.y;14.doubleweight=exp((dx*dx+dy*dy)*scale);15.uchar*ptr=&CV_IMAGE_ELEM(image,uchar,i,j*3);16.ptr[0]=cvRound(ptr[0]*weight);17.ptr[1]=cvRound(ptr[1]*weight);18.ptr[2]=cvRound(ptr[2]*weight);}19.

cvSaveImage(“copy.png”,image);20.cvNamedWindow("test",1);21.cvShowImage("test",image);22.cvWaitKey();23.return0;}RadialgradientTheProgramQuickReviewshortandclearprogram,noneedtomesswithMFC/GTK/QT/…,cross-platformcvLoadImage()andcvSaveImage()providetheeasiestwaytosave/loadimagesofvariousformats.cvPointandother“constructor”functionsmakethecodeshorterandallow1-linefunctionscall.CV_IMAGE_ELEM()–prettyfastwaytoaccessimagepixelscvRound()isveryfastandconvenientwaytocastfloat/doubletointcvNamedWindow()creates“smart”windowforviewinganimagecvShowImage()showsimageinthewindowcvWaitKey()delaystheexecutionuntilkeypressedoruntilthespecifiedtimeoutisover1.#include<cxcore.h>2.#include<highgui.h>3.#include<math.h>4.intmain(intargc,char**argv){5.CvPointcenter;6.doublescale=-3;7.IplImage*image=argc==2?cvLoadImage(argv[1]):0;8.if(!image)return-1;9.center=cvPoint(image->width/2,image->height/2);10.for(inti=0;i<image->height;i++)11.for(intj=0;j<image->width;j++){12.doubledx=(double)(j-center.x)/center.x;13.doubledy=(double)(i-center.y)/center.y;14.doubleweight=exp((dx*dx+dy*dy)*scale);15.uchar*ptr=&CV_IMAGE_ELEM(image,uchar,i,j*3);16.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論