据说,看我文章时 关注、点赞、收藏 的 帅哥美女们 心情都会不自觉的好起来。
前言:
作者简介:大家好我是 user_from_future ,意思是 “ 来自未来的用户 ” ,寓意着未来的自己一定很棒~
✨个人主页:点我直达,在这里肯定能找到你想要的~
专栏介绍:OpenCV从入门到放弃 ,一个学习OpenCV的专栏~
专栏文章直链:
【OpenCV学习】OpenCV的色彩空间
【OpenCV学习】初识OpenCV其二
【OpenCV学习】初识OpenCV
这些了解了解即可,不用太在意。
C++字段 | 说明 | Python中ndarray 字段 |
---|---|---|
dims | 维度 | ndim |
rows | 行数 | shape[0] |
cols | 列数 | shape[1] |
depth | 像素的位深 | dtype字母后的数字 |
channels | 通道数 | shape[2] |
size | 矩阵大小 | size |
type | dep + dt + chs CV_8UC3 | dtype |
data | 存放数据 | data |
ndarray
的字段展示:
from cv2 import cv2
img = cv2.imread('./cat.jpeg')
print(img.ndim)
print(img.shape)
print(img.dtype)
print(img.size)
print(img.data)
完美配对,然后一般的图片又是RGB图片,读出来是BGR,是三通道图片,矩阵大小就是 821 * 617 * 3 = 1519671
,基本上所有的 Mat 数据结构都有了。
from cv2 import cv2
import numpy as np
img = np.zeros((200, 200, 3), np.uint8)
# 分割通道
b, g, r = cv2.split(img)
b[10: 100, 10: 100] = 255
g[10: 100, 10: 100] = 255
# 合并通道
img2 = cv2.merge((b, g, r))
cv2.imshow('img', np.hstack((b, g)))
cv2.imshow('img2', np.hstack((img, img2)))
cv2.waitKey(0)
cv2.destroyAllWindows()
会产生两组对比:第一组是蓝、绿通道的对比,第二组是原图和通道处理后的图片。
当中没有分割线,但很明显这是两个图片在一块,在单通道内,只能看到黑白灰的颜色,但通道合并后,就能看到更改颜色产生的效果:
今天是520节日哈,少点学习,多点女朋友~