第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波6 - 分段线性变换 - 比特平面分层
生活随笔
收集整理的這篇文章主要介紹了
第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波6 - 分段线性变换 - 比特平面分层
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 比特平面分層
比特平面分層
在一幅256級灰度圖像中,圖像的值是由8比特(1字節(jié))組成的
def convert_bin(data, n):"""convert decimal to binary, return n th bit, 0 if bit value 0 else 1""" #------------------numpy------------x = np.binary_repr(data, width=8)x = x[::-1]a = x[n]new_data = int(a)# -----------------self---------------- # x = bin(data)[2:] # x = '0' * (8 - len(x)) + x # x = x[::-1] # a = x[n] # new_data = int(a)return new_data def bit_seperate(img, func, n):new_img = np.zeros(img.shape, dtype=np.uint8)for i in range(img.shape[0]):for j in range(img.shape[1]):new_img[i, j] = func(img[i, j], n)return new_img # 比特平面分層 img = cv2.imread("./DIP_Figures/DIP3E_Original_Images_CH01/Fig0122(a)(fractal-iris).tif", 0) fig = plt.figure(figsize=(15, 12)) for i in range(9, 0, -1):ax = fig.add_subplot(3, 3, (9-i)+1, xticks=[], yticks=[])if i == 9:ax.imshow(img, cmap='gray'), plt.title('Original')else:img_0 = bit_seperate(img, convert_bin, (i - 1))ax.imshow(img_0, cmap='gray')ax.set_title(f"{bin((i - 1))}")plt.tight_layout() plt.show()總結(jié)
以上是生活随笔為你收集整理的第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波6 - 分段线性变换 - 比特平面分层的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软云加速器助edoc2入云腾飞
- 下一篇: 第3章 Python 数字图像处理(DI