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

图像处理基础知识(二)

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) 
相关推荐
haoly19892 小时前
数据结构和算法篇-线性查找优化-移至开头策略
数据结构·算法·移至开头策略
星期天要睡觉2 小时前
计算机视觉(opencv)——基于 OpenCV DNN 的实时人脸检测 + 年龄与性别识别
opencv·计算机视觉·dnn
学Linux的语莫5 小时前
机器学习数据处理
java·算法·机器学习
earthzhang20215 小时前
【1007】计算(a+b)×c的值
c语言·开发语言·数据结构·算法·青少年编程
算法打盹中6 小时前
计算机视觉:基于 YOLO 的轻量级目标检测与自定义目标跟踪原理与代码框架实现
图像处理·yolo·目标检测·计算机视觉·目标跟踪
2301_803554527 小时前
C++联合体(Union)详解:与结构体的区别、联系与深度解析
java·c++·算法
sali-tec8 小时前
C# 基于halcon的视觉工作流-章42-手动识别文本
开发语言·人工智能·算法·计算机视觉·c#·ocr
SandySY8 小时前
品三国谈人性
算法·架构
小欣加油8 小时前
leetcode 62 不同路径
c++·算法·leetcode·职场和发展
夏鹏今天学习了吗8 小时前
【LeetCode热题100(38/100)】翻转二叉树
算法·leetcode·职场和发展