• 数字图像处理笔记


    五、图像的文件格式

    1、数字图像类型

           静态图像可分为矢量(Vector)图和位图(Bitmap)。

    -调色板Palette

           实际上是一个数组,共有biClrUsed个元素。数组中每个元素的类型是一个RGBQUAD结构,占4个字节。

     

           Typedef struct tagRGBQUAD{

    BYTE      rgbBlue;                //该颜色的蓝色分量

    BYTE       rgbGreen;             //该颜色的绿色分量

    BYTE      rgbRed;                //该颜色的红色分量

    BYTE       rgbReserved;        //保留值

    }RGBQUAD;

     

    真彩色图像不需要调色板,BITMAPINFOHEADER后直接是位图数据。

    -实际图像数据

           真彩色图像,图像数据就是实际的R、G、B值,三个字节表示1个像素。

           对于用到调色板的位图,图像数据就是该像素颜色在调色板中的索引值。

           2色位图,用1位就可以表示该像素的颜色(一般0表示黑,1表示白),所以一个字节可以表示8个像素。

           16色位图,用4位就可以表示一个像素的颜色(一般0表示黑,1表示白),所以一个字节可以表示2个像素。

           256色位图,一个字节表示1个像素。

    -注意两点:

           (1)每一行的字节数必须是4的整数倍,如果不是,则需要补齐。

           (2)BMP文件的数据存放是从下到上,从左到右。

     

    第三章 数字图像处理基础

    一、直方图变换

           最简单、最有用的工具之一。

    定义:表示数字图像中每一个灰度级像素出现的频次(该灰度级的像素数目)。

            p(k)=nk                                   nk是像素中第k个灰度级的像素总数

                         或

                                p(rk)=nk/n              n是图像的像素总数,rk第r个灰度级,p表示第r个灰度级出现像素的概率密度。

    性质:

    l  无空间信息;

    l  直方图与图像一对多关系;

    l  可叠加性(全图与子图像)。

    对比度:最亮像素与最暗像素之比。

           中间灰度级像素多,动态范围小,图像对比度低。

    直方图反映了图像的清晰程度。直方图均匀分布时,图像最清晰。

    判断一幅图像是否清晰,查看是否合理地利用了全部被允许的灰度级。

    一幅图像应该尽可能地利用全部可能的灰度级。   

    -直方图均衡化

           直方图修正:通过灰度映射函数Gnew=T(Gold),将原灰度直方图改造成所希望的直方图。

           直方图均衡化是一种最常用的直方图修正。它是把给定图像的直方图分布改造成均匀直方图分布。

           均衡化后,图像直方图是平直的。即各灰度级具有相同的出现频数,或各灰度级具有均匀的概率分布。图像得到了增强,看起来更清晰。

         

    -直方图规定化:

           修改一幅图像的直方图,使得它与另一幅图像的直方图匹配或具有一种预先规定的函数形状。

           目标:突出感兴趣的灰度范围,使图像质量改善。

  • 相关阅读:
    2018.5.17 memcached
    2018.5.11 B树总结
    2018.5.8 排序总结
    2018.5.8 python操纵sqlite数据库
    2018.5.4 Unix的五种IO模型
    2018.5.3 maven
    2018.5.3 docker
    Mybatis学习笔记,挺全的!
    这么强大的Mybatis插件机制原来就是这?
    Swagger API Spec + Swagger Codegen + YAPI管理接口文档
  • 原文地址:https://www.cnblogs.com/TheFly/p/13033523.html
Copyright © 2020-2023  润新知