当前位置: 代码网 > it编程>软件设计>算法 > OpenCV 4基础篇| OpenCV图像的拆分和合并

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

2024年08月06日 算法 我要评论
【代码】OpenCV 4基础篇| OpenCV图像的拆分和合并。

1. 通道拆分

1.1 cv2.split

1.1.1 语法结构

b,g,r = cv2.split(img[, mv]) #图像拆分为 bgr 通道。
  • img:图像数据,nparray 多维数组
  • mv:指定的分拆通道(可选)
  • b,g,r :分割成三个单通道图像,分别代表蓝色、绿色和红色通道,并将它们分别赋值给b、g和r

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 通道合并
  • mv:要合并的单通道
  • dst:通道合并的图像,nparray 多维数组

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)

相关文章:

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

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com