栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

数字图像处理实验二:RGB图3个通道的提取、RGB图转灰度图、图片反转、图片亮度调整

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数字图像处理实验二:RGB图3个通道的提取、RGB图转灰度图、图片反转、图片亮度调整

前言

这里介绍:RGB图3个通道的提取、RGB图转灰度图、图片反转、图片亮度调整具体操作,需导入的库如下:

from skimage import exposure
import cv2
原图如下:
# 读取图片
lena = cv2.imread("lena.tif")  

# 显示图片
cv2.imshow('lena', lena)
cv2.waitKey(0)

一、RGB图3个通道的提取
# RGB3个通道的提取
(B, G, R) = cv2.split(lena)  #提取R、G、B分量,opencv读取顺序是BGR,所以提取顺序也是BGR
cv2.imshow("Red",R)
cv2.imshow("Green",G)
cv2.imshow("Blue",B)
cv2.waitKey(0)

结果如下,从左到右分别是:Red,Green,Blue

二、RGB图转灰度图
# RGB图转为灰度图
gray_lena = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)

# 显示图片
cv2.imshow('gray_lena', gray_lena)
cv2.waitKey(0)

三、图片反转
# 图片反转
re_lena = 255 - lena  # 图片中的像素值是0-255的整数,所以反转就是255减去每个位置的像素值

# 显示图片
cv2.imshow('re_lena', re_lena)
cv2.waitKey(0)

四、图片亮度调整

这里借助skimage库中的exposure函数来进行图像亮度的调整

如果gamma > 1,新图像比原图像暗
如果gamma < 1,新图像比原图像亮

# 亮度变换
lena_gam1 = exposure.adjust_gamma(lena, 2)   #调暗
lena_gam2 = exposure.adjust_gamma(lena, 0.5)  #调亮
cv2.imshow('lena_gam1', lena_gam1)
cv2.imshow('lena_gam2', lena_gam2)
cv2.waitKey(0)

结果如下:


总代码如下:
from skimage import exposure
import cv2

# 读取图片
lena = cv2.imread("lena.tif")  # cv2 读Breast的方式为多维数组

# 显示图片
cv2.imshow('lena', lena)
cv2.waitKey(0)



# RGB3个通道的提取
(B, G, R) = cv2.split(lena)#提取R、G、B分量
cv2.imshow("Red",R)
cv2.imshow("Green",G)
cv2.imshow("Blue",B)
cv2.waitKey(0)



# RGB图转为灰度图
gray_lena = cv2.cvtColor(lena, cv2.COLOR_BGR2GRAY)

# 显示图片
cv2.imshow('gray_lena', gray_lena)
cv2.waitKey(0)



# 图片反转
re_lena = 255 - lena

# 显示图片
cv2.imshow('re_lena', re_lena)
cv2.waitKey(0)



# 亮度变换
lena_gam1 = exposure.adjust_gamma(lena, 2)   #调暗
lena_gam2 = exposure.adjust_gamma(lena, 0.5)  #调亮
cv2.imshow('lena_gam1', lena_gam1)
cv2.imshow('lena_gam2', lena_gam2)
cv2.waitKey(0)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001282.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号