青海网站建设优化,如何快速搭建自己的网站,网站开发与管理期末考试,wordpress更换模板前言#xff1a;Hello大家好#xff0c;我是小哥谈。本节课就手把手教大家如何将一幅图像转化成暖色滤镜和冷色滤镜#xff0c;希望大家学习之后能够有所收获~#xff01;#x1f308; 目录
#x1f680;1.技术介绍
#x1f680;2.暖色滤镜
#x1f680;3.冷色滤… 前言Hello大家好我是小哥谈。本节课就手把手教大家如何将一幅图像转化成暖色滤镜和冷色滤镜希望大家学习之后能够有所收获~ 目录
1.技术介绍
2.暖色滤镜
3.冷色滤镜 1.技术介绍
暖色滤镜又可以称作“暖色调”。需要注意的是色调指的不是颜色而是对一幅图像整体颜色的评价。通常可以从色相、明度、冷暖、纯度这4个方面来定义一幅图像的色调。例如一幅图像有明确的色调红调子是从色相来说的稍暗的调子是从明度来说的暖调子是从冷暖来说的灰调子是从纯度来说的。
本案例的目的是让下图所示的图像实现暖色滤镜的效果。所谓暖色滤镜就是让一幅图像的整体颜色偏红进而达到暖色调的效果。
冷色滤镜又可以称作“冷色调”。其中冷色调是按冷暖来说的。本实例的目的是让下图所示的图像实现冷色滤镜的效果。所谓冷色滤镜就是让一幅图像的整体颜色偏蓝进而达到冷色调的效果。 2.暖色滤镜
一幅图像是由红色、绿色、蓝色这3个通道组成的颜色通道一般有RGB和BGR两种其中OpenCV采用的颜色通道是BGR。要想让一幅图像实现暖色滤镜的效果即让一幅图像的整体颜色偏红就要对这幅图像进行拆分通道处理。为了拆分图像中的通道OpenCV提供了split()方法。当使用split()方法按B→G→R的顺序拆分通道时split()方法的语法格式如下所示
b, g, r cv2.split(rgb_image)
参数说明
bB通道图像
gG通道图像
rR通道图像
rgb_image一幅RGB图像。
拆分图像中的通道后调整R通道的值即可实现暖色滤镜的效果。调整R通道的值的关键代码如下所示
r[:, :] 255
为了在窗口显示这幅图像实现暖色滤镜的效果就要对拆分且调整后的通道进行合并。因此要借助OpenCV中用于合并通道的merge()方法。当使用merge()方法按B→G→R的顺序合并通道时merge()方法的语法格式如下所示
bgr cv2.merge([b, g, r])
参数说明
bgr按B→G→R的顺序合并通道后得到的图像
bB通道图像
gG通道图像
rR通道图像。
具体的实现代码如下所示
import cv2img cv2.imread(rC:\Users\Lenovo\PycharmProjects\yolov5-master1\data\images\1.jpg) # 读取当前项目文件夹下的图像
cv2.imshow(rgb_image, img) # 窗口显示读取到的图像
b, g, r cv2.split(img) # 拆分图像1.jpg的通道
r[:, :] 255 # 将R通道的值调整为255
bgr_255 cv2.merge([b, g, r]) # 按B→G→R的顺序合并通道
cv2.imshow(bgr_255, bgr_255) # 窗口显示R通道的值被调整为255的图像
cv2.waitKey() # 按下键盘上的任意按键后
cv2.destroyAllWindows() # 销毁显示图像的所有窗口
运行结果如下所示 3.冷色滤镜
要想让一幅图像实现冷色滤镜的效果即让一幅图像的整体颜色偏蓝就要对这幅图像进行拆分通道处理。为了拆分图像中的通道OpenCV提供了split()方法。当使用split()方法按B→G→R的顺序拆分通道时split()方法的语法格式如下所示
b, g, r cv2.split(rgb_image)
参数说明
bB通道图像
gG通道图像
rR通道图像
rgb_image一幅RGB图像。
拆分图像中的通道后调整B通道的值即可实现冷色滤镜的效果。调整B通道的值的关键代码如下所示
b[:, :] 255
为了在窗口显示这幅图像实现冷色滤镜的效果就要对拆分且调整后的通道进行合并。因此要借助OpenCV中用于合并通道的merge()方法。当使用merge()方法按B→G→R的顺序合并通道时merge()方法的语法格式如下所示
bgr cv2.merge([b, g, r])
参数说明
bgr按B→G→R的顺序合并通道后得到的图像
bB通道图像
gG通道图像
rR通道图像。
具体的实现代码如下所示
import cv2img cv2.imread(rC:\Users\Lenovo\PycharmProjects\yolov5-master1\data\images\1.jpg) # 读取当前项目文件夹下的图像
cv2.imshow(rgb_image, img) # 窗口显示读取到的图像
b, g, r cv2.split(img) # 拆分图像1.jpg的通道
b[:, :] 255 # 将B通道的值调整为255
bgr_255 cv2.merge([b, g, r]) # 按B→G→R的顺序合并通道
cv2.imshow(bgr_255, bgr_255) # 窗口显示B通道的值被调整为255的图像
cv2.waitKey() # 按下键盘上的任意按键后
cv2.destroyAllWindows() # 销毁显示图像的所有窗口
运行结果如下所示