OpenCV-Python:访问像素值并修改、访问图片属性、设置ROI、分割合并图片

  • 访问像素值并修改它们
  • 访问图片属性
  • 设置ROI
  • 分割和合并图片

基本上本节所有的操作都是和Numpy相关的而不是OpenCV
访问和修改像素值

让我们加载一张彩色图片:

import cv2
import numpy as np
img = cv2.imread('messi5.jpg')

你可以通过行和列坐标访问一个像素值。对于BGR图片,它会返回一个蓝,绿,红值的数组。对于灰度图片,只会返回对应的深度。

px = img[100,100]
print px

# accessing only blue pixel
blue = img[100,100,0]   #第三个参数 0,1,2 对应RGB三通道
print blue
157

你可以修改这个像素值:

>>>img[100,100] = [255,255,255]
>>>print img[100,100]
[255 255 255]

警告:
Numpy是一个优化的库,能够快速计算数组。所以如果一个个访问每个像素并修改它的值是很慢的,也不推荐

注意:
一般来说,都是选择数组的一片区域,比如头5行或者最后三列。对于某个像素点的访问,Numpy数组方法,array.item()array.itemset()更好。但是它总是返回标量。所以如果你想访问所有的B, G, R值,你需要分开调用array.item()

更好的访问和编辑方式:

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值