第二次作业:
2.1 马赫带和同时对比度反映了什么共同问题?
2.2 列举几个视觉错觉的例子。
2.3 计算5x5邻域各像素到中心象素的的欧式距离,街区距离和棋盘距离。
编程作业,请打印
2.4 编写一个程序,打开灰度图像lena.bmp,读出以(200,200)为左上角的10*10区域的像素值。
2.5 编写一个程序,打开灰度图像lena.bmp,统计它的最大值、最小值、均值和方差。
2.6 任意修改灰度的lena.bmp的彩色映像表,写出你的修改方法,给出修改后图像显示(彩色打印)。
提交时间:3月17日
2.1
马赫带与同时对比度的共同点这两个现象共同反映了人类视觉系统的侧抑制(Lateral Inhibition)机制。
本质: 视觉细胞在受光刺激时,不仅会产生兴奋,还会对相邻的细胞产生抑制作用。
共同问题: 它们都说明了人眼感知的亮度并不直接等于物理光强。视觉系统倾向于通过加强边界处的对比度来“锐化”物体轮廓,使我们在物理亮度平滑过渡的地方看到亮条/暗条(马赫带),或在不同背景下对同一灰度块产生不同的亮度感知(同时对比度)。
2.2
视觉错觉的例子视觉错觉(Optical Illusion)
是指生理或心理因素导致的图形与客观事实不符的现象:
米勒-莱尔错觉(Müller-Lyer Illusion): 两条等长的线段,两端箭头朝内或朝外,会导致线段看起来长短不一。
赫林错觉(Hering Illusion): 在放射状背景线上的两条平行线,看起来像是向外弯曲。
艾宾浩斯错觉(Ebbinghaus Illusion): 被大圆包围的圆圆心看起来比被小圆包围的同等大小圆心要小。
彭罗斯阶梯(Penrose Stairs): 二维平面上展示的永远向上或向下走的“不可能图形”。
2.3
5x5 邻域距离计算设中心像素坐标为 $(0,0)$,邻域内任一像素坐标为 $(x, y)$,其中 $x, y \in {-2, -1, 0, 1, 2}$。
- 欧式距离 (Euclidean Distance)公式:
$D_e = \sqrt{x^2 + y^2}$
距离矩阵如下(仅展示第一象限,其余象限均和第一象限中心对称):
| x=0 | x=1 | x=2 | |
|---|---|---|---|
| y=0 | 0 | 1 | 2 |
| y=1 | 1 | 1.41 | 2.24 |
| y=2 | 2 | 2.24 | 2.83 |
- 街区距离 (City Block / $D_4$ Distance)公式:
$D_4 = |x| + |y|$
类似棋盘格的十字移动,距离值全为整数。
| x=0 | x=1 | x=2 | |
|---|---|---|---|
| y=0 | 0 | 1 | 2 |
| y=1 | 1 | 2 | 3 |
| y=2 | 2 | 3 | 4 |
- 棋盘距离 (Chessboard / $D_8$ Distance)公式:
$D_8 = \max(|x|, |y|)$
允许对角线移动,每层“外圈”的距离值相等。
| x=0 | x=1 | x=2 | |
|---|---|---|---|
| y=0 | 0 | 1 | 2 |
| y=1 | 1 | 1 | 2 |
| y=2 | 2 | 2 | 2 |
编程作业
2.4
不允许用库。所以自己写一个读 bmp 文件的函数 read_image。
先看文件属性:
| |
hw2_1.py
| |
输出结果:
| |
2.5
hw2_2.py
| |
输出结果:
| |
2.6
hw2_3.py
| |
输出的新的 lena_red.bmp 应该是红色的,如图:
