IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【图像处理】浅谈直方图 -> 正文阅读

[人工智能]【图像处理】浅谈直方图

?? 对于“直方图”,我想绝大部分人都不会陌生,毕竟在数学中很早就遇见过,而图像的直方图(图1),从事图像相关工作的朋友肯定是再熟悉不过了。可谓是最基础不过的知识点,也是很多种空间域处理技术的基础。
Alt

图1 直方图示意图

?? 通常而言,图像的直方图都是用亮度直方图(灰度直方图)表示。对于彩色图像,还会有各个颜色通道的直方图。文中主要讲述图像的亮度直方图。它反映了图像最基本的统计特征,表示图像中具有某个灰度级的像素个数,同时也反映了图像中每种灰度出现的频率。灰度级范围为 [ 0 , L ? 1 ] [0,L-1] [0,L?1]的数字图像的直方图是离散函数 h ( r k ) = n k h(r_{k})=n_{k} h(rk?)=nk?,其中 r k r_{k} rk?是第k个灰度级的值, n k n_{k} nk?是图像中的灰度 r k r_{k} rk?的像素个数。若要反映灰度出现的频率,还需要做归一化操作。假设图像的长宽分别是 M M M N N N,则归一化的图像直方图可由离散函数 p ( r k ) = n k / M N p(r_{k})=n_{k}/MN p(rk?)=nk?/MN表示, p ( r k ) p(r_{k}) p(rk?)则是灰度级 r k r_{k} rk?在图像出现的概率估计,因此需要满足概率性质,归一化直方图的所有分量之和等于1 。可转化为如下代码

/*************************************************************************
 bool histogram(BYTE* src, double* phist, int height, int width, int n)
 功能: 生成直方图
 参数: 
        src:   原始图像
        phist:  输出的直方图数组
        height:图像高度
        width: 图像高度
        n:      灰度级数(段数)
返回值: true/false
 *************************************************************************/
bool histogram(BYTE* src, double* phist, int height, int width, int n=256)
{
    if (n <= 0 || n > 256) return false;

    // 计算分段因子
    double dNumber;
    memset(phist, 0, n * sizeof(double));
    dNumber = 256.0 / (double)n;

    // 统计直方图信息
    for (int i = 0; i < height; i++)
    {
        for (int j = 0; j < width; i++)
        {
            int index = i * width + j;
            BYTE pixel = src[index];
            phist[(int)(pixel / dNumber)]++;
        }
    }

    // 归一化直方图
    int totalpixel = height * width;
    for(int k = 0; k < n; k++)
    {
        phist[k] = phist[k] / totalpixel;
    }

    return true;
}

?? 以上只是生成灰度直方图的方式,要显示直方图,还需要做单独的显示处理。图像直方图应用十分广泛,是十分重要的图像分析工具,在图像增强、图像分割以及图像灰度变换等图像处理过程中得到了广泛应用。
?? 另外,因为这几年工作的缘故,发现直方图在ISP的pipeline中应用十分广泛,才有了此篇文章,用来巩固直方图相关的知识。比如Gamma、GTM、LTM等模块,会改变直方图的灰度级分布范围。AEC模块会根据亮度直方图确定当前曝光是否合理,判断当前曝光属于曝光不足、曝光正常还是曝光过度;也可以根据直方图中亮区和暗区的统计结果,确定HDR的触发条件等等。

个人声明:
?? 以上内容,纯属个人观点,不喜勿喷。未经本人同意,不得私自转载。若文中存在纰漏,或读者有更好的建议,欢迎留言探讨。也可邮箱联系:yxyx_0212@163.com

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:04:19  更:2022-06-29 19:06:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:25:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码