freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的圖像邊緣檢測算法的研究與比較畢業(yè)論文(編輯修改稿)

2025-07-20 18:43 本頁面
 

【文章內(nèi)容簡介】 身的資源進行編輯。(3)C/C++編譯器:Visual C++的編譯器可以處理C和C++源代碼,它通過源代碼文件后綴來識別代碼本身所使用的語言。(4)連接器:為了生成EXE文件,Visual C++的連接器需要對編譯器所生成的OBJ文件進行處理。(5)資源編譯器:在編譯狀態(tài)和聯(lián)編狀態(tài)都要用到資源編譯器。(6)調(diào)試器:為了能夠?qū)Τ绦蜻M行調(diào)試,在創(chuàng)建程序時必須設(shè)置編譯器和連接器相應(yīng)的選項以便產(chǎn)生相應(yīng)的可調(diào)試信息。(7)AppWizard:它會按照用戶通過對話框指定的特性、類名及源代碼文件名來產(chǎn)生Windows應(yīng)用的工作構(gòu)架。(8)ClassWizard:能夠給出原型、函數(shù)體以及將消息同應(yīng)用框架相聯(lián)系的相應(yīng)代碼。(9)源程序瀏覽器:能夠使人們從類或函數(shù)的角度來了解程序。(10)聯(lián)機幫助:有關(guān)WindowsSDK參考手冊及類庫參考手冊的全部內(nèi)容都包含在Visual C++的聯(lián)機幫助中。(11)Windows診斷工具:用于對手工編制的make文件進行處理的NMAKE程序。結(jié)束開始編譯源代碼編譯編譯錯誤鏈接鏈接錯誤運行程序運行時錯誤?是否是是否否 VC++運行流程圖 VC++與matlab的比較Matlab比較適合于做研究,因為它提供了大量的算法庫,只用寫簡簡單單的幾句代碼就可以完成某一算法或者某一功能,因此對于算法研究它具有較好的優(yōu)勢。同時它也提供了接口供VC使用,并且Matlab的開發(fā)速度比較快,見效也比較快,也比較容易實現(xiàn)。但是,如果你要寫應(yīng)用程序的話,最好用VC,不要用Matlab,也不要和Matlab集成,然后自己完成所有的算法,這樣便于后續(xù)的擴展,在構(gòu)建應(yīng)用程序的時候也非常方便,而且還可以不斷升級以適應(yīng)更加復(fù)雜的情況,使用起來也更加靈活。VC本來就是一個功能很強大的軟件,可以完成幾乎所有的事情。缺點就是開發(fā)進度比較慢,特別是對于初學(xué)者來說,需要一段時間來適應(yīng)VC的開發(fā)環(huán)境和開發(fā)理念,如果以后要跨平臺了,實現(xiàn)起來也是很容易的。主要看做圖像處理的目的了,是研究用還是做項目用!如果做項目用,那就用VC。本次畢業(yè)設(shè)計主要用VC來實現(xiàn)數(shù)字圖像邊緣檢測算法,原因主要有二:一是VC使用C++語言來實現(xiàn)的,C++語言與Java和C相比在程序運行效率、內(nèi)存使用可控性、編程靈活性上都具有優(yōu)勢;二是VC是注重應(yīng)用的,這將為今后的工作在項目的研發(fā)上打下良好的基礎(chǔ)。第四章 邊緣檢測算子的編程實現(xiàn)通過VC來實現(xiàn)邊緣檢測算子的功能,先對Roberts算子、Sobel算子、Prewitt算子進行函數(shù)定義,然后再進行函數(shù)調(diào)用,從而達到邊緣檢測的不同效果。 程序運行界面每種算子都是在此界面下進行功能實現(xiàn)的,左半邊顯示原圖,右半邊實現(xiàn)邊緣檢測的實現(xiàn)結(jié)果。 Roberts算子程序及結(jié)果實現(xiàn)步驟:(1)取得原圖的數(shù)據(jù)區(qū)指針(2)開辟一個和原圖相同大小的圖像緩沖區(qū),并設(shè)定新圖像初值為全白(255)(3)每個像素依次循環(huán),用Roberts邊緣檢測算子分別計算圖像中各點灰度值,對它們先求平方之和;再開方;將緩沖區(qū)中的數(shù)據(jù)復(fù)制到原圖數(shù)據(jù)區(qū)。編程實現(xiàn):函數(shù)名稱:Roberts()函數(shù)類型:void功能:用羅伯特算子對圖像進行邊緣檢測void BianYuanJianCedib::Robert{ LPBYTE p_data。 //原圖數(shù)據(jù)區(qū)指針 int wide ,height。 //原圖高、寬 int i,j。 //循環(huán)變量 int pixe[4]。 // Roberts算子p_data=thisGetdata()。wide=thisGetWidth()。height=thisGetheight()。LPBYTE temp=new BYTE[wide*height]。 //新圖像緩沖區(qū)//設(shè)定新圖像初值為255Memset(temp,255, wide*height)//由于使用22的模板,為防止越界,所以不處理最下邊兩行和最右邊的兩列像素for(j=0。jheight1。j++)for(i=0。jwide1。i++){//生成Roberts算子pixel[0]=p_data[j*wide+i]。pixel[1]=p_data[j*wide+i+1]。pixel[2]=p_data[(j+1)*wide+i]。pixel[3]=p_data[(j+1)*wide+i+1]。//處理當(dāng)前像素temp[j*wide+i]=(int)sqrt((pixel[0]pixel[3])*(pixel[0]pixel[3])+(pixel[1]pixel[2])*(pixel[1]pixel[2]))}//將緩沖區(qū)中的數(shù)據(jù)復(fù)制到原圖數(shù)據(jù)區(qū)memcpy(p_data,temp, wide*height)。//刪除緩沖區(qū)Delete temp;}調(diào)用程序:void CDynSplitView2::OnRobert() { clearmem()。 CDibNew1Robert()。 //調(diào)用Robert算子檢測處理函數(shù) Invalidate()。}實現(xiàn)結(jié)果: Robert算子實現(xiàn)結(jié)果 Sobel算子程序及結(jié)果實現(xiàn)步驟:(1)取得原圖像的數(shù)據(jù)區(qū)指針(2)開辟兩個和原圖相同大小的圖像緩沖區(qū),將原圖復(fù)制到兩個緩沖區(qū)(3)分別設(shè)置Sobel邊緣檢測算子的兩個模板,調(diào)用Templat()模板函數(shù)分別對兩個緩沖區(qū)的圖像進行卷積運算;(4)兩個緩沖圖像每個像素依次循環(huán),取兩個緩沖中各個像素灰度值較大者(5)將緩沖區(qū)的圖像復(fù)制到原圖數(shù)據(jù)區(qū)編程實現(xiàn):卷積:函數(shù)名稱:Templat(BYTE *m_pdata,int wide,int height,int tempH,int tempW,int tempMX,int tempMY,float *fpArray,float fCoef)函數(shù)類型:void參數(shù):BYTE*m_pdata,指向DIB圖像指針 int wide, 原圖像寬度 int height,原圖像高度 int tempH, 模板高度 int tempW, 模板寬度 int tempMX,模板的中心元素X坐標(biāo)(tempW1)int tempMY, 模板的中心元素Y坐標(biāo)(tempH1)float*fpArray,指向模板數(shù)組的指針float fCoef,模板系數(shù)返回值:處理成功返回true;處理失敗返回flase功能:用指定模板對圖像進行操作void BianYuanJianCedib:: Templat(BYTE *m_pdata,int wide,int height,int tempH,int tempW,int tempMX,int tempMY,float *fpArray,float fCoef){ int i,j,k,l。 //循環(huán)變量 BYTE*temp=new BYTE[wide*height]。 //新圖像緩沖區(qū)//初始化新圖像為原圖像memcpy(temp,m_pdata,wide*height)。float fResult。 //像素值計算結(jié)果for(j=tempMY。jheighttempH+tempMY+1。j++)for(j=tempMX。jheighttempW+tempMX+1。i++){//計算像素值fResult=0。for(k=0。ktempH。k++)for(l=0。ltempW。l++)fResult= fResult+m_pdata[(jtempMY+k)*wide+(itempMX+1)]*fpArray[k*tempW+1]。//乘上系數(shù)fResult*=fCoef。//取絕對值fResult=(float)fabs(fResult)。//判斷是否超過255if(fResult255)//若超過255,直接賦值為255temp[j*wide+i]=255。else//未超過255,賦值為計算結(jié)果 temp[j*wide+i]=(int)(fResult+)。}memcpy(m_pdata,temp,wide*height)。 //復(fù)制處理后的圖像delete temp。}sobel水平和垂直邊緣檢測函數(shù)名稱:Sobel()函數(shù)類型:void功能:用So
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1