CV - 色彩空间 转换/分离/合并
一、颜色空间转换
cvtColor(src, code[, dst[, dstCn]]) -> dst
- src:原始图像
- code:转换的代码或者标识
- 返回值:已完成转换的图像
lena = cv2.imread('lena.jpg')
lena_gray = cv2.cvtColor('lena.jpg', cv2.COLOR_BAYER_RG2GRAY)
cv_show(lena_gray)
img.shape # (H, W, C)
# (200, 200, 3)
二、分离 split
b,g,r = cv2.split(img)
r
array([[223, 222, 223, ..., 235, 232, 202],
[225, 224, 223, ..., 236, 234, 198],
[225, 226, 226, ..., 233, 222, 178],
...,
[ 90, 92, 93, ..., 148, 153, 158],
[ 87, 91, 89, ..., 156, 165, 165],
[ 82, 94, 92, ..., 159, 172, 177]], dtype=uint8)
cv_show(b)
cv_show(g)
cv_show(r)
r.shape
# (200, 200)
img=cv2.merge((b,g,r))
img.shape # (200, 200, 3)
# 只保留 R 通道
cur_img = img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,1] = 0
# cv_show('R',cur_img)
cur_img
'''
array([[[ 0, 0, 91],
[ 0, 0, 91],
[ 0, 0, 91],
'''
array([[[ 0, 0, 91],
[ 0, 0, 91],
[ 0, 0, 91],
...,
[ 0, 0, 122],
[ 0, 0, 122],
[ 0, 0, 122]],
...,
[ 0, 0, 120],
[ 0, 0, 121],
[ 0, 0, 121]]], dtype=uint8)
# 只保留 G
cur_img = img.copy()
cur_img[:,:,0] = 0
cur_img[:,:,2] = 0
cv_show('G',cur_img)
# 只保留 B
cur_img = img.copy()
cur_img[:,:,1] = 0
cur_img[:,:,2] = 0
cv_show('B',cur_img)
三、合并 merge
img2 = cv2.merge([b, g, r])
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用