it编程 > 软件设计 > 算法

OpenCV 4基础篇| OpenCV图像的拆分和合并

129人参与 2024-08-06 算法

1. 通道拆分

1.1 cv2.split

1.1.1 语法结构

b,g,r = cv2.split(img[, mv]) #图像拆分为 bgr 通道。

1.1.2 注意事项

1.1.3 代码示例

import cv2

imgfile = "img/lena.jpg"
img1 = cv2.imread(imgfile, flags=1)  # flags=1 读取彩色图像(bgr)
# 通道拆分
b,g,r=cv2.split(img1)
# 显示图像
cv2.imshow("b", b)
cv2.imshow("g", g)
cv2.imshow("r", r)

cv2.waitkey(0)
cv2.destroyallwindows()

1

1.2 numpy切片

1.2.1 代码示例

import cv2

imgfile = "img/lena.jpg"
img1 = cv2.imread(imgfile, flags=1)  # flags=1 读取彩色图像(bgr)
# 获取 b 通道
bimg = img1.copy()  # 获取 bgr
bimg[:, :, 1] = 0  # g=0
bimg[:, :, 2] = 0  # r=0

# 获取 g 通道
gimg = img1.copy()  # 获取 bgr
gimg[:, :, 0] = 0  # b=0
gimg[:, :, 2] = 0  # r=0

# 获取 r 通道
rimg = img1.copy()  # 获取 bgr
rimg[:, :, 0] = 0  # b=0
rimg[:, :, 1] = 0  # g=0

# 显示图像
cv2.imshow("b", bimg)
cv2.imshow("g", gimg)
cv2.imshow("r", rimg)

cv2.waitkey(0)
cv2.destroyallwindows()  # 释放所有窗口

1

2. 通道合并

2.1 cv2.merge

2.1.1 语法结构

cv2.merge(mv[, dst])  #bgr 通道合并

2.1.2 注意事项

2.1.3 代码示例

import cv2

imgfile = "img/lena.jpg"
img1 = cv2.imread(imgfile, flags=1)  # flags=1 读取彩色图像(bgr)
# 通道拆分
b, g, r = cv2.split(img1)

# 通道合并
rgb = cv2.merge([r, g, b])
gbr = cv2.merge([g, b, r])
brg = cv2.merge([b, r, g])

# 显示图像
cv2.imshow("rgb", rgb)
cv2.imshow("gbr", gbr)
cv2.imshow("brg", brg)

cv2.waitkey(0)
cv2.destroyallwindows()  # 释放所有窗口

1

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

视频号官方建议的直播间设备与参数

08-06

图像边缘检测:技术原理与算法解析

08-06

关于-RTSP推流方案, ffmpeg 视频转 m3u8

08-06

【CV】opencv特征匹配算法

08-06

LeetCode第 123 场双周赛个人题解

08-06

leetcode-键盘行

08-06

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论