您的位置:首页 > 编程语言 > Python开发

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()






通道分割

当需要分割和合并BGR通道时可使用cv2.split()和cv2.merge():

b, g, r = cv2.split(img)
img = cv2.merge((b, g, r))


或:

b = img[:, :, 0]


也可使用这种方式为一个通道所有像素赋值:

img[:, :, 2] = 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python opencv