一種細(xì)化算法及其與opencv的實現(xiàn)_第1頁
一種細(xì)化算法及其與opencv的實現(xiàn)_第2頁
一種細(xì)化算法及其與opencv的實現(xiàn)_第3頁
一種細(xì)化算法及其與opencv的實現(xiàn)_第4頁
一種細(xì)化算法及其與opencv的實現(xiàn)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一種細(xì)化算法及其與 opencv 的實現(xiàn) 是根據(jù)圖像中像素點得八個相鄰點得情況,得到一個索 引值,然后查表,如果為 0 怎保留該點,否則刪除 算法代碼: cpp view plaincopy #include stdafx.h #include cv.h #include highgui.h #include cxcore.h #includeiostream #includefstream #includeiomanip using namespace std; static int erasetable256 = 0,0,1,1,0,0,1,1, 1,1,0,1,1,1,0,1, 0,0,

2、1,1,0,0,1,1, 1,1,0,0,1,1,1,1, 1,1,0,0,1,1,0,0, 0,0,0,0,0,0,0,0, 1,1,0,0,1,1,0,0, 0,0,0,0,0,0,0,0, 0,0,1,1,0,0,1,1, 1,1,0,0,1,1,1,1, 0,0,1,1,0,0,1,1, 1,1,0,0,1,1,1,1, 1,1,0,0,1,1,0,0, 1,1,0,0,1,1,1,1, 1,1,0,0,1,1,0,0, 1,1,0,0,1,1,1,0, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0

3、, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,0, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,1, 1,1,0,1,1,1,0,1, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 1,1,0,1,1,1,0,0, 1,1,0,0,1,0,0,0 0 則保留, fan ;/ 這個表是檢測是用來細(xì)化黑色點邊緣的,若為 否則刪除,如果用來細(xì)化白色點邊緣的話就取 /* * *888 函數(shù)名: save 參數(shù)類型: void 功能:保存細(xì)化查詢表 * * void save() fstream writefi

4、le(erasetable.txt , ios:out); int n=0; for(int i=0;i256;i+) writefilesetw(2)erasetablei; writefileendl; /* *88 函數(shù)名: npow 參數(shù)類型: int n 功能:求 2 的 n 次方并返回結(jié)果 返回值類型: int * */ int npow(int n) int mul = 1; for(int i=0;in;i+) mul *= 2; return mul; /* * 函數(shù)名: Threshold 參數(shù)類型: IplImage *src , int lower , int high

5、er 功能:二值化灰度圖像 * */ void Threshold(IplImage *src , int lower , int higher) assert(src-nChannels=1); for(int h=0;hsrc-height;h+) for(int w=0;wsrc-width;w+) if(*(src-imageData +h*src-widthStep+w)0*(src-imageD ata+h*src-widthStep+w)87) *(src-imageData +h*src-widthStep+w) = 255; else *(src-imageData +h*s

6、rc-widthStep+w) = 0; /* *8 函數(shù)名: scantable 參數(shù)類型: IplImage *src 功能:掃描像素 8 領(lǐng)域周圍的八個像素值(只檢測白色點得 周圍),像素值為 0置 1,否則為 0,并保存(如果是檢測黑 色的周圍的話就相反) , 再根據(jù)得到的數(shù),將得到的數(shù)看做一個二進(jìn)制數(shù)化為十進(jìn)制 的數(shù),這個值即為查詢索引,如果查到的值為 0 則保留,否 則刪除 * */ void scantable(IplImage *src) assert(src-nChannels=1); int scan8 = 0; for(int h=1;h(src-height-1);h+

7、) for(int w=1;w(src-width-1);w+) int index = 0; if(*(src-imageData+(h)*src-widthStep+w)!=0) if(*(src-imageData+(h-1)*src-widthStep+w-1)=0) scan0 = 1; else scan0 = 0; if(*(src-imageData+(h-1)*src-widthStep+w)=0) scan1 = 1; else scan1 = 0; if(*(src-imageData+(h-1)*src-widthStep+w+1)=0) scan2 = 1; else

8、 scan2 = 0; if(*(src-imageData+(h)*src-widthStep+w-1)=0) scan3 = 1; else scan3 = 0; if(*(src-imageData+(h)*src-widthStep+w+1)=0) scan4 = 1; else scan4 = 0; if(*(src-imageData+(h+1)*src-widthStep+w-1)=0) scan5 = 1; else scan5 = 0; if(*(src-imageData+(h+1)*src-widthStep+w)=0) scan6 = 1; else scan6 = 0

9、; if(*(src-imageData+(h+1)*src-widthStep+w+1)=0) scan7 = 1; else scan7 = 0; for(int i=0;i8;i+) index += scani*npow(i); / printf(%dn ,index); if(erasetableindex = 1) /printf(%dn , erasetableindex); *(src-imageData+h*src-widthStep+w) = 0; int _tmain(int argc, _TCHAR* argv) save(); IplImage *img = 0; I

10、plImage *gray = 0; IplImage *copy_gray = 0; int vmin = 0; int vmax = 0; img = cvLoadImage(1.bmp , 1); gray = cvCreateImage(cvGetSize(img) , 8 , 1); copy_gray = cvCreateImage(cvGetSize(img) , 8 ,1); cvCvtColor(img , gray , CV_BGR2GRAY); cvSmooth(gray , gray , CV_MEDIAN , 3 , 0 , 0 , 0); cvNamedWindow(gray , 1); cvNamedWindow(erase , 1); /cvCreateTrackbar(lower , gray , vmin , 256 , 0); /cvCreateTrackbar(higher , gray , vmax , 256 , 0); Threshold(gray , vmin , vmax); cvCopy(gray , copy_gray); scantable(copy_g

溫馨提示

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

評論

0/150

提交評論