- 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 - 图像Pyramid
- OpenCV Python - 图像相加
- OpenCV Python - 图像混合
- OpenCV Python - 傅里叶变换
- OpenCV Python - 捕获视频
- OpenCV Python - 播放视频
- OpenCV Python - 视频图像
- OpenCV Python - 来自图像的视频
- OpenCV Python - 人脸检测
- OpenCV Python - Meanshift/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)
结果图像如下所示 -