图像通道分离与合并
【摘要】 大家好,我是北山啦,今天要介绍的是,利用numpy和cv来处理图像中的通道分离与合并 图像基本知识 图像基础 通道分离与合并 图像基本知识灰度图:彩色图:import cv2 as cvimport numpy as npimport matplotlib.pyplot as pltdef show(img): if img.ndim == 2: plt.imshow(i...
大家好,我是北山啦,今天要介绍的是,利用numpy和cv来处理图像中的通道分离与合并
图像基本知识
灰度图:
彩色图:
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
def show(img):
if img.ndim == 2:
plt.imshow(img, cmap='gray',vmin=0,vmax=255)
else:
plt.imshow(cv.cvtColor(img, cv.COLOR_BGR2RGB))#cv用的BGR,需要转换为RGB
plt.show()
图像基础
A = np.random.randint(0,256,(2,4))
A
array([[ 4, 245, 223, 220],
[191, 208, 190, 72]])
show(A)
B = np.random.randint(0,256,(2,4,3),dtype=np.uint8)
B
array([[[240, 57, 37],
[141, 33, 113],
[ 50, 252, 5],
[125, 23, 206]],
[[ 94, 128, 166],
[218, 183, 231],
[156, 136, 105],
[208, 191, 119]]], dtype=uint8)
uint8为8位无符号整数类型,表示范围为[0, 255]
show(B)
A2 = np.float32(A)
A2 /= 255
show(A2)
通道分离与合并
读取图片
img = cv.imread('./pic/cubic500x500.jpg')
show(img)
通道分离
b,g,r = cv.split(img)
show(r)
img.shape
(500, 500, 3)
通道合并
img2 = cv.merge([b,g,r])
show(img2)
img3 = cv.merge([r,g,b])
show(img3)
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)