失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 数字图像处理——灰度级分层

数字图像处理——灰度级分层

时间:2018-10-23 10:13:01

相关推荐

数字图像处理——灰度级分层

灰度级分层的两种基本形式如下:

一:将感兴趣的范围内的灰度值显示为一个值,而其他灰度值显示为另一个值

二:将感兴趣的范围内的灰度值变亮或变暗,而其他灰度值保持不变

Python实现过程如下:

使用的图像资源为:

定义新图片生成函数和分层函数:

def logarithm_transformation(img, func):img_data = np.array(img)a = np.shape(img_data)new_img = [[] for _ in range(a[0])]for i in range(a[0]):for j in range(a[1]):data = img_data[i][j]new_data = func(data)new_img[i].append(new_data)return new_img

第一种分层方式,所有灰度值大于150的灰度,全部设为255,其他的灰度设为0:

def power_law1(data):new_data = 0if data >= 150:new_data = 255else:new_data = 0return new_data

第二种分层方式,所有灰度值大于150的灰度,全部设为255,其他的灰度值不变:

def power_law2(data):new_data = []if data >= 150:new_data = 255else:new_data = datareturn new_data

函数调用和可视化如下:

方法一:

img_new = logarithm_transformation(img, power_law1)plt.figure(figsize=(60,107))plt.subplot(121)plt.axis('off')plt.imshow(img_new, cmap='gray')plt.subplot(122)plt.axis('off')plt.imshow(img, cmap = 'gray')plt.show()

左侧为结果,右侧为原图像:

方法二:

img_new = logarithm_transformation(img, power_law2)plt.subplot(121)plt.axis('off')plt.imshow(img_new, cmap='gray')plt.subplot(122)plt.axis('off')plt.imshow(img, cmap = 'gray')plt.show()

左侧为结果,右侧为原图像:

如果觉得《数字图像处理——灰度级分层》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。