关于 图像 的基础知识

 

             前天老师要作报告,报告来这的2周的学习成果。先是学长们,主要就是给我们理理关于图形图像的思路吧。然后,是新生。等轮到偶的时候,已经是午饭了,悲催的是我的报告果真是整理的所学的,列了那么多知识点~看着大家都饿了,偶怎么好意思还在那里念我的知识点呢,况且大家也都不屑吧难过。。。。当时好囧喔,因为关于图像,从来没接触过,都听不懂哪委屈。。。于是,昨天开始看图像了。整理下吧:

 

第一章 windows位图和调色板

关于图像的存储方法:

Ex:有一个长宽各位200个像素,颜色数为16色的彩色图,每一个像素都用RGB 3个分量表示。

①     最易想到,最原始的存储方法:

因为每个分量有256个级别,要用8bit,即1 byte 来表示,所以每个像素需要用 3 byte。So,整个图像要用 200 * 200 * 3,约 120k byte。

②     调色板 palette

我们用一个表,表中每一行记录一种颜色的 R G B 值,而列数等于颜色数。这样 一行需要 3  byte ( R G B 各占1 byte),16 个状态需要 16 行。所以,表占用的字节共 3 * 16 = 48 byte。

图像只有16个颜色,就是16种状态,只需要 4 bit = 0.5byte 用来给它们编号,以在表中查找到该颜色的具体 RGB 值。

这样,采用 调色板 存储该图像 共需要的存储空间是: 200 * 200 * 16 * 0.5 + 3 * 16 (byte)

这样所占用的字节数约为前面的1/6,节省了不少呢。

 

另,关于 真彩色图的存储:

所谓真彩色图,是指他的颜色数高达 256 * 256 * 256,也就是包含了RGB颜色表示方法中的所有颜色。但是并不是说一幅图包含了所有的颜色,而是说它具有显示所有颜色的能力。即最多可以包含所有的颜色。

如果这时还要采用 调色板技术 :

调色板: 颜色数 * 3 = 256 * 256 * 256 * 3

颜色的索引:log (256 * 256 * 256)= 24 bit = 3 byte

而直接利用 R G B三个分量表示 一个像素只需要 3byte 而已。反而节省了存储调色板的空间。

 

所以:

对于2色位图,用1位就可以表示该像素的颜色,一个字节可以表示8个像素。

对于16色位图,用4位可以表示一个像素的颜色,一个字节可以表示2个像素。

对于256色位图,一个字节刚好可以表示1个像素。

Notice:

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

②     一般来说,.bmp文件的数据从下到上,从左到右。

 

Bmp文件格式:

大体可以分成4部分:

位图头文件 BITMAPFILEHEADER

位图信息头 BITMAPINFOHEADER

调色板 Palette

实际的位图数据 ImageDate

 

第二章:图像的几何变换

平移  旋转 镜像 转置 放缩

 

平移:

初始坐标(x0, y0)的点经过平移(tx, ty) (以向右,向下为正方向)后,坐标变为(x1, y1)。这两点之间的关系是x1 = x0 + tx  y1 = y0 + ty

以矩阵的形式表示:

它的逆变换:

平移后的图像中每个像素的颜色,它的RGB值和它平移前那点是一样的。所以,通过逆变换,我们可以得到平移前的那点。

 x1 - tx = x0  y1 - ty = y0

这样就可以得到平移后的点(x1 ,y1)的原始点(即平移前的点)了,也就知道了它的RGB值。

 

那么,如果新图中有一点,按照逆变换的公式得到的对应的平移之前的点不在原图中该怎么办呢?通常是把该点的RGB值统一设为(0,0,0) or  (255, 255, 255)

 

还有一个问题,平移后的图像是否要放大 ?一种方法是不放大,移出的部分被截断。另一种做法是,将图像放大,使得能够显示下所有部分。这种处理,文件大小要改变。设原图的宽和高分别是 w1 h1 ,则新图的宽和高变为 w1+| tx|  h1 + | ty | .   | | 表示tx ty 可能为负,即向左向上移动。

 

灰度图grayscale

灰度是指只含亮度信息,不含色彩信息的图像。黑白照片就是灰度图,特点是亮度由暗到明,变化是连续的。要表示灰度图,就需要把亮度值进行量化。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值