• 直方图均衡化(三,c#实现)


    第一张是原图,第二张是直方图均衡化后的图像。

     byte[] EqualizeHist(byte[] grey, int ww, int hh)//此处处理的是8位图像,直方图均衡化
            {
                //统计0~255像素值的个数
                int[] mp = new int[256];
                for (int i = 0; i < hh; i++)
                {

                    for (int j = 0; j < ww; j++)
                    {
                        int value = grey[i * ww + j];
                        mp[value]++;
                    }
                }      
                /
                double[] graypro = new double[256];
                for (int i = 0; i < 256; i++)
                {
                    graypro[i] = mp[i] / (ww * hh * 1.0);

                }
                double[] graysumpro = new double[256];
                graysumpro[0] = graypro[0];
                for (int i = 1; i < 256; i++)
                {
                    graysumpro[i] = graysumpro[i - 1] + graypro[i];

                }
                byte[] grayequ = new byte[256];
                for (int i = 0; i < 256; i++)
                {
                    grayequ[i] = (byte)(graysumpro[i] * 255 + 0.5);

                }      
                //根据累计频率进行转换
                byte[] temp=new byte[hh*ww];
                for (int i = 0; i < hh; i++)
                {

                    for (int j = 0; j < ww; j++)
                    {                 
                        temp[i * ww + j] = grayequ[grey[i * ww + j]];
                    }
                }
                return temp;
            }

    虽然别人也实现了,自己也做个记录,不会用时找不到。

  • 相关阅读:
    C++核心(八)构造和析构
    代理模式以及静态代理、JDK代理、Cglib代理的实现
    一码跑遍众多小程序,饿了么开源自研多端框架 MorJS
    Shell Script注释和debug
    C# 问题记录
    linux中文件压缩和解压
    1511_人月神话阅读笔记_没有银弹上篇
    idea中mapper直接跳转到xml的插件
    PHP8的静态变量和方法-PHP8知识详解
    react-router-dom v6版本实现Tabs路由缓存切换
  • 原文地址:https://blog.csdn.net/ganggangwawa/article/details/126730499