![VC++數(shù)字圖像處理源程序及詳解之5(灰度拉伸)_第1頁](http://file4.renrendoc.com/view/fb95554c8fa93a98c610cc1c545f08eb/fb95554c8fa93a98c610cc1c545f08eb1.gif)
![VC++數(shù)字圖像處理源程序及詳解之5(灰度拉伸)_第2頁](http://file4.renrendoc.com/view/fb95554c8fa93a98c610cc1c545f08eb/fb95554c8fa93a98c610cc1c545f08eb2.gif)
![VC++數(shù)字圖像處理源程序及詳解之5(灰度拉伸)_第3頁](http://file4.renrendoc.com/view/fb95554c8fa93a98c610cc1c545f08eb/fb95554c8fa93a98c610cc1c545f08eb3.gif)
![VC++數(shù)字圖像處理源程序及詳解之5(灰度拉伸)_第4頁](http://file4.renrendoc.com/view/fb95554c8fa93a98c610cc1c545f08eb/fb95554c8fa93a98c610cc1c545f08eb4.gif)
![VC++數(shù)字圖像處理源程序及詳解之5(灰度拉伸)_第5頁](http://file4.renrendoc.com/view/fb95554c8fa93a98c610cc1c545f08eb/fb95554c8fa93a98c610cc1c545f08eb5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1)1)9.5灰度拉伸本節(jié)介紹灰度拉伸的和關(guān)知識,它是改變圖像對比度的常用方法。9.5.1基本原理由于環(huán)境光線或采集設(shè)備等原因,圖像的灰度有時會集中于某一較小像過亮或過暗等,這時就需要對圖像的灰度進(jìn)行拉伸使之覆蓋較人張從而提高圖像的對比度以便丁觀察。這種處理就可以利用線性變換曲:映射來完成?;叶壤靵V叫做對比度拉伸,它與線性變換有些類似,不同之處在匚使用的是分段線性變換,所以它最大的優(yōu)勢是變換函數(shù)可以由用戶度拉伸的公式為:其變換函數(shù)的圖形如圖9-27所示。255輸出灰強(qiáng)值.(產(chǎn)W滿謝輸入mth.x圖9-27灰度拉伸函數(shù)的圖形可見,灰度拉伸需要指定兩個控制點(diǎn),它們用于控制灰度拉伸變換屈一般情況下
2、有心尸2三口成立。正如其名,灰度拉伸常用于擴(kuò)展:圍,以改善圖像質(zhì)量。接下來通過討論控制點(diǎn)來分析灰度拉伸的作兒圖9-28利用灰度拉伸增加圖像的對比度從圖9-28中可以明顯發(fā)現(xiàn)原始圖像的對比度較低,其灰度分布主要纟150的范圍內(nèi)。經(jīng)過(50,20)、(150,230)兩個控制點(diǎn)的灰度拉灰度分布范圍被拉伸了,達(dá)到了20230,圖像的對比度人大增加,;果得到加強(qiáng)。2)即中間線段的斜率小于1,作用與上一條剛好和反,用于降低圖像由如圖9-29所示。圖9-29利用灰度拉伸降低圖像的對比度9-29圖中的原始圖像對比度較高,但是經(jīng)過控制點(diǎn)為(20,50)、(2灰度拉伸后,圖像的灰度分布基本被丿*縮在50120之
3、間。變換后的這也是一種特殊情況,此時變換函數(shù)變?yōu)殚撝岛瘮?shù),產(chǎn)生二值圖像,節(jié)。9.5.2編程實(shí)現(xiàn)灰度拉伸函數(shù)下面的函數(shù)實(shí)現(xiàn)了圖像的灰度拉伸變換。qg廠g廠gg廠廠彳kzXx作用:灰度拉仲函數(shù)參數(shù):pixel:原始像素?cái)?shù)組tempPixel:保存變換后圖像的像素?cái)?shù)組width:原始圖像寬度XI,Y1:控制點(diǎn)1的坐標(biāo)X2,Y2:控制點(diǎn)2的坐標(biāo)xXxXxXxXxXxXxXxX廣、*廣r*廣*廣*廣廣r*廣*、*,、*,、,、*,、*,、,、廠刁*/voidGrayStretch(BYTE*pixel,BYTE*tempPixel,UIXTwidth,UIfloatXI,floatYl,floatX2,
4、floatY2)/映射表,用于256種灰度變換后的值/如果在第一條直線上pCP1)if(x0.0001)dTemp=(float)Y1/(float)XI*x;elsedTemp=0;/如果在第二條直線上elseif(x0.0001)dTemp=(float)(Y2-Yl)/(float)(X2-XI)+Yl;elsedTemp=x;/如果在第三條直線上1)elsedTemp=255;/四舍五入mapx二int(dTemp+0.5);/變換后的值臣接在映射表中查找for(UINTi=0;iwidth*height;i+)intx=pixeli*4;tempPixeli*4=tempPixeli
5、*4+l=tempPixeli*4+2tempPixeli*4+3=255;lf灰度拉伸對話框本節(jié)利用對話框?qū)崿F(xiàn)灰度拉伸的功能,對話框效果如圖9-29所示。,文本框中修改兩個控制點(diǎn)的坐標(biāo),或者亙接利用鼠標(biāo)拖動預(yù)覽框中的!制點(diǎn)。下面完成該對話框的設(shè)計(jì)。打開MagicHouse項(xiàng)冃,添加一個新的對將其ID改名為IDDJTRETCH,然后創(chuàng)建對話框類CStretchDlgo最后林和表9-5完善灰度拉伸對話框。圖9-30灰度拉伸對話框的設(shè)計(jì)表9-5灰度拉伸對話框資源與變量的關(guān)系編號資源類型資源ID關(guān)聯(lián)變量類型稱1圖片控件IDC.PREVCStaticT1S2文本框IDCPOINTONEXfloatnc
6、MH*3文本框IDCPOINTONE_Yfloatnc4文本框IDCPOINTTWO_Xfloatn_c5文本框IDCPOINTTWOYfloatnc3.代碼分析灰度拉伸對話框的實(shí)現(xiàn)難點(diǎn)是如何利用鼠標(biāo)改變兩個控制點(diǎn)。理解,這里使用流程圖的方式解釋,流程圖如圖9-31所示。圖9-31拖動的響應(yīng)流程圖由此可見,灰度拉伸對話框是依靠mbisDraging與mnPointType扌否為拖動操作的。如果滿足條件,由OnMouseMove函數(shù)完成拖動操作金最后更新預(yù)覽框。#includePreviewDlg.h/CStretchDlg對話框classCStretchDlg:publicCDialog/:-
7、Pl前操作控制點(diǎn)類型enumPointTypePTNJLL,PT_P0INT_0NE,PTPOINTTWO;DECLAREMESSAGEMAP()DECLAREDYNAMIC(CStretchDlg)public:CStaticmstiPrev;floatm_dPsXl;floatmdPsYl;floatmdPsX2;floatmdPsY2;i土afx_msgvoidOnPaint();afxmsgvoidOnEnChangePointoneX();的響應(yīng)函數(shù)afxmsgvoid的響應(yīng)函數(shù)OnEnChangePointoneY();afxmsgvoidOnEnChangePointtwoXO;
8、的響應(yīng)函數(shù)afxmsgvoid的響應(yīng)函數(shù)OnEnChangePointtwoY();/重新繪制對話彳/改變控制點(diǎn)11/改變控制點(diǎn)11/改變控制點(diǎn)2/改變控制點(diǎn)2afxmsgvoidOnMouseMove(UINTnFlags,CPointpoint);/鼠標(biāo)移動時響【afxmsgvoidOnLButtonD()wn(UINTnFlags,CPointpoint);/按下鼠標(biāo)左鍵*afxmsgvoidOnLButtonUp(UINTnFlags,CPointpoint);/釋放鼠標(biāo)左鍵afx_msgBOOLOnSetCursor(CWnd*pWnd,UINTnllitTest,UINT/設(shè)置鼠標(biāo)光標(biāo)afxmsgvoidOnBnClickedSave();/“保存”按鈕i土i土/“確定”按鈕afxmsgvoidOnBnClickedOkO;protected:virtualvoidDoDataExchdnge(CDataExchange*pDX);/Iboolm_bIsDraging;/是否正在拖動扌intmnPointType;/半前操作控制丿/對話框數(shù)據(jù)enumIDD=IDD_STRETCH;i土i土由于篇幅有限,這里不再給出Stretc
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年制動帶項(xiàng)目可行性研究報(bào)告
- 別墅房屋轉(zhuǎn)讓合同范本
- 產(chǎn)品訂購合同范本模板
- 凈化工程合同范本
- 企業(yè)食堂經(jīng)營合同范本
- 如何推動專家型校長的成長
- 農(nóng)村屋瓦收購合同范本
- 買汽車有合同范本
- 使用權(quán)銷售合同范例
- 2025年度智能農(nóng)業(yè)管理系統(tǒng)開發(fā)與應(yīng)用合同
- 多學(xué)科視域中的歷史動物研究綜述
- 知名企業(yè)建筑工程抹灰工程標(biāo)準(zhǔn)規(guī)范圖示手冊
- 診所信息保密和安全管理制度
- 重大事故隱患排查治理
- 部編版語文一年級下冊第一單元教材解讀
- 護(hù)士臨床護(hù)理組長
- 2025保安部年度工作計(jì)劃
- 寵物貓護(hù)理教學(xué)
- 2024年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫
- 圖書借閱登記表
- 2024年重慶市公務(wù)員錄用考試《行測》真題及解析
評論
0/150
提交評論