久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3848|回復: 0
收起左側

圖像銳化處理c++語言

[復制鏈接]
ID:245772 發表于 2017-11-3 18:09 | 顯示全部樓層 |閱讀模式
1、平滑濾波(均值濾波)
void CTextView::OnSmooth()
{
    //功能:實現均值濾波處理
    //判斷圖像是否打開,沒打開,則彈出提示框并退出函數
    if(!m_dib.m_bLoaded)  
    {
        AfxMessageBox("圖像還打開,請先打開圖像!");
        return;
    }
    //獲取圖像寬和高
    intnw=m_dib.GetDIBWidth();
    int nh=m_dib.GetDIBHeight();
    int i,j,m,n;
    BYTE* ptmp=newBYTE[nw*nh];   //開辟一個與m_dib.m_pdata指向同樣大小的緩沖區,可以進一步了解BYTE是什么數據類型
    memcpy(ptmp,m_dib.m_pdata,nw*nh);//將m_dib.m_pdata指向的nw*nh個字節內容復制給ptmp指向的緩沖區
    intmask[9]={1,1,1,   1,1,1,   1,1,1}; // 建立算子模板
    int w_mask=3;                       //定義模板的大小
    //對每一個象素進行模板運算處理
    for(j=w_mask/2;j<nh-w_mask/2;j++)         //注意,行和列的起始和結束位置,思考為什么會要這樣?
        for(i=w_mask/2;i<nw-w_mask/2;i++)
        {
            //對圖像的第j行、第i列的像素
            intresult=0;                          
             for(m=-w_mask/2;m<=w_mask/2;m++)            
                   for(n=-w_mask/2;n<=w_mask/2;n++)
                    result+=ptmp[(j+m)*nw+i+n]*mask[(m+w_mask/2)*w_mask+n+w_mask/2];
            result=(result)/9;   //因為運算后有點值小于零
            if(result>255)         
                result=255;
            m_dib.m_pdata[j*nw+i]=result;
        }
    //將修改的m_pdata的數據賦值給m_pDIBData,以顯示修改的結果
    m_dib.UpdateData();
    //刷新屏幕
    Invalidate();
    delete ptmp;
}
2、銳化(拉普拉斯算子)
voidCTextView::OnMask()
{
    //功能:實現銳化處理
    //判斷圖像是否打開,沒打開,則彈出提示框并退出函數
    if(!m_dib.m_bLoaded)  
    {
        AfxMessageBox("圖像還打開,請先打開圖像!");
        return;
   
    //獲取圖像寬和高
    intnw=m_dib.GetDIBWidth();
    intnh=m_dib.GetDIBHeight();
    int i,j,m,n;
   
    BYTE* ptmp=newBYTE[nw*nh];   //開辟一個與m_dib.m_pdata指向同樣大小的緩沖區,可以進一步了解BYTE是什么數據類型
    memcpy(ptmp,m_dib.m_pdata,nw*nh);//將m_dib.m_pdata指向的nw*nh個字節內容復制給ptmp指向的緩沖區
   intmask[9]={0,1,0,   1,-4,1,    0,1,0}; // 建立算子模板Laplace 3*3
    intw_mask=3;                       //定義模板的大小
        
    for(j=w_mask/2;j<nh-w_mask/2;j++)      
        for(i=w_mask/2;i<nw-w_mask/2;i++)
        {
            //對圖像的第j行、第i列的像素
            intresult=0;                     
            for(m=-w_mask/2;m<=w_mask/2;m++)                    {
             for(n=-w_mask/2;n<=w_mask/2;n++)
              {result+=ptmp[(j+m)*nw+i+n]*mask[(m+w_mask/2)*w_mask+n+w_mask/2];}
        }
            
            result=abs(result+ptmp[(j+m)*nw+i+n]);   //因為運算后有點值小于零
            if(result>255)         
                result=255;
            m_dib.m_pdata[j*nw+i]=result;
        }
    //將修改的m_pdata的數據賦值給m_pDIBData,以顯示修改的結果
    m_dib.UpdateData();
    //刷新屏幕
    Invalidate();
    deleteptmp;}

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91在线观看 | 久草视频观看 | 青青草原综合久久大伊人精品 | 日韩一区二区在线看 | 日韩不卡三区 | 一级做a爰片性色毛片16 | 午夜视频一区二区 | 久久久国产精品 | 自拍偷拍第一页 | 精品96久久久久久中文字幕无 | 国产三区在线观看视频 | 久久成人精品视频 | 精品视频一区二区 | 福利视频网 | 精品亚洲一区二区三区四区五区高 | 欧美一区二区三区在线观看 | 久久免费看 | 国产精品久久久久久妇女6080 | 亚洲在线中文字幕 | 欧美日韩视频 | 视频在线日韩 | www.操.com| 欧美黄色精品 | 日韩精品一区二区三区中文字幕 | 日韩成人在线电影 | 国产日韩久久 | 精品产国自在拍 | 亚洲a人| 久久精品久久精品 | 日韩一级免费电影 | 亚洲精彩视频在线观看 | 亚洲精品久久国产高清情趣图文 | 一级欧美 | 草草在线观看 | 黄色成人在线网站 | 亚洲精品成人在线 | 美女逼网站 | a级黄色网 | 国产在线一区二区三区 | 91av在线看 | 欧美激情国产日韩精品一区18 |