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

正文內(nèi)容

【論文】基于通信新技術(shù)平臺(tái)的圖像處理的實(shí)現(xiàn)-資料下載頁(yè)

2025-06-24 06:26本頁(yè)面
  

【正文】 w::OnZftJh() { CClientDC pDC(this)?!DC hDC=()。//獲取當(dāng)前設(shè)備上下文的句柄; SetStretchBltMode(hDC,COLORONCOLOR)?!DibDoc *pDoc=GetDocument()。 HDIB hdib?!dib=pDocGetHDIB()?!ITMAPINFOHEADER *lpDIBHdr。//位圖信息頭結(jié)構(gòu)指針; BYTE *lpDIBBits。//指向位圖像素灰度值的指針; lpDIBHdr=( BITMAPINFOHEADER *)GlobalLock(hdib)。//得到圖像的位圖頭信息lpDIBBits=(BYTE*)lpDIBHdr+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD)。 file://獲取圖像像素值  float p[256],p1[256],num[256]?!nt i,j,k?!or(i=0。i256。i++)//清空三個(gè)數(shù)組。 { num[i]=?! [i]=?! 1[i]=。 } file://num[]存放圖象各個(gè)灰度級(jí)出現(xiàn)的次數(shù)?!nt Height=lpDIBHdrbiHeight?!nt Width=lpDIBHdrbiWidth?!or(i=0。iHEIGHT。I++)  for(j=30。jWIDTH20。J++)  {   num[*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)]++。  }  file://p[]存放圖像各個(gè)灰度級(jí)的出現(xiàn)概率;  for(i=0。i256。i++)  {   p[i]=num[i]/(Width*Height)?!   file://p1[]存放各個(gè)灰度級(jí)之前的概率和,用于直方圖變換;  for(i=0。i256。i++)  {    for(k=0。k=i。k++)   p1[i]+=p[k]?!   file://直方圖變換;  for(i=0。iHEIGHT。I++)  for(j=30。jWIDTH20。J++)  {   *(lpDIBBits+WIDTHBYTES(Width*8)*i+j)=(BYTE)(p1[*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)]*255+)?!   StretchDIBits (hDC,0,0,lpDIBHdrbiWidth,lpDIBHdrbiHeight,0,0,         lpDIBHdrbiWidth,lpDIBHdrbiHeight,         lpDIBBits,(LPBITMAPINFO)lpDIBHdr,         DIB_RGB_COLORS,         SRCCOPY)。//顯示圖像;}///////////////////////////////加權(quán)均值濾波的圖像平滑void CDibView::OnImagePh() { CClientDC pDC(this)?!DC hDC=()。//獲取當(dāng)前設(shè)備上下文的句柄; SetStretchBltMode(hDC,COLORONCOLOR)?!ANDLE data1handle?!PBITMAPINFOHEADER lpBi。 CDibDoc *pDoc=GetDocument()。 HDIB hdib?!nsigned char *hData?!nsigned char *data。 hdib=pDocGetHDIB()。 BeginWaitCursor()?!pBi=(LPBITMAPINFOHEADER)GlobalLock((HGLOBAL)hdib)。 hData=(unsigned char*)FindDIBBits((LPSTR)lpBi)?!DocSetModifiedFlag(TRUE)?!ata1handle=GlobalAlloc(GMEM_SHARE,WIDTHBYTES(lpBibiWidth*8)*lpBibiHeight)?!ata=(unsigned char*)GlobalLock((HGLOBAL)data1handle)?!fxGetApp()BeginWaitCursor()?!nt i,j,s,t,ms=1。 int sum=0,sumw=0。 int mask[3][3]={{1,1,1},{1,2,1},{1,1,1}}。//定義的3x3加權(quán)平滑模板; for(i=0。 ibiHeight。 i++) for(j=0。 jbiWidth。 j++)  {   sumw=0。 sum=0?! or(s=(ms)。 s=ms。 s++)  for(t=(ms)。 t=ms。 t++)     if(((i+s)=0)amp。amp。((j+t)=0)amp。amp。((i+s)biHeight)amp。amp。((j+t)biWidth)) {  sumw += mask[1+s][1+t]。     sum+=*(hData+(i+s)*WIDTHBYTES(lpBibiWidth*8)+(j+t))*mask[1+s][1+t]?!   if(sumw==0) sumw=1?!  um/=sumw。  if(sum255)sum=255。  if(sum0)sum=0。  *(data+i*WIDTHBYTES(lpBibiWidth*8)+j)=sum。 } for( j=0。 jbiHeight。 j++) for(i=0。ibiWidth。i++)  *(hData+i*WIDTHBYTES(lpBibiWidth*8)+j)=*(data+i*WIDTHBYTES(lpBibiWidth*8)+j)。   StretchDIBits (hDC,0,0,lpBibiWidth,lpBibiHeight,0,0,         lpBibiWidth,lpBibiHeight,         hData,(LPBITMAPINFO)lpBi,         DIB_RGB_COLORS,         SRCCOPY)。//顯示圖像;}/////////////////////////////////////////////////////////////點(diǎn)處理的圖像銳化void CDibView::OnMenuitem32785() {CClientDC pDC(this)。HDC hDC=()。//獲取當(dāng)前設(shè)備上下文的句柄;SetStretchBltMode(hDC,COLORONCOLOR)。CDibDoc *pDoc=GetDocument()。HDIB hdib。hdib=pDocGetHDIB()。BITMAPINFOHEADER *lpDIBHdr。//位圖信息頭結(jié)構(gòu)指針;BYTE *lpDIBBits。//指向位圖像素灰度值的指針;lpDIBHdr=( BITMAPINFOHEADER *)GlobalLock(hdib)。//得到圖像的位圖頭信息 lpDIBBits=(BYTE*)lpDIBHdr+sizeof(BITMAPINFOHEADER)+256*sizeof(RGBQUAD)。//獲取圖像像素值 BYTE* pData1。static int a[3][3]={{1,4,1},{4,20,4},{1,4,1}}。//拉普拉斯算子模板;int m,n,i,j,sum。int Width=lpDIBHdrbiWidth。int Height=lpDIBHdrbiHeight。pData1=(BYTE*)new char[WIDTHBYTES(Width*8)*Height]。file://進(jìn)行拉普拉斯濾波運(yùn)算;for(i=1。iHEIGHT1。I++)for(j=1。jWIDTH1。J++){sum=0。for(m=1。m2。m++)for(n=1。n2。n++) sum+=*(lpDIBBits+WIDTHBYTES(Width*8)*(i+m)+j+n)*a[1+m][1+n]。if(sum0) sum=0。if(sum255) sum=255。*(pData1+WIDTHBYTES(Width*8)*i+j)=sum。}file://原始圖像pData減去拉普拉斯濾波處理后的圖像pData1for(i=0。iHEIGHT。I++)for(j=0。jWIDTH。J++){ sum=(int)(*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)4*(*(pData1+WIDTHBYTES(Width*8)*i+j)))。if(sum0) sum=0。if(sum255) sum=255。*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)=sum。}StretchDIBits (hDC,0,0,lpDIBHdrbiWidth,lpDIBHdrbiHeight,0,0,lpDIBHdrbiWidth,lpDIBHdrbiHeight,lpDIBBits,(LPBITMAPINFO)lpDIBHdr,DIB_RGB_COLORS,SRCCOPY)。}中值濾波的實(shí)現(xiàn)代碼如下:/************************************************************************* * * MedianFilterDIB() * * Parameters: * * HDIB hDib objective DIB handle * * Return Value: * * BOOL True is success, else False * * Description: * * This is the media filtering function to DIB * ************************************************************************/ BOOL MedianFilterDIB(HDIB hDib) { WaitCursorBegin()。 HDIB hNewDib = NULL。 // we only convolute 24bpp DIB, so first convert DIB to 24bpp WORD wBitCount = DIBBitCount(hDib)。 if (wBitCount != 24) hNewDib = ConvertDIBFormat(hDib, 24, NULL)。 else hNewDib = CopyHandle(hDib)。 if (! hNewDib) { WaitCursorEnd()。 return FALSE。 } // new DIB attributes WORD wDIBWidth = (WORD)DIBWidth(hNewDib)。 WORD wDIBHeight = (WORD)DIBHeight(hNewDib)。 WORD wBytesPerLine = (WORD)BytesPerLine(hNewDib)。 DWORD dwImageSize = wBytesPerLine * wDIBHeight。 // Allocate and lock memory for filtered image data HGLOBAL hFilteredBits = GlobalAlloc(GHND, dwImageSize)。 if (!hFilteredBits) { WaitCursorEnd()。 return FALSE。 } LPBYTE lpDestImage = (LPBYTE)GlobalLock(hFilteredBits)。 // get bits address in DIB LPBYTE lpDIB = (LPBYTE)GlobalLock(hNewDib)。 LPBYTE lpDIBits = FindDIBBits(lpDIB)。 // convolute... for (int i=1。 iwDIBHeight1。 i++) for (int j=1。 jwDIBWidth1。 j++) { int red=0, green=0, blue=0。 DoMedianFilterDIB(amp。red, amp。green, amp。blue, i, j, wBytesPerLine, lpDIBits)。 LONG lOffset= PIXEL_OFFSET(i,j, wBytesPerLine)。 *(lpDestImage + lOffset++) = BOUND(blue, 0, 255)。 *(lpDestImage + lOffset++) = BOUND(green, 0, 255)。 *(lpDestImage + lOffset) = BOUND(red, 0, 255)。 } // a filtered i
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1