重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
摘要:本文主要讲解灰度线性变换,基础性知识希望对您有所帮助。
本文分享自华为云社区《[Python图像处理] 十六.图像的灰度非线性变换之对数变换、伽马变换》,作者:eastmount 。
成都创新互联主要业务有网站营销策划、网站制作、做网站、微信公众号开发、微信小程序开发、H5技术、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、成都营销网站建设资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。
本篇文章主要讲解非线性变换,使用自定义方法对图像进行灰度化处理,包括对数变换和伽马变换。
图像的灰度非线性变换主要包括对数变换、幂次变换、指数变换、分段函数变换,通过非线性关系对图像进行灰度处理,下面主要讲解三种常见类型的灰度非线性变换。
原始图像的灰度值按照DB=DA×DA/255的公式进行非线性变换,其代码如下:
# -*- coding: utf-8 -*- import cv2 import numpyas np import matplotlib.pyplotas plt #读取原始图像 img= cv2.imread('miao.png') #图像灰度转换 grayImage= cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #获取图像高度和宽度 height= grayImage.shape[0] width= grayImage.shape[1] #创建一幅图像 result= np.zeros((height, width), np.uint8) #图像灰度非线性变换:DB=DA×DA/255 for i in range(height): for j in range(width): gray= int(grayImage[i,j])*int(grayImage[i,j]) / 255 result[i,j]= np.uint8(gray) #显示图像 cv2.imshow("Gray Image", grayImage) cv2.imshow("Result", result) #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()