數(shù)字圖像處理實(shí)習(xí)報(bào)告.doc_第1頁
數(shù)字圖像處理實(shí)習(xí)報(bào)告.doc_第2頁
數(shù)字圖像處理實(shí)習(xí)報(bào)告.doc_第3頁
數(shù)字圖像處理實(shí)習(xí)報(bào)告.doc_第4頁
數(shù)字圖像處理實(shí)習(xí)報(bào)告.doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

數(shù)字圖像處理課程綜合實(shí)習(xí)實(shí)習(xí)報(bào)告 學(xué) 院遙感信息工程學(xué)院班 級(jí) 09031學(xué) 號(hào) 2009302590120姓 名 吳雪薇日 期 2011年5月28日指導(dǎo)教師 實(shí)習(xí)一 將RAW圖像格式轉(zhuǎn)換成BMP圖像格式一、 實(shí)習(xí)目的和意義熟悉常用的圖像文件格式與格式轉(zhuǎn)換,認(rèn)識(shí)各圖像格式的優(yōu)缺點(diǎn);掌握RAW和BMP格式的存儲(chǔ)和讀取,編程實(shí)現(xiàn)RAWBMP格式的轉(zhuǎn)換,為讀取各種格式文件打基礎(chǔ)。二、實(shí)習(xí)原理和方法RAW格式:文件按照數(shù)字圖像組成的二維矩陣,將像素按行列號(hào)順序存儲(chǔ)在文件中。這種文件只含有圖像像素?cái)?shù)據(jù),不含有信息頭,因此,在讀圖像時(shí),需要根據(jù)文件大小,計(jì)算圖像所包含的行列號(hào),或者需要事先知道圖像大?。ň仃嚧笮。?。但這種文件讀取和保存簡單。RAW文件按圖像上行到下行、左列到右列順序存儲(chǔ),而BMP文件數(shù)據(jù)區(qū)按圖像上下行到上行、左列列到右列順序存儲(chǔ)到數(shù)據(jù)區(qū)。實(shí)現(xiàn)RAW文件到BMP文件的轉(zhuǎn)換,需要為BMP文件生成文件頭、信息頭、顏色表、數(shù)據(jù)區(qū),將RAW文件數(shù)據(jù)區(qū)賦值到BMP文件數(shù)據(jù)區(qū)。三、實(shí)習(xí)過程和步驟1、 根據(jù)學(xué)號(hào)新建自己的文件夾:F:09031_2009302590120;2、 使用AppWizard生成一個(gè)基于多文檔的項(xiàng)目2009302590120;3、 將CxxxxView類的基類設(shè)為CscrollView類,使項(xiàng)目顯示圖像時(shí)支持滾動(dòng)條;4、 添加菜單項(xiàng)“RAW-BMP”,并建立相應(yīng)的消息處理函數(shù);5、 新建Raw-Bmp對話框,并建立對話框類,為對話框類定義成員變量和成員函數(shù)。6、 在函數(shù)體內(nèi)添加自己的代碼,實(shí)現(xiàn)RAW的讀取,并實(shí)現(xiàn)RAW到BMP格式的轉(zhuǎn)換功能。void CRawToBmpDlg:OnButtonSeeraw() CFileDialog dlg(TRUE);if(dlg.DoModal()=IDOK)m_sRawIn=dlg.GetPathName();UpdateData(FALSE);void CRawToBmpDlg:OnButtonSeebmp() CFileDialog dlg(TRUE);if(dlg.DoModal()=IDOK)m_sBmpOut=dlg.GetPathName();UpdateData(FALSE);void CRawToBmpDlg:OnOK() UpdateData();CBmpFile bmpFile;bmpFile.CreateBmp(m_iHeight,m_iWidth,(m_iGray?3:1);CFile rawFile;rawFile.Open(m_sRawIn,CFile:modeRead);rawFile.Read(bmpFile.m_pImgDat,m_iHeight*m_iWidth*(m_iGray?3:1);rawFile.Close();bmpFile.Save2File(m_sBmpOut);CDialog:OnOK();7、 修改程序編制中出現(xiàn)的各種語法錯(cuò)誤和邏輯錯(cuò)誤,檢查程序運(yùn)行結(jié)果。四、實(shí)習(xí)結(jié)果分析與評價(jià)本程序能夠?qū)崿F(xiàn)將RAW圖像格式轉(zhuǎn)換成BMP圖像格式的功能。正確運(yùn)用bmpfile.h提供的相關(guān)函數(shù)實(shí)現(xiàn)了上述功能,對位圖圖像有了了進(jìn)一步了解。實(shí)習(xí)二 編寫線性灰度變換的程序一、實(shí)習(xí)目的和意義熟悉圖像點(diǎn)增強(qiáng)的一般方法,掌握圖像點(diǎn)增強(qiáng)的算法和原理,會(huì)用編程方法實(shí)現(xiàn)其算法。二、實(shí)習(xí)原理和方法點(diǎn)運(yùn)算是指像素值(即像素點(diǎn)上的灰度值)通過運(yùn)算改變之后,可以改善圖象的顯示效果。這是一種像素的逐點(diǎn)運(yùn)算,是舊圖象與新圖象之間的映射關(guān)系,是一種簡單但卻十分有效的一種圖象處理手段。灰度的線性變換就是指圖像的中所有點(diǎn)的灰度按照線性灰度變換函數(shù)進(jìn)行變換。灰度變換方程如下:該方程為線性方程。式中參數(shù) 為輸入圖像的像素的灰度值,參數(shù)為輸出圖像的灰度。二、 實(shí)習(xí)過程和步驟1、 打開實(shí)習(xí)一所建的項(xiàng)目2009302590120;2、 添加菜單項(xiàng)“線性拉伸”;為該菜單項(xiàng)建立消息處理函數(shù);3、 新建線性拉伸對話框,并建立對話框類,為對話框類定義成員變量和成員函數(shù)。4、 在函數(shù)定義處添加自己的源代碼。核心代碼如下:for(i=0;irows;i+)for(j=0;jcols;j+)y=pImgi*rows+j*a+b;if(y255) y=255;pImgi*rows+j=(BYTE)y;5、 編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)灰度線性變換。四、 實(shí)習(xí)結(jié)果分析與評價(jià)本程序能夠?qū)崿F(xiàn)圖像灰度的線性變換。能夠通過圖像灰度的線性變換實(shí)現(xiàn)對圖像的增強(qiáng)處理,掌握了對圖像點(diǎn)處理的原理和方法。實(shí)習(xí)三 編寫局部處理的程序一、實(shí)習(xí)目的和意義熟悉圖像局部處理的一般方法,掌握圖像局部處理的算法和原理,會(huì)用編程方法實(shí)現(xiàn)其算法。二、實(shí)習(xí)原理和方法局部處理在處理某一像素時(shí),利用與該像素相鄰的一組像素,經(jīng)過某種變換得到處理后圖像中某一點(diǎn)的像素值。目標(biāo)像素的鄰域一般是由像素組成的二維矩陣,該矩陣的大小為奇數(shù),目標(biāo)像素位于該矩陣的中央,即目標(biāo)像素就是區(qū)域的中心像素。經(jīng)過處理后,目標(biāo)像素的值為經(jīng)過特定算法計(jì)算后所得的結(jié)果。三、實(shí)習(xí)過程和步驟1、打開項(xiàng)目2009302590120;2、添加菜單項(xiàng)“3x3低通/高通濾波”菜單項(xiàng);3、新建3*3濾波對話框,要求用戶自己選擇濾波算子實(shí)現(xiàn)3*3高通或低通濾波。并建立相應(yīng)的對話框類,為對話框類定義成員變量和成員函數(shù)。4、為菜單項(xiàng)建立消息處理函數(shù);5、在函數(shù)體內(nèi)添加實(shí)現(xiàn)3x3低通/高通濾波的源代碼。核心代碼如下:for(i=1;irows-1;i+)for(j=1;j255) y=255;if(ym_bmpfile.m_pImgDati*cols+j=y;6、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)局部處理算法。四、實(shí)習(xí)結(jié)果分析與評價(jià)先打開一幅圖,點(diǎn)擊 “3*3高通/低通濾波”,彈出對話框,輸入低通濾波算子, 點(diǎn)擊“OK”,得到低通濾波后的圖像,可以看出圖像經(jīng)低通濾波后變得平滑;若使用高通濾波,輸入高通濾波算子,可以看出高通濾波使圖像的邊緣得到增強(qiáng)。用戶還可以根據(jù)需要輸入其它算子進(jìn)行相應(yīng)的濾波運(yùn)算。實(shí)習(xí)四 中值濾波一、實(shí)習(xí)目的和意義熟悉圖像中值濾波原理和快速排序的方法,編程實(shí)現(xiàn)灰度圖像中值濾波功能,探討其去噪特性及其適用性,提高圖像增強(qiáng)處理的技能。二、實(shí)習(xí)原理和方法中值濾波是一種典型的低通濾波器,它的目的是去除噪聲,同時(shí)能保護(hù)圖像邊緣。中值濾波一般采用一個(gè)含有奇數(shù)個(gè)點(diǎn)的滑動(dòng)窗口,將窗口中各點(diǎn)灰度值的中值來代替指定點(diǎn)(一般為窗口中心)的灰度值。對于奇數(shù)個(gè)元素,中值是取窗口中各元素按由小大排序后中間的灰度值;對于偶數(shù)個(gè)元素,一般取排序后中間兩個(gè)元素灰度值的平均值為中值。三、實(shí)習(xí)過程和步驟1、打開項(xiàng)目2009302590120;2、添加菜單項(xiàng)“中值濾波”菜單項(xiàng);3、為菜單項(xiàng)建立消息處理函數(shù);4、在函數(shù)體內(nèi)添加實(shí)現(xiàn)中值濾波的源代碼。for(i=1;irows;i+)for(j=1;jcols;j+)a0=pImg(i-1)*rows+(j-1);a1=pImg(i-1)*rows+j;a2=pImg(i-1)*rows+(j+1);a3=pImgi*rows+(j-1);a4=pImgi*rows+j;a5=pImgi*rows+(j+1);a6=pImg(i+1)*rows+(j-1);a7=pImg(i+1)*rows+j;a8=pImg(i+1)*rows+(j+1);for(s=0;s9;s+)for(t=s+1;tas)y=at;at=as;as=y;y=a4;if(y255) y=255;pDoc-m_bmpfile.m_pImgDati*rows+j=(BYTE)y;5、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)中值濾波算法。四、實(shí)習(xí)結(jié)果分析與評價(jià)打開一幅圖像進(jìn)行中值濾波處理,可見中值濾波處理后圖像變得平滑,能夠起到一定的去噪效果。實(shí)習(xí)五 直方圖均衡化一、實(shí)習(xí)目的和意義熟悉直方圖均衡化的原理和方法,編程實(shí)現(xiàn)直方圖均衡化功能,提高圖像增強(qiáng)處理的技能。二、實(shí)習(xí)原理和方法直方圖均衡化是通過對原圖像進(jìn)行某種變換,使原圖像的灰度直方圖修正為均勻分布的直方圖的一種方法。三、實(shí)習(xí)過程和步驟1、打開所建的項(xiàng)目2009302590120;2、添加菜單項(xiàng)“直方圖均衡化”菜單項(xiàng);3、為新加的菜單項(xiàng)分別建立消息處理函數(shù);4、在函數(shù)體內(nèi)添加實(shí)現(xiàn)直方圖均衡化的源代碼。核心代碼如下:for(i=0;irows;i+)for(j=0;jm_bmpfile.m_pImgDati*cols+j;hgray+;double per256;for(i=0;i256;i+)peri=0.0;for(j=0;j=i;j+)peri+=hj;peri*=(255.0/(double)(rows*cols);for(i=0;irows;i+)for(j=0;jm_bmpfile.m_pImgDati*cols+j;pImgi*cols+j=(int)pergray;5、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)局部處理算法。四、實(shí)習(xí)結(jié)果分析與評價(jià)打開一幅圖像進(jìn)行直方圖均衡化,可見直方圖均衡化后圖像的對比度變大,許多細(xì)節(jié)更加清晰,對應(yīng)的直方圖變得平坦多了。實(shí)習(xí)六 圖像平移一、實(shí)習(xí)目的和意義熟悉圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的一般方法,掌握圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的算法和原理,會(huì)用編程方法實(shí)現(xiàn)其算法二、實(shí)習(xí)原理和方法將圖像中所有的點(diǎn)都按照指定的平移量水平、垂直移動(dòng)。設(shè)(x0,y0)為原圖像上的一點(diǎn),圖像水平平移量tx,垂直平移量為ty,則平移后點(diǎn)(x0,y0)的坐標(biāo)變?yōu)椋▁1,y1)。(x0,y0)與(x1,y1)之間的關(guān)系為:x1=x0+tx;y1=y0+ty;平移后的圖像中每個(gè)像素的顏色是由原圖像中的對應(yīng)點(diǎn)顏色確定。三、實(shí)習(xí)過程和步驟1、打開項(xiàng)目2009302590120;2、添加菜單項(xiàng)“平移”菜單項(xiàng);3、新建平移對話框,要求用戶自己分別輸入X或Y方向的平移量。并建立相應(yīng)的對話框類,為對話框類定義成員變量和成員函數(shù)。4、為菜單項(xiàng)建立消息處理函數(shù);5、在函數(shù)體內(nèi)添加實(shí)現(xiàn)平移的源代碼。for(i=0;irows+y;i+)for(j=0;jcols+x;j+)newbmp.m_pImgDati*(cols+x)+j=255;for(i=0;irows+y;i+)for(j=0;jcols+x;j+)if(i-y)=0)&(j-x)=0)newbmp.m_pImgDati*(cols+x)+j=pDoc-m_bmpfile.m_pImgDat(i-y)*cols+j-x;pDoc-m_bmpfile=newbmp;6、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)平移功能。四、實(shí)習(xí)結(jié)果分析與評價(jià)打開一幅圖像,在彈出的對話框中,分別輸入X、Y方向的平移量,點(diǎn)擊“OK”,可以看到圖像在相應(yīng)的方向上進(jìn)行了平移。實(shí)習(xí)七 圖像旋轉(zhuǎn)、轉(zhuǎn)置一、實(shí)習(xí)目的和意義熟悉圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的一般方法,掌握圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的算法和原理,會(huì)用編程方法實(shí)現(xiàn)其算法二、實(shí)習(xí)原理和方法通常是以圖像的中心為圓心旋轉(zhuǎn),按順時(shí)針方向旋轉(zhuǎn)。旋轉(zhuǎn)前:x0=r*cos(b); y0=r*sin(b);旋轉(zhuǎn)a 角度后:x1=r*cos(b-a)=r*cos(b)*cos(a)+r*sin(b)*sin(a)=x0*cos(a)+y0*sin(a)y1=r*sin(b-a)=r*sin(b)*cos(a)-r*cos(b)*sin(a)=-x0*sin(a)+y0*cos(a)以矩陣的形式表示坐標(biāo)系是以圖像的中心為原點(diǎn),向右為x 軸正方向,向上為y 軸正方向。它和以圖像左上角為原點(diǎn),向右為x 軸正方向,向下為y 軸正方向的坐標(biāo)系之間的轉(zhuǎn)換關(guān)系三、實(shí)習(xí)過程和步驟1、打開所建項(xiàng)目2009302590120;2、添加菜單項(xiàng)“旋轉(zhuǎn)”,“轉(zhuǎn)置”;3、新建旋轉(zhuǎn)對話框,要求用戶自己選擇旋轉(zhuǎn)角度。并建立相應(yīng)的對話框類,為對話框類定義成員變量和成員函數(shù)。4、為該菜單項(xiàng)建立消息處理函數(shù);5、在函數(shù)定義處添加自己的源代碼。旋轉(zhuǎn)核心代碼:double a=dlg.m_ea*PI/180;double sina=sin(a),cosa=cos(a);double Ox=(cols-1)/2,Oy=(rows-1)/2; /中心坐標(biāo)double sx1=-Ox,sy1=Oy, sx2=Ox,sy2=Oy, sx3=-Ox,sy3=-Oy, sx4=Ox,sy4=-Oy; /原圖像四角坐標(biāo)double dx1=cosa*sx1+sina*sy1,dy1=-sina*sx1+cosa*sy1, dx2=cosa*sx2+sina*sy2,dy2=-sina*sx2+cosa*sy2, dx3=cosa*sx3+sina*sy3,dy3=-sina*sx3+cosa*sy3, dx4=cosa*sx4+sina*sy4,dy4=-sina*sx4+cosa*sy4; /新圖四角坐標(biāo)Ncols=(int)(max(abs(dx1-dx4),abs(dx3-dx2)+0.5);Nrows=(int)(max(abs(dy1-dy4),abs(dy2-dy3)+0.5); /定義新的行和列newbmp.CreateBmp(Ncols,Nrows,1);f1=-(Ncols-1)/2*cosa-(Nrows-1)/2*sina+Ox;f2=(Ncols-1)/2*sina-(Nrows-1)/2*cosa+Oy;for(i=0;iNrows;i+)for(j=0;jNcols;j+)newbmp.m_pImgDati*Ncols+j=255;for(i=0;iNrows;i+)for(j=0;j=0&y=0&xm_bmpfile.m_pImgDaty*cols+x;pDoc-m_bmpfile=newbmp;轉(zhuǎn)置核心代碼:for(i=0;iNrows;i+)for(j=0;jNcols;j+)newbmp.m_pImgDati*Ncols+j=pImgj*cols+i;6、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)旋轉(zhuǎn)變換。四、實(shí)習(xí)結(jié)果分析與評價(jià)打開一幅圖像,點(diǎn)擊“旋轉(zhuǎn)”,輸入相應(yīng)的旋轉(zhuǎn)角度,可以看到圖像進(jìn)行了相應(yīng)的旋轉(zhuǎn)變換。同理,點(diǎn)擊“轉(zhuǎn)置”,可以實(shí)現(xiàn)對圖像的轉(zhuǎn)置變換。實(shí)習(xí)八 圖像縮放一、實(shí)習(xí)目的和意義熟悉圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的一般方法,掌握圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的算法和原理,會(huì)用編程方法實(shí)現(xiàn)其算法二、實(shí)習(xí)原理和方法假設(shè)放大因子為ratio,縮放的變換矩陣為:三、實(shí)習(xí)過程和步驟1、打開所建項(xiàng)目2009302590120;2、添加菜單項(xiàng)“縮放”;3、新建縮放對話框,要求用戶自己分別選擇X方向和Y方向的縮放系數(shù),如果用戶不選擇,則默認(rèn)縮放系數(shù)為1,即既不放大也不縮小。并建立相應(yīng)的對話框類,為對話框類定義成員變量和成員函數(shù)。4、為該菜單項(xiàng)建立消息處理函數(shù);5、在函數(shù)定義處添加自己的源代碼。for(i=0;ir;i+)for(j=0;jc;j+)newbmp.m_pImgDati*c+j=255;for(i=0;ir;i+)for(j=0;j=0&y=0&xm_bmpfile=newbmp;6、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)縮放變換。四、實(shí)習(xí)結(jié)果分析與評價(jià)打開一幅圖像,點(diǎn)擊“縮放”,在彈出的縮放對話框中分別輸入X、Y方向的縮放系數(shù),如果用戶不選擇,則默認(rèn)縮放系數(shù)為1,即既不放大也不縮小。然后點(diǎn)擊“OK”,可以看到圖像在相應(yīng)方向上的縮放變換。實(shí)習(xí)九 灰度圖像邊緣檢測一、實(shí)習(xí)目的和意義熟悉圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的一般方法,掌握圖像幾何處理:圖像平移、旋轉(zhuǎn)、縮放的算法和原理,會(huì)用編程方法實(shí)現(xiàn)其算法二、實(shí)習(xí)原理和方法圖像邊緣檢測的原理與局部處理類似,采用卷積算法來實(shí)現(xiàn)。卷積可以簡單地看成加權(quán)求和的過程。卷積時(shí)使用的權(quán)用一個(gè)很小的矩陣來表示,矩陣的大小是奇數(shù),而且與使用的區(qū)域的大小相同。這種權(quán)矩陣叫做卷積核,區(qū)域中的每個(gè)像素分別與卷積核中的每個(gè)元素相乘,所有乘積之和即為區(qū)域中心像素的新值。三、實(shí)習(xí)過程和步驟1、打開所建項(xiàng)目2009302590120;2、添加菜單項(xiàng)“邊緣檢測”“Roberts算子”,“Prewitt算子”,“Sobel算子”,“Laplace算子”,“自定義算子”;3、新建自定義算子對話框,要求用戶自己自己輸入邊緣檢測算子。并建立相應(yīng)的對話框類,為對話框類定義成員變量和成員函數(shù)。4、分別為各種算子菜單項(xiàng)建立消息處理函數(shù);5、分別在函數(shù)定義處添加自己的源代碼。以Roberts算子為例,其核心代碼:for(i=0;irows;i+)for(j=0;j255) y=255;if(ym_bmpfile.m_pImgDati*cols+j=y;6、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)。四、實(shí)習(xí)結(jié)果分析與評價(jià)打開一幅圖像,點(diǎn)擊“邊緣檢測”,選擇相應(yīng)的算子,觀察不同算子對圖像邊緣檢測的效果差異。如果用戶想要自己輸入算子,可以選擇“自定義算子”,在彈出的自定義算子對話框中輸入相應(yīng)的算子即可。實(shí)習(xí)十 圖像二值化一、實(shí)習(xí)目的和意義加深對圖像分割的理解,掌握最簡單圖像分割的原理與方法,提高圖像處理與分析能力與實(shí)際動(dòng)手能力。二、實(shí)習(xí)原理與方法狀態(tài)法(峰谷法):如果一幅灰度圖像的直方圖有雙峰和明顯的谷,那么選擇兩峰之間的谷所對應(yīng)的T作為閾值,對圖像進(jìn)行分割。判斷分析法:假定圖像的灰度區(qū)間為0,L-1,則選擇一閾值T 將圖像的像素分為兩組。顯然,組內(nèi)方差越小,則組內(nèi)像素越相似;組間方差越大,則組間的差別越大。因此為最大值所對應(yīng)的T,就是所求判斷分析法的分割閾值。三、實(shí)習(xí)過程和步驟1、添加菜單項(xiàng)“狀態(tài)法(峰谷法)”,“判斷分析法”,“熵值法”,“自定義閾值”;2、分別為菜單項(xiàng)建立消息處理函數(shù),并在函數(shù)定義處添加自己的源代碼。以狀態(tài)法和判斷分析法為例:狀態(tài)法核心代碼:for(i=0;irows;i+)for(j=0;jcols;j+)int gray=pImgi*cols+j;histgray+;int t,nt=127;for(i=0;t!=nt&i100;i+)t=nt;double p1=0.0,p2=0.0;int s1=0,s2=0;for(j=0;j=t;j+)p1+=(double)(j*histj);s1+=histj;double v1=p1/s1; /閾值左邊的灰度均值for(j=t+1;j=255;j+)p2+=(double)(j*histj);s2+=histj;double v2=p2/s2; /閾值右邊灰度均值nt=(int)(v1+v2)/2);判斷分析法核心代碼:for(i=0;irows;i+)for(j=0;jcols;j+)int gray=pImgi*cols+j;histgray+;int t=0;double MAX=0.0;double P=0.0;int S=0;for(i=1;i256;i+)P+=(double)(i*histi);S+=histi;int s1=0,s2=0;double p1=0.0;double v1,v2,d1,d2,din,dout;double ratio;for(i=1;i256;i+)s1+=histi;if(!s1) continue;s2=S-s1;if(s2=0) break;p1+=(double)(i*histi);v1=p1/s1; /左邊像素均值for(j=1;j=i;j+) /計(jì)算左邊像素間方差/double d1;d1+=(j-v1)*(j-v1)*histj;v2=(P-p1)/s2; /右邊像素均值for(j=i+1;jMAX)MAX=ratio;t=i;4、編譯檢查語法錯(cuò)誤,若編譯通過,運(yùn)行程序,檢查是否能實(shí)現(xiàn)。四、實(shí)習(xí)結(jié)果分析與評價(jià)打開一幅圖像,點(diǎn)擊“二值化”,選擇相應(yīng)的菜單項(xiàng)“狀態(tài)法(峰谷法)”、“判斷分析法”、“熵值法”,可以看到每種方法進(jìn)行二值化得到的閾值以及二值化后圖像效果。如果用戶想自己輸入閾值,可以點(diǎn)擊菜單項(xiàng)“自定義閾值”,在彈出的對話框中輸入閾值(0到255),可以得到相應(yīng)的二值化圖像。實(shí)習(xí)十一 模板匹配一、實(shí)習(xí)目的和意義加深對圖像目標(biāo)識(shí)別方法的理解與應(yīng)用,掌握模板匹配的基本算法,啟發(fā)學(xué)生深入研究圖像識(shí)別

溫馨提示

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

最新文檔

評論

0/150

提交評論