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

本篇博客介绍了如何使用OpenCV-Python访问和修改像素值,获取图像属性,设置感兴趣区域(ROI),以及如何分割和合并图像。强调了Numpy在处理像素时的高效性,并提供了创建图片边框的各种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 访问像素值并修改它们
  • 访问图片属性
  • 设置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()

更好的访问和编辑方式:

# accessing RED value
>>>img.item(10,10,2)
59

# modifying RED value
>>>img.itemset((10,10,2), 100)
>>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值