¡¡¡¡3£®Í¼ÏñÈñ»¯
¡¡¡¡Í¼Ïñƽ»¬ÍùÍùʹͼÏñÖеı߽硢ÂÖÀª±äµÄÄ£ºý£¬ÎªÁ˼õÉÙÕâÀ಻ÀûЧ¹ûµÄÓ°Ï죬Õâ¾ÍÐèÒªÀûÓÃͼÏñä„»¯¼¼Êõ£¬Ê¹Í¼ÏñµÄ±ßÔµ±äµÄÇåÎú¡£Í¼ÏñäJ»¯´¦ÀíµÄÄ¿µÄÊÇΪÁËʹͼÏñµÄ±ßÔµ¡¢ÂÖÀªÏßÒÔ¼°Í¼ÏñµÄϸ½Ú±äµÄÇåÎú£¬¾¹ýƽ»¬µÄͼÏñ±äµÃÄ£ºýµÄ¸ù±¾ÔÒòÊÇÒòΪͼÏñÊܵ½ÁËÆ½¾ù»ò»ý·ÖÔËË㣬Òò´Ë¿ÉÒÔ¶ÔÆä½øÐÐÄæÔËË㣨Èç΢·ÖÔËË㣩¾Í¿ÉÒÔʹͼÏñ±äµÄÇåÎú¡£´ÓƵÂÊÓòÀ´¿¼ÂÇ£¬Í¼ÏñÄ£ºýµÄʵÖÊÊÇÒòΪÆä¸ßƵ·ÖÁ¿±»Ë¥¼õ£¬Òò´Ë¿ÉÒÔÓøßͨÂ˲¨Æ÷À´Ê¹Í¼ÏñÇåÎú¡£
¡¡¡¡ÎªÁËÒª°ÑͼÏñÖмäÈκη½ÏòÉìÕ¹µÄµÄ±ßÔµºÍÂÖÀªÏß±äµÃÇåÎú£¬ÎÒÃÇÏ£Íû¶ÔͼÏñµÄijÖÖÔËËãÊǸ÷ÏòͬÐԵġ£¿ÉÒÔÖ¤Ã÷Æ«µ¼Æ½·½ºÍµÄÔËËãÊǸ÷ÏòͬÐԵģ¬¼È£º
 |
¡¡¡¡Ê½ÖУ¨ £©ÊÇͼÏñÐýתǰµÄ×ø±ê£¬£¨ £©ÊÇͼÏñÐýתºóµÄ×ø±ê¡£ÌݶÈÔËËã¾ÍÊÇÔÚÕâ¸öʽ×ӵĻù´¡ÉÏ¿ª·½µÃµ½µÄ¡£Í¼Ïñ£¨x£¬y£©µãµÄÌݶÈÖµ£º
 |
¡¡¡¡ÎªÁËÍ»³öÎïÌåµÄ±ßÔµ£¬³£³£²ÉÓÃÌݶÈÖµµÄ¸Ä½øËã·¨£¬½«Í¼Ïñ¸÷¸öµãµÄÌݶÈÖµÓëijһãÐÖµ×÷±È½Ï£¬Èç¹û´óÓÚãÐÖµ£¬¸ÃÏñËØµãµÄ»Ò¶ÈÓÃÌݶÈÖµ±íʾ£¬·ñÔòÓÃÒ»¸ö¹Ì¶¨µÄ»Ò¶ÈÖµ±íʾ¡£
¡¡¡¡ÎÒÃÇÔÚ¶ÔͼÏñÔöÇ¿µÄ¹ý³ÌÖУ¬²ÉÓõÄÊÇÒ»ÖÖ¼òµ¥µÄ¸ßƵÂ˲¨ÔöÇ¿·½·¨£º
 |
¡¡¡¡Ê½ÖÐf£¬g·Ö±ðΪÈñ»¯Ç°ºóµÄͼÏñ£¬ ÊÇÓëÀ©É¢Ð§Ó¦ÓйصÄϵÊý¡£ ±íʾ¶ÔͼÏñf½øÐжþ´Î΢·ÖµÄÀÆÕÀ˹Ëã×Ó¡£Õâ±íÃ÷²»Ä£ºýµÄͼÏñ¿ÉÒÔÓÉÄ£ºýµÄͼÏñ¼õÈ¥³ËÉÏϵÊýµÄÄ£ºýͼÏñÀÆÕÀ˹Ëã×ÓÀ´µÃµ½¡£ ¿ÉÒÔÓÃÏÂÃæµÄÄ£°åH={{1£¬4£¬1}£¬{4£¬-20£¬4}£¬{1£¬4£¬1}}À´½üËÆ¡£ÔÚ¾ßÌåʵÏÖʱ£¬ÉÏÊöÄ£°åHÖеĸ÷¸öϵÊý¿ÉÒԸı䣬 Õâ¸öϵÊýµÄÑ¡ÔñÒ²ºÜÖØÒª£¬Ì«´óÁË»áʹͼÏñµÄÂÖÀª¹ý³å£¬Ì«Ð¡ÁËÔòͼÏñÈñ»¯²»Ã÷ÏÔ¡£ÊµÑé±íÃ÷£¬ ѡȡ2-8Ö®¼äÍùÍù¿ÉÒÔ´ïµ½±È½ÏÂúÒâµÄЧ¹û¡£ÏÂÃæ¸ø³ö µÈÓÚ4µÄÇé¿öϵÄʵÏÖ´úÂëºÍЧ¹ûͼ£º
void CDibView::OnMenuitem32785() { CClientDC pDC(this); HDC hDC=pDC.GetSafeHdc();//»ñÈ¡µ±Ç°É豸ÉÏÏÂÎĵľä±ú£» SetStretchBltMode(hDC,COLORONCOLOR); CDibDoc *pDoc=GetDocument(); HDIB hdib; hdib=pDoc->GetHDIB(); BITMAPINFOHEADER *lpDIBHdr;//λͼÐÅϢͷ½á¹¹Ö¸Õ룻 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=lpDIBHdr->biWidth; int Height=lpDIBHdr->biHeight; pData1=(BYTE*)new char[WIDTHBYTES(Width*8)*Height]; file://½øÐÐÀÆÕÀ˹Â˲¨ÔËË㣻 for(i=1;i for(j=1;j { sum=0; for(m=-1;m<2;m++) for(n=-1;n<2;n++) sum+=*(lpDIBBits+WIDTHBYTES(Width*8)*(i+m)+j+n)*a[1+m][1+n]; if(sum<0) sum=0; if(sum>255) sum=255; *(pData1+WIDTHBYTES(Width*8)*i+j)=sum; } file://ÔʼͼÏñpData¼õÈ¥ÀÆÕÀ˹Â˲¨´¦ÀíºóµÄͼÏñpData1 for(i=0;i for(j=0;j { sum=(int)(*(lpDIBBits+WIDTHBYTES(Width*8)*i+j)-4*(*(pData1+WIDTHBYTES(Width*8)*i+j))); if(sum<0) sum=0; if(sum>255) sum=255; *(lpDIBBits+WIDTHBYTES(Width*8)*i+j)=sum; } StretchDIBits (hDC,0,0,lpDIBHdr->biWidth,lpDIBHdr->biHeight,0,0, lpDIBHdr->biWidth,lpDIBHdr->biHeight, lpDIBBits,(LPBITMAPINFO)lpDIBHdr, DIB_RGB_COLORS, SRCCOPY); }
|
 £¨a£©LENAÔͼ
|  £¨b£©ÀÆÕÀ˹Èñ»¯Í¼ |
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Í¼ Îå
¡¡¡¡±¾ÎÄÖ÷Òª½²½âÁËͼÏñÖ±·½Í¼µÄ»ù±¾¸ÅÄîºÍͼÏñµã´¦ÀíÔËËãÖеÄÔöÇ¿¡¢Æ½»¬¡¢Èñ»¯¸ÅÄîºÍʵÏÖËã·¨£¬²¢¸ø´¦ÀíʵÏÖ´úÂëºÍ´¦ÀíЧ¹ûͼºÍ¹ã´ó¶ÁÕßÅóÓÑÃǽ»Á÷£¬Ï£Íû´ïµ½Å×שÒýÓñµÄ×÷Óá£
|