搭建邮箱注册网站,简单风景网站模版,个人静态网页制作,龙华建设发展有限公司网站目录图像感知与获取一个简单的成像模型图像取样和量化空间分辨率和灰度分辨率图像感知与获取
一个简单的成像模型
我们用形如 f(x,y)f(x,y)f(x,y) 的二维函数来表示图像。在空间坐标 (x,y)处f(x, y)处 f(x,y)处f的值是一个标量#xff0c;其物理意义由图像源决定#xff0c…
目录图像感知与获取一个简单的成像模型图像取样和量化空间分辨率和灰度分辨率图像感知与获取
一个简单的成像模型
我们用形如 f(x,y)f(x,y)f(x,y) 的二维函数来表示图像。在空间坐标 (x,y)处f(x, y)处 f(x,y)处f的值是一个标量其物理意义由图像源决定其值与物理源如电磁波辐射的能量成正比。因此f(x,y)f(x,y)f(x,y) 一定是非负的和有限的即 0≤f(x,y)∞(2.3)0 \leq f(x, y) \infty \tag{2.3} 0≤f(x,y)∞(2.3) 函数f(x,y)f(x, y)f(x,y) 由两个分量表征1入射到被观察场景的淘汰照射量2被场景中物体反射的照射量。它们分别称为入射分量和反射分量并分别用i(x,y)和r(x,y)i(x, y) 和 r(x, y)i(x,y)和r(x,y) 表示。这两个函数的乘积形成f(x,y)f(x, y)f(x,y) 即 f(x,y)i(x,y)r(x,y)(2.4)f(x, y) i(x, y) r(x, y) \tag{2.4}f(x,y)i(x,y)r(x,y)(2.4) 0≤i(x,y)∞(2.5)0 \leq i(x, y) \infty \tag{2.5}0≤i(x,y)∞(2.5) 0≤r(x,y)≤1(2.6)0 \leq r(x, y) \leq 1 \tag{2.6} 0≤r(x,y)≤1(2.6)
于是反射分量限制在0全吸收和1全反射之间。i(x,y)i(x, y)i(x,y)的性质取决于照射源而 r(x,y)r(x, y)r(x,y) 的性质取决被成像物体的特性。
区间[Lmin,Lmax][L_{min}, L_{max}][Lmin,Lmax]称为亮度级或灰度级
图像取样和量化
def get_circle(height, width):creat a circle faded image:param height: input height of the image you want to create:param width: input height of the image you want to create:return: image normalize [0, 1]M, N width, heightu np.arange(M)v np.arange(N)u, v np.meshgrid(u, v)D np.sqrt((u - (M//2 1))**2 (v - (N//2 1))**2)kernel normalize(D)return kernel# 图像取样
height, width 512, 512
mid_h, mid_w height//2 1, width//2 1img_ori np.zeros([height, width], dtypenp.float)
img_ori (img_ori 1.0) * 1.
circle 1 - get_circle(400, 400)img_ori[mid_h-200: mid_h200, mid_w-200:mid_w200] circlef_x_57 img_ori[57:58, :] # 取样 f(x, 56)plt.figure(figsize(10, 5))
plt.subplot(121), plt.imshow(img_ori, gray), plt.xticks([]), plt.yticks([])
plt.subplot(122), plt.plot(f_x_57[0]), plt.xticks([]), plt.yticks([])
plt.tight_layout()
plt.show()空间分辨率和灰度分辨率
空间分辨率是图像中最小可辨别的希腊别人测度。这一测度通常使用点数/英寸(dpi)表示。
灰度分辨率是批在灰度级中可分辨的最小变化。灰度级通常是2的整数次幂。最常用的数是8比特在一些特定的范围也使用16比特。32比特的灰度量化很少见有时也会使用10比特和12比特来做数字化图像灰度级的系统。我们常说一幅灰度被量化为256组的图像其灰度分辨率为8比特。灰度的可分辨变化 不仅受噪声和饱和度的影响而且受人类分析和解释整个场景内容的感知能力的影响。
def down_sample(image):height, width image.shape[:2]dst np.zeros([height//2, width//2])dst image[::2, ::2]return dst# 用降采样来模拟降低空间分辨率的效果
img cv2.imread(DIP_Figures/DIP3E_Original_Images_CH02/Fig0220(a)(chronometer 3692x2812 2pt25 inch 1250 dpi).tif, 0)img_2 down_sample(img)
img_3 down_sample(img_2)
img_4 down_sample(img_3)plt.figure(figsize(15, 18))
plt.subplot(221), plt.imshow(img, gray), plt.xticks([]), plt.yticks([])
plt.subplot(222), plt.imshow(img_2, gray), plt.xticks([]), plt.yticks([])
plt.subplot(223), plt.imshow(img_3, gray), plt.xticks([]), plt.yticks([])
plt.subplot(224), plt.imshow(img_4, gray), plt.xticks([]), plt.yticks([])
plt.tight_layout()
plt.show()# 改变灰度值以实现灰度级的不同
# img cv2.imread(DIP_Figures/DIP3E_Original_Images_CH02/Fig0222(a)(face).tif, 0)
img get_circle(1000, 1000)img_temp normalize(img)fig plt.figure(figsize(13, 26))
for i in range(8):ax fig.add_subplot(4, 2, i1)if i 7:dst np.uint(img_temp * (2**(8 - i) - 1))else:dst np.uint(img_temp * (2))ax.imshow(dst, gray)ax.set_title(f{2**(8 - i)})ax.set_xticks([])ax.set_yticks([])
plt.tight_layout()
plt.show()