圖像灰度變換程序設計_第1頁
圖像灰度變換程序設計_第2頁
圖像灰度變換程序設計_第3頁
圖像灰度變換程序設計_第4頁
圖像灰度變換程序設計_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1度變換(Gray-ScaleTransformation,GST)處理是圖像增強1度變換(Gray-ScaleTransformation,GST)處理是圖像增強處理技術中一種非常基礎、直(a′,b′g(x,yT[f(x,yD'T(Dg(x,y)T[f(x,y22.112-11與g(x,y)=T[f(x,y)]=af(x,y)+a=1且b0時,是所有圖像的灰度值上移或下移,其效果是使整個圖像更暗當a=1且b=0時,輸出圖像和輸入圖像相同;2.21當圖像中大部分像素的灰度級在[L,U]LU的區域強 0255。盡管將會造成一部分信息丟失,不過有時為了某種應用,做這種“犧0;大于該窗口255。窗口灰度變換處理結合了雙固定閾值法,與其不同之處在1用戶的需要,拉伸特征物體的灰度細節,相對抑制不感興趣的灰度級。圖中的1用戶的需要,拉伸特征物體的灰度細節,相對抑制不感興趣的灰度級。圖中的2-3x1x2y1y2之間。通過選1r代表圖像中像素的灰度級,如果對它做歸一化處理,r的值將在下述范圍r代表圖像中像素的灰度級,如果對它做歸一化處理,r的值將在下述范圍圖像的灰度分布。對數字圖來說,灰度級看成是離散的,歸一化后的r取值范圍為:(1)在[0,1]區間內是單值單調增加函數2由Pr(r)求出,變換后的圖像灰度級的概率密度函數Ps(s)可由下式得到:或2(2)i從1開始,令s[i]=s[i-1]+p[i];1234.1134.11voidHuiDuBianHuanDib::FanSeBianHuan()//對圖像進行反色變換{ intp_data=this->GetDatawide=this->GetWidth();height=this->GetHeight();for(int{unsignedchar *(p_data+i)=255-}}/*函數名稱:Chuangkoubianhuan(BYTEblow,BYTE/*變量說明:blowbupvoidHuiDuBianHuanDib::Chuangkoubianhuan(BYTEbLow,BYTEbUp){//intint//LPBYTE//DIBint//LPBYTE//DIB wide=this->GetWidth();height=this->GetHeight();//for(i=0;i<height;{//for(j=0;j<wide;{//DIBi行,第jlpSrc=(LPBYTE)p_data+wide*(height-1-i)+//if((*lpSrc)<{//*lpSrc=}elseif((*lpSrc)>{//*lpSrc=}}}}/*函數名稱:Zhexianbianhuan(BYTEbX1,BYTEbY1,BYTEbX2,BYTEbY1折點一的變換灰度;bY2voidHuiDuBianHuanDib::Zhexianbianhuan(BYTEbX1,BYTEbY1,BYTEbX2,voidHuiDuBianHuanDib::Zhexianbianhuan(BYTEbX1,BYTEbY1,BYTEbX2,BYTE{//intintwide; p_data=this->GetDatawide=this->GetWidth();LPBYTEtemp=new////for(i=0;i<=bX1; //[0——{if(bX1>0){//bMap[i]=(BYTE)bY1*i/}{//bMap[i]=}}for(;i<=bX2;{//(X1——if(bX2!=bX1){//bMap[i]=bY1+(BYTE)((bY2-bY1)*(i-bX1)/(bX2-}{bMap[i]=bY1;}}for(;i<256;}for(;i<256;{//(X2——if(bX2!=255){//bMap[i]=bY2+(BYTE)((255-bY2)*(i-bX2)/(255-}{//bMap[i]=}}{(m_pBitmapInfoHeader-//for(i=0;i<height;i{for(j=0;j<wide;j{//對像素進行灰度映射處理unsignedcharTtemp[wide*ij];temp[wide*i+j]=bMap[T];}}memcpy(p_data,}{//24temp=newBYTE[wide*height];//for(i=0;i<height;i{for(j=0;j<wide;j{//對像素進行灰度映射處理unsignedcharTtemp[wide*ij];temp[wide*i+j]=bMap[T];}}memcpy(p_data,}}memcpy(p_data,}}voidHuiDuBianHuanDib::Fenbujunhenghua(){循環變量LONGi;LONGj;LONGwide;LONGheight;//float//intnNs_R[256],nNs_G[256],nNs_B[256];//memset(temp_r,0,memset(temp_g,0,memset(temp_b,0,//DIBLPBYTEDIB圖像象素起始位置p_data=this->GetData();wide=this->GetWidth();DIBheight=if(m_pBitmapInfoHeader-{////for(i=0;i<256;{if(i=={temp_r[0]=}{temp_r[i]=temp_r[i-1]+temp_r[0]=}{temp_r[i]=temp_r[i-1]+}nNs_R[i]=(int)(255.0f*temp_r[i]+}}{//24////for(i=0;i<256;{if(i=={temp_r[0]=fPs_R[0];temp_g[0]=fPs_G[0];temp_b[0]=}{temp_r[i]=temp_r[i-1]+fPs_R[i];temp_g[i]=temp_g[i-1]+fPs_G[i];temp_b[i]=temp_b[i-1]+}nNs_R[i]=(int)(255.0f*temp_r[i]+0.5f);nNs_G[i]=(int)(255.0f*temp_g[i]+0.5f);nNs_B[i]=(int)(255.0f*temp_b[i]+0.5f);}}if(m_pBitmapInfoHeader-{//for(j=0;j<height;j{for(i=0;i<wide;i{//DIBunsignedchartemp=*((unsignedchar*)p_data+wide*j+*((unsignedchar*)p_data+wide*j+i)=}}}{//24//for(j=0;j}}{//24//for(j=0;j<height;j{for(i=0;i<wide;i{//DIBunsignedchartemp1=*((unsignedchar*)p_data+wide*j*3+*((unsignedchar*)p_data+wide*j*3+i*3)=nNs_R[temp1];unsignedchartemp2=*((unsignedchar*)p_data+wide*j*3+i*3+1);*((unsignedchar*)p_data+wide*j*3+i*3+1)=nNs_G[temp2];unsignedchartemp3=*((unsignedchar*)p_data+wide*j*3+i*3+2);*((unsignedchar*)p_data+wide*j*3+i*3+2)=}}}}int{return}/*函數名稱:Pipeibianhuan(BYTEbNum,intnpNuvoidHuiDuBianHuanDib::Pipeibianhuan(BYTEbNum,int*npNu,float*fpPu){循環變量LONGi;LONGj;LONGwide;//int//int//float//float//DIBLPBYTEDIB圖像象素起始位置p_data=this->GetData();wide=this->GetWidth();DIBheight=if(m_pBitmapInfoHeader-{//////for(i=0;i<256;{if(i=={temp[0]=}{temp[i]=temp[i-1]+}gailu[i]=}//for(i=0;i<bNum;{if(i=={temp[0]=}{temp[i]=temp[i-1]+}fpPu[i]=}//for(i=}//for(i=0;i<256;{//intm_r=//floatmin_value_r=//for(j=0;j<bNum;{//floatnow_value= if(gailu[i]-fpPu[j]>=0.0f)now_value=gailu[i]-fpPu[j];now_value=fpPu[j]-//if(now_value<{//m_r=//min_value_r=}}//midu[i]=}for(j=0;j<height;j{for(i=0;i<wide;i{//unsignedchartemp=*((unsignedchar*)p_data+wide*j+*((unsignedchar*)p_data+wide*j+i)=}}}{//24//////for////for(i=0;i<256;{if(i=={temp[0]=gailu[0];temp3[0]=}{temp[i]=temp[i-1]+gailu[i];temp2[i]=temp2[i-1]+gailu2[i];temp3[i]=temp3[i-1]+}gailu[i]=temp[i];gailu2[i]=temp2[i];gailu3[i]=}for(i=0;i<bNum;{if(i=={temp[0]=}{temp[i]=temp[i-1]+}fpPu[i]=}//for(i=0;i<256;{//intm_r=0;intm_g=0;intm_b=//floatmin_value_r//floatmin_value_r=1.0f;floatmin_value_g=1.0f;floatmin_value_b=//for(j=0;j<bNum;{//floatnow_value= if(gailu[i]-fpPu[j]>=0.0f)now_value=gailu[i]-fpPu[j];now_value=fpPu[j]-//if(now_value<{//m_r=//min_value_r=} if(gailu2[i]-fpPu[j]>=0.0f)now_value=gailu2[i]-fpPu[j];now_value=fpPu[j]-//if(now_value<{//m_g=//min_value_g=} if(gailu3[i]-fpPu[j]>=0.0f)now_value=gailu3[i]-fpPu[j];now_value=fpPu[j]-//if(now_value<{//m_b=//min_value_b=}}//建立灰度映射表m_b=//min_value_b=}}//建立灰度映射表midu[i]=npNu[m_r];midu2[i]npNu[m_g];midu3[i]}//for(j=0;j<height;j{for(i=0;i<wide;i{//unsignedchartemp=*((unsignedchar*)p_data+wide*j*3+*((unsignedchar*)p_data+wide*j*3+i*3)=unsignedchartemp2=*((unsignedchar*)p_data+wide*j*3+*((unsignedchar*)p_data+wide*j*3+i*3+1)=midu[temp2];unsignedchartemp3=*((unsignedchar*)p_data+wide*j*3+i*3+2);*((unsignedchar*)p_data+wide*j*3+i*3+2)=}}}}4.2void{inti;//CDibNew1-// dlg2=new//for(i=0;i<256;dlg2=new//for(i=0;i<256;dlg2->m_fIntensity[i]=if(CDibNew1->m_pBitmapInfoHeader-{CDibNew1-}{//24CDibNew1-}}2void{inti;//CDibNew1-//創建對話框 //for(i=0;i<256;dlg2->m_fIntensity[i]=////////dlg.m_bLow=dlg.m_bUp=//if(dlg.DoModal()!=////////dlg.m_bLow=dlg.m_bUp=//if(dlg.DoModal()!={//}//bUp=dlg.m_bUp;//delete//調用WindowTrans()函數進行窗口變換{CDibNew1-}{//24CDibNew1-}}void{inti;//CDibNew1-void{inti;//CDibNew1-//創建對話框 //for(i=0;i<256;dlg2->m_fIntensity[i]=//CDlgZhexianbianhuan//1//2//dlgPara.m_bX1=dlgPara.m_bY1=dlgPara.m_bX2=dlgPara.m_bY2=//if(dlgPara.DoModal()!={//}//獲取用戶的設定bX2bY2=//delete//獲取用戶的設定bX2bY2=//delete (CDibNew1->m_pBitmapInfoHeader-{Zhexianbianhuan()函數進行灰度拉伸CDibNew1->Zhexianbianhuan(}{//24Zhexianbianhuan()函數進行灰度拉伸CDibNew1->Zhexianbianhuan(}}4void{inti;//CDibNew1-//創建對

溫馨提示

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

評論

0/150

提交評論