求关于图像的平滑的源代码

解决方案 »

  1.   

    void CNewDlg::Onquzao1() 
    {
    // TODO: Add your control notification handler code here
    int r,g,b;
    int gray1;
    int row,col;
    CClientDC dc(this);
     for(col=1;col<mybmp1.lWidth-1;col++)
    for(row=1;row<mybmp1.lHeight-1;row++)
    {
    r=mybmp1.pArray_R[row][col];
    g=mybmp1.pArray_G[row][col];
    b=mybmp1.pArray_B[row][col];
    gray1=(r+g+b)/3;
    Gray1[row][col]=(Gray1[row-1][col-1]+Gray1[row-1][col]+Gray1[row-1][col+1]+Gray1[row][col-1]+Gray1[row][col+1]+Gray1[row+1][col-1]+Gray1[row+1][col]+Gray1[row+1][col+1]+2*Gray1[row][col])/10; }
    for(col=0;col<mybmp1.lWidth;col++)
    for(row=0;row<mybmp1.lHeight;row++)
    {
    dc.SetPixel(col,10+row+2*mybmp1.lHeight,RGB(Gray1[row][col],Gray1[row][col],Gray1[row][col]));
    }
    }采用平滑滤波的方法