Python语言OpenCV开发之OpenCV的核心操作

前言

从概念上讲,一个字节能表示0到255的整数。目前,对于所有的实施图像应用而言,虽然有其他的便是形式,但一个像素通常有每个通道的一个字节表示。一个OpenCV图像是.array类型的二维或三维数组。8位的灰度图像是一个含有字节值的二维数组。一个24位的BGR图像是一个三维数组,它也包含了字节值。即可以使用表达式进行访问这些值。
本章讲述两个内容,一是图像的基础操作,而是图像上的算术运算

正文

1、图像的基础操作
1.1、 获取并修改图像的像素值
读入(cv2.imread())一幅图像,可以根据像素的行和列的坐标获取它的像素值。对于BGR图像而言,返回的值为B,G,R的值,对于灰度图而言,会返回它的灰度值。
例如:

img = cv2.imread('./image/test2.jpg')
px = img[100,100]
print(px)# [40  35  34]
blue = img[100,100,0]
print(blue)# 40
img[100,100] = [255,255,255]
print(img[100,100])# [255,255,255]

numpy是经过优化了的进行快速矩阵运算的软件。所以不推荐逐个取像素值并修改。比如前5行的后3列,对于获取每一个像素值,也许使用Numpy的array.item()和array.itemset()会更好。但是返回值是标量。如果想获得所有的B,G,R的值需要使用array.item()分割他们。例如:

print(img.item(10,10,2))# 33
img.itemset((10,10,2),100)
print(img
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值