zoukankan      html  css  js  c++  java
  • 图像处理基本算法之灰度均衡 form(同串口)

    图像处理-基本算法之灰度均衡       

    分类: 图像处理54人阅读评论(0)收藏举报
    灰度均衡就是让分散的灰度值使其均匀化,使尖锐的图像变得柔和。

        代码如下:

    1. /******************************************************************************   
    2. *   作用:     灰度均衡函数
    3. *   参数: pDst     输出图像的像素数组
    4. *   参数: pSrc     原始图像的像素数组
    5. *   参数: nWidth   原始图像宽度
    6. *   参数: nHeight  原始图像高度
    7. ******************************************************************************/
    8. int GrayEqualize(BYTE* pDst,BYTE* pSrc, int nWidth,int nHeight) 
    9.     if (!pSrc || !pDst) 
    10.     { 
    11.         return EXIT_FAILURE; 
    12.     } 
    13.  
    14.     // 灰度映射表 
    15.     BYTE map[256]; 
    16.     long lCounts[256];
    17.  
    18.     memset(lCounts, 0, sizeof(long) * 256);
    19.  
    20.     int i; 
    21.  
    22.     // 计算各灰度值个数 
    23.     for (i = 0; i < nWidth * nHeight; i++)
    24.     { 
    25.         int x = pSrc[i * 4]; 
    26.         lCounts[x]++; 
    27.     } 
    28.  
    29.     // 保存运算中的临时值 
    30.     long lTemp; 
    31.  
    32.     for (i = 0; i < 256; i++)
    33.     { 
    34.         lTemp = 0; 
    35.         for (int j = 0; j <= i; j++)
    36.             lTemp += lCounts[j]; 
    37.  
    38.         map[i] = (BYTE)(lTemp * 255.0f / nWidth / nHeight);
    39.     } 
    40.  
    41.     // 变换后的值直接在映射表中查找 
    42.     for (i = 0; i < nWidth * nHeight; i++)
    43.     { 
    44.         int x = pSrc[i * 4];
    45.  
    46.         pDst[i*4] = pDst[i*4+1] = pDst[i*4+2] = map[x]; 
    47.         pDst[i*4+3] = 255; 
    48.     } 
    49.  
    50.     return EXIT_SUCCESS;
  • 相关阅读:
    vue
    手写Promise
    Promise应用
    Promise
    JS_URL模块
    模板字符串应用
    JS-OOP
    jQuery——过时,但是经典,关注核心点即可。
    MySql补充
    offset系列
  • 原文地址:https://www.cnblogs.com/gosteps/p/2994252.html
Copyright © 2011-2022 走看看