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

图像处理基础知识(二)

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) 
相关推荐
The丶Closer10 分钟前
10. 排序
java·数据结构·算法·排序算法
liuyang-neu1 小时前
力扣 简单 104.二叉树的最大深度
java·数据结构·算法·leetcode
simple_ssn1 小时前
【C语言刷力扣】2079.给植物浇水
c语言·算法·leetcode
是小恐龙啊1 小时前
单链表的增删改查(数据结构)
c语言·开发语言·数据结构·算法
什码情况1 小时前
报数游戏 - 华为OD统一考试(E卷)
java·python·算法·游戏·华为od·笔试·华为od机试
WenGyyyL2 小时前
准备蓝桥杯和ACM:C++标准库头文件及其常用功能简介
开发语言·c++·算法·蓝桥杯·acm
Helene19002 小时前
Leetcode 45-跳跃游戏 II
算法·leetcode·游戏
毕小宝2 小时前
逻辑回归(上):函数求导过程自推 LaTex 语法
算法·机器学习·逻辑回归
娇娇yyyyyy2 小时前
异或哈希(求区间内所有的数的出现的次数是否为偶数)
算法·哈希算法
CylMK2 小时前
浅说差分算法(上)
数据结构·c++·算法