- OpenCV Python 教程
- OpenCV Python - 首页
- OpenCV Python - 概述
- OpenCV Python - 环境配置
- OpenCV Python - 读取图像
- OpenCV Python - 写入图像
- OpenCV Python - 使用 Matplotlib
- OpenCV Python - 图像属性
- OpenCV Python - 按位运算
- OpenCV Python - 形状和文本
- OpenCV Python - 鼠标事件
- OpenCV Python - 添加轨迹条
- OpenCV Python - 缩放和旋转
- OpenCV Python - 图像阈值化
- OpenCV Python - 图像滤波
- OpenCV Python - 边缘检测
- OpenCV Python - 直方图
- OpenCV Python - 颜色空间
- OpenCV Python - 图像变换
- OpenCV Python - 图像轮廓
- OpenCV Python - 模板匹配
- OpenCV Python - 图像金字塔
- OpenCV Python - 图像加法
- OpenCV Python - 图像混合
- OpenCV Python - 傅里叶变换
- OpenCV Python - 捕捉视频
- OpenCV Python - 播放视频
- OpenCV Python - 从视频中提取图像
- OpenCV Python - 从图像生成视频
- OpenCV Python - 人脸检测
- OpenCV Python - 均值漂移/CamShift
- OpenCV Python - 特征检测
- OpenCV Python - 特征匹配
- OpenCV Python - 数字识别
- OpenCV Python 资源
- OpenCV Python - 快速指南
- OpenCV Python - 资源
- OpenCV Python - 讨论
OpenCV Python - 图像属性
OpenCV 读取图像数据到 NumPy 数组中。此 ndarray 对象的 shape() 方法揭示了图像属性,例如尺寸和通道。
使用 shape() 方法的命令如下:
>>> img = cv.imread("OpenCV_Logo.png", 1) >>> img.shape (222, 180, 3)
在上述命令中:
- 前两项 shape[0] 和 shape[1] 分别表示图像的宽度和高度。
- Shape[2] 代表通道数。
- 3 表示图像具有红绿蓝 (RGB) 通道。
类似地,size 属性返回图像的大小。图像大小的命令如下:
>>> img.size 119880
ndarray 中的每个元素都表示一个图像像素。
借助下面提到的命令,我们可以访问和操作任何像素的值。
>>> p=img[50,50] >>> p array([ 1, 1, 255], dtype=uint8)
示例
以下代码将前 100X100 个像素的颜色值更改为黑色。imshow() 函数可以验证结果。
>>> for i in range(100): for j in range(100): img[i,j]=[0,0,0]
输出
可以使用 split() 函数将图像通道拆分为各个平面。可以使用 merge() 函数合并通道。
split() 函数返回一个多通道数组。
我们可以使用以下命令拆分图像通道:
>>> img = cv.imread("OpenCV_Logo.png", 1) >>> b,g,r = cv.split(img)
现在,您可以对每个平面进行操作。
假设我们将蓝色通道中的所有像素设置为 0,则代码如下:
>>> img[:, :, 0]=0 >>> cv.imshow("image", img)
生成的图像将显示如下:
广告