opencv python 2 基本操作
2017-11-06 09:32
465 查看
opencv python 2 基本操作
读取并修改像素值
import cv2 img = cv2.imread('a.jpg') px = img[10, 10] print(px)
输出结果为
[39 118 181]
为该像素点的BRG像素值。
opencv读取彩色图像的像素顺序为BGR而非RGB。
也可输出单个通道的值:
px = img[10, 10, 0] print(px)
输出结果为
39
可通过相同的方式修改像素值:
img[10, 10] = [255, 255, 255]
也可使用numpy中的array.item()和array.itemset()来操作像素:
import cv2 import numpy img = cv2.imread('a.jpg') print(img.item(10, 10, 2)) img.itemset((10, 10, 2), 100) print(img.item(10, 10, 2))
输出结果为
181 100
获取图像属性
print(img.shape) print(img.size) print(img.dtype)
输出结果为
(158, 210, 3) 99540 uint8
分别对应图像的尺寸
4000
(包括通道数)、像素值个数、数据类型。
区域选择
可通过这种方式复制一个区域的图像:import cv2 img = cv2.imread('a.jpg') egg = img[60: 150, 0: 100] img[60: 150, 100: 200] = egg cv2.imshow('egg', img) cv2.waitKey()
![](http://ovsd9nv60.bkt.clouddn.com/92cdebaa0dbeae5518abe0d887f922fd.png)
![](http://ovsd9nv60.bkt.clouddn.com/70283d73aa459376bc47775df522e57d.png)
通道分割
当需要分割和合并BGR通道时可使用cv2.split()和cv2.merge():b, g, r = cv2.split(img) img = cv2.merge((b, g, r))
或:
b = img[:, :, 0]
也可使用这种方式为一个通道所有像素赋值:
img[:, :, 2] = 0
相关文章推荐
- OpenCv-Python 图像处理基本操作
- python3-opencv库(2)--遍历图像像素,利用Numpy创建图像,Numpy基本操作
- Python OpenCV——基本操作一网打尽
- OpenCV-Python图像处理教程:图像基本操作
- python OpenCV学习笔记(六):图片的基本操作
- 【Python_OpenCv】笔记4:python,OpenCv中对图片像素的操作以及图片基本属性的获取方法
- Python-OpenCV 处理图像(一):基本操作
- Python & OpenCV 图像基本操作
- python opencv入门 基本图像操作(6)
- opencv-python(5):图像基本操作
- Python OpenCV 学习笔记之:基本操作
- Python-OpenCV 处理图像(一):基本操作
- Python下使用OpenCV——图像的基本操作
- python环境下OpenCV的基本操作
- Python-OpenCV 处理图像(一):基本操作 cv2
- OpenCV-Python learning-5.图像基本操作
- Python-Opencv 图像处理基本操作(一)
- opencv python基本操作
- Opencv for python 对于图形文件和图形的基本操作
- Python-OpenCV 处理图像(一):基本操作