图像处理
文章平均质量分 55
本专栏主要记录总结图像处理的相关知识
子非鱼Swx
路漫漫其修远兮,吾将上下而求索...
展开
-
C语言实现bmp图像底层数据读写与创建
创建bmp图像文件的方式有很多,比如用halcon,用qt,这些都是把已经画好的图像保存为bmp图像,有时候我们需要自己实现bmp图像底层数据的写入,进而创建一张bmp图像,比如我之前业务上的一个需求,喷印机喷头需要识别2bit图像,但是现有的图像处理库比如halcon,opencv,qt都无法直接生成一张2bit图像,这就需要我们自己创建一个文件,然后把bmp图像的底层数据写进去。原创 2024-01-12 09:56:26 · 570 阅读 · 0 评论 -
bmp图像文件格式超详解
位图数据(bitmap data):图像的像素值可以是RGB值,也可以是调色板的索引值。如果使用了调色板,那像素值就是调色板的索引值,可以根据像素值得到调色板索引值,然后根据调色板索引值找到相应的颜色,该颜色即为像素的颜色,如果用RGB值表示位图数据,那位图就没有调色板。通常8位深及8位深以下的图像会用到调色板,8位深以上的就不用调色板了,因为8位深以上的图像再使用调色板内存开销就会很大,直接使用RGB值存储,更节省内存。 以16位深图像为例,共有2^16=65536种颜色,如果使用调色板,调色板的大小就是原创 2024-01-11 17:59:17 · 3977 阅读 · 0 评论 -
bmp图像大小计算方式
首先计算图像每行字节数,直接95 * 1/8肯定是不行的,因为这没有考虑内存对齐。由于Windows在进行行扫描的时候最小的单位为4个字节,所以我们以4字节为单位计算图像的每行字节数,即width * bitCount/32,95 * 1/32 = 2(DWORD),这样算出来的结果就是以4字节为单位,windows进行行扫描的时候就不会出现扫描不到一整个4字节的情况,然而这样还是有问题的,它是一种向下取整,会损失像素信息,95 * 1%32=31,这31比特,不到4字节的信息就没被存储。所以我们要向上取整原创 2024-01-10 20:54:56 · 761 阅读 · 0 评论 -
二值图像与灰度图像的区别
由于二值图像只有1bit存储空间,表示的细节有限,因此我们便引入灰度图像。灰度图是在二值图像的基础上使用8bit来存储每一个像素的值,所以其范围在0~255之间,因此标准灰度图像中每个像素的灰度值是0-255之间的1个值,灰度级数为256级,因此不同于二值图像,灰度图像的颜色信息更加丰富,不仅仅只有白色和黑色,还有各种灰色,共有256个灰度值。原创 2023-03-02 22:39:46 · 4278 阅读 · 0 评论