图像处理

发布时间 2023-10-12 20:55:37作者: 20231413张桓溪

对bmp的学习了解:

bmp这种格式内的数据分为三到四个部分,依次是:

文件信息头 (14字节)存储着文件类型,文件大小等信息

图片信息头 (40字节)存储着图像的尺寸,颜色索引,位平面数等信息

调色板 (由颜色索引数决定)(可以没有此信息)

位图数据 (由图像尺寸决定)每一个像素的信息在这里存储

一般的bmp图像都是24位,也就是真彩。每8位为一字节,24位也就是使用三字节来存储每一个像素的信息,三个字节对应存放r,g,b三原色的数据,

每个字节的存贮范围都是0-255。那么以此类推,32位图即每像素存储r,g,b,a(Alpha通道,存储透明度)四种数据。8位图就是只有灰度这一种信息,

还有二值图,它只有两种颜色,黑或者白。

现在能力实在不够,学习了这篇知乎文章照葫芦画瓢用C语言仿了一下,等到C语言学明白了再自己从头研究一遍。

实现:

c文件:

画出的位置原代码把long int用%d输出了,我改了一下

h文件:

至于生成二位矩阵,我不是太理解,如果要生成十六进制代码构成的矩阵(如下图例)的话我查询得知好像python里面PIL可以做到;c语言里要用fread函数,但我不太会用,没实现出来。ultraedit

里面倒是可以,通过修改rgb值也可以做出直线,但好像跟编程相比没什么技术含量,以后我再研究研究怎么通过c语言和python实现。