【计算机视觉】人脸算法之图像处理基础知识(二)

图像处理基础知识(二)

1.图像的颜色空间转换

我们常见的图像通常由R(红色)、G(绿色)、B(蓝色)组成。但是在很多时候我们会将彩色图像转换成灰度图像进行处理。此时会用到cv2.cvtColor函数,它有很多转换方式,如

复制代码
cv2.COLOR_BGR2GRAY:将 BGR 图像转换为灰度图像。
cv2.COLOR_BGR2HSV:将 BGR 图像转换为 HSV 颜色空间。
cv2.COLOR_BGR2RGB:将 BGR 图像转换为 RGB 颜色空间。
cv2.COLOR_GRAY2BGR:将灰度图像转换为 BGR 图像。
cv2.COLOR_HSV2BGR:将 HSV 颜色空间转换为 BGR 图像。
python 复制代码
import cv2

#定义图片路径
imgpath = "images/img1.jpg"
img = cv2.imread(imgpath) #加载图像
img = cv2.resize(img, (img.shape[1]//2, img.shape[0]//2)) #缩小图像尺寸,方便展示
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#将彩色图像转成灰度图像
cv2.imshow("img", img)
cv2.waitKey(0) #和imshow函数一起使用,显示图像

2.彩色图像的通道分离和混合

opencv中通过split和merge函数实现图像的分离和融合

python 复制代码
import cv2

#定义图片路径
imgpath = "images/img1.jpg"
img = cv2.imread(imgpath) #加载图像
img = cv2.resize(img, (img.shape[1]//4, img.shape[0]//4))
b,g,r = cv2.split(img) #将多通道图像分离成单通道
cv2.imshow("b", b)
cv2.imshow("g", g)
cv2.imshow("r", r)
cv2.waitKey(0) 
python 复制代码
import cv2

imgpath = "images/img1.jpg"
img = cv2.imread(imgpath)
img = cv2.resize(img, (img.shape[1]//4, img.shape[0]//4))
b,g,r = cv2.split(img) #分离图像
merge = cv2.merge([b,g,r]) #合并图像
cv2.imshow("merge", merge)
cv2.waitKey(0) 
相关推荐
沃达德软件4 小时前
智能识别车辆驾驶人特征
人工智能·目标检测·计算机视觉·目标跟踪·视觉检测
来荔枝一大筐4 小时前
C++ LeetCode 力扣刷题 541. 反转字符串 II
c++·算法·leetcode
暴风鱼划水5 小时前
算法题(Python)数组篇 | 6.区间和
python·算法·数组·区间和
曼城的天空是蓝色的5 小时前
GroupNet:基于多尺度神经网络的交互推理轨迹预测
深度学习·计算机视觉
zl_vslam5 小时前
SLAM中的非线性优-3D图优化之轴角在Opencv-PNP中的应用(一)
前端·人工智能·算法·计算机视觉·slam se2 非线性优化
是苏浙6 小时前
零基础入门C语言之C语言实现数据结构之顺序表应用
c语言·数据结构·算法
B站_计算机毕业设计之家6 小时前
深度血虚:Django水果检测识别系统 CNN卷积神经网络算法 python语言 计算机 大数据✅
python·深度学习·计算机视觉·信息可视化·分类·cnn·django
lkbhua莱克瓦246 小时前
Java基础——常用算法3
java·数据结构·笔记·算法·github·排序算法·学习方法
小白程序员成长日记6 小时前
2025.11.07 力扣每日一题
数据结构·算法·leetcode
·白小白6 小时前
力扣(LeetCode) ——209. 长度最小的子数组(C++)
c++·算法·leetcode