opencv里的图像灰度化(图像的反色变换)
opencv里的图像灰度化(图像的反色变换)如果对学习没有自制力或者没有一起学习交流的动力,欢迎私我“进群”,邀请你来我的学习交流群,我们一起交流学习,报团打卡!注意图像反转(Invert)与图像翻转(Flip)的区别:图像翻转是沿对称轴的几何变换,像素值不变;图像反转是像素颜色的逆转,像素位置不变。# 1.48 图像的反色变换 img = cv2.imread("../images/imgLena.tif") # 读取彩色图像(BGR) imgGray = cv2.cvtColor(img cv2.COLOR_BGR2GRAY) # 颜色转换:BGR(OpenCV) -> Gray h w = img.shape[:2] # 图片的高度和宽度 # imgInv = np.zeros_like(img) # 创建与 img 相同形状的黑色图像 imgInv = np.empty((w h) np.uin
灰度变换是图像增强的重要方法,可以使图像动态范围扩大、图像对比度增强,图像更清晰,特征更明显,从而改善图像的显示效果。
灰度变换就是按一定规则(灰度映射函数)修改图像每一个像素的灰度值,从而改变图像灰度的动态范围。按照灰度映射函数的性质,灰度变换可以分为线性变换、分段线性和非线性变换,非线性变换中对数变换、指数变换和幂律变换(n次幂、n次根)最为常用。
3.1 反色变换(图像反转)图像的反色变换,即图像反转,将黑色像素点变白色,白色像素点变黑色。广义的反色变换也可以应用于彩色图像,即对所有像素点取补。
图像的反转处理可以增强暗色区域中的白色或灰色细节。
注意图像反转(Invert)与图像翻转(Flip)的区别:图像翻转是沿对称轴的几何变换,像素值不变;图像反转是像素颜色的逆转,像素位置不变。
例程:1.48 图像的反色变换# 1.48 图像的反色变换
img = cv2.imread("../images/imgLena.tif") # 读取彩色图像(BGR)
imgGray = cv2.cvtColor(img cv2.COLOR_BGR2GRAY) # 颜色转换:BGR(OpenCV) -> Gray
h w = img.shape[:2] # 图片的高度和宽度
# imgInv = np.zeros_like(img) # 创建与 img 相同形状的黑色图像
imgInv = np.empty((w h) np.uint8) # 创建空白数组
for i in range(h):
for j in range(w):
imgInv[i][j] = 255 - imgGray[i][j]
plt.figure(figsize=(10 6))
plt.subplot(131) plt.imshow(cv2.cvtColor(img cv2.COLOR_BGR2RGB)) plt.title("imgBGR") plt.axis('off')
plt.subplot(132) plt.imshow(imgGray cmap='gray') plt.title("imgGray") plt.axis('off')
plt.subplot(133) plt.imshow(imgInv cmap='gray') plt.title("imgInv") plt.axis('off')
plt.show()
(本节完)
最后
【OpenCV学习之路】是针对Python OpenCV学习所打造的一场刷题狂欢party! 对基础知识把握不牢固的话,欢迎来学习嗷~喜欢的话就抓紧收藏起来吧!
如果对学习没有自制力或者没有一起学习交流的动力,欢迎私我“进群”,邀请你来我的学习交流群,我们一起交流学习,报团打卡!