OpenCV 4基础篇| OpenCV像素的编辑

简介: OpenCV 4基础篇| OpenCV像素的编辑


1. 前言

  • 像素是构成数字图像的基本单位,像素处理是图像处理的基本操作。
    对像素的访问、修改,可以使用 Numpy 方法直接访问数组元素。

1. 像素的访问

1.1 数组索引访问

语法结构:

retval = img[row, col, cancel]
  • col:列索引
  • row:行索引
  • cancel:通道索引, 0 表示蓝色通道,1 表示绿色通道,2 表示红色通道
  • retval:获取彩色图像中特定位置的一个颜色通道的值
import cv2
imgFile = "img/lena.jpg"  
img1 = cv2.imread(imgFile, flags=1)  # flags=1 读取彩色图像(BGR)
x = 0  # 列索引
y = 1  # 行索引
value = img1[x, y]
print(f"通道值: ({x}, {y}): {value}")
# 假设我们想要获取位于第10行第20列的红色通道值
x = 20  # 列索引
y = 10  # 行索引
i = 2  # 红色通道索引
# 获取红色通道的值
red_value = img1[y, x, i]
# 输出红色通道的值
print(f"红色通道值: ({x}, {y}): {red_value}")

1.2 img.item()

语法结构:

retval = img.item(row, col, cancel)  #获取数组中单个元素的值
  • col:列索引
  • row:行索引
  • cancel:通道索引, 0 表示蓝色通道,1 表示绿色通道,2 表示红色通道
  • retval:获取彩色图像中特定位置的一个颜色通道的值
import cv2  
import numpy as np  
  
# 读取彩色图像  
img = cv2.imread('img/lena.jpg')  
  
# 获取位于 (10, 20) 位置的像素的蓝色通道值  
blue_value = img.item(10, 20, 0)  
  
# 输出蓝色通道值  
print(f"蓝色通道值 (10, 20): {blue_value}")

2. 像素的修改

2.1 数值索引修改

img[row, col, channel] = new_value

2.2 img.itemset()

语法结构:

img.itemset(row, col, channel, new_value)  #用于设置数组中单个元素的值
  • col:列索引
  • row:行索引
  • cancel:通道索引, 0 表示蓝色通道,1 表示绿色通道,2 表示红色通道
  • new_value:设置的新值
import cv2  
import numpy as np  
  
# 读取彩色图像  
img = cv2.imread('img/lena.jpg')  
  
# 将位于 (10, 20) 位置的像素的红色通道值设置为 255(白色)  
img.itemset(10, 20, 2, 255)  
  
# 注意:img.itemset() 没有返回值,它直接修改数组  
# 如果需要,你可以使用 img.item(10, 20, 2) 来验证新值  
new_red_value = img.item(10, 20, 2)  
print(f"新红色通道值 (10, 20): {new_red_value}")
相关文章
|
6月前
|
存储 Cloud Native Linux
OpenCV 图像像素运算操作
OpenCV 图像像素运算操作
|
7月前
|
算法 C++ 计算机视觉
OpenCV-图像像素遍历操作的三种方法对比(程序提速)
OpenCV-图像像素遍历操作的三种方法对比(程序提速)
111 0
|
1天前
|
存储 算法 C语言
OpenCV—访问图像中的像素
OpenCV—访问图像中的像素
|
1天前
|
算法 计算机视觉
OpenCV(四十四):亚像素级别角点位置优化
OpenCV(四十四):亚像素级别角点位置优化
49 0
|
1天前
|
数据安全/隐私保护 计算机视觉 开发者
OpenCV中使用NumPy模块操作像素讲解及实战(附源码 超详细)
OpenCV中使用NumPy模块操作像素讲解及实战(附源码 超详细)
42 0
OpenCV中使用NumPy模块操作像素讲解及实战(附源码 超详细)
|
1天前
|
存储 计算机视觉 索引
OpenCV中确定像素位置及获取、修改像素BGR值讲解及演示(Python实现 附源码)
OpenCV中确定像素位置及获取、修改像素BGR值讲解及演示(Python实现 附源码)
71 0
|
1天前
|
计算机视觉
OpenCV(七):图像像素比较
OpenCV(七):图像像素比较
43 0
|
9月前
|
计算机视觉
opencv之 图像像素操作(如何通过opencv在图像上划线)
opencv之 图像像素操作(如何通过opencv在图像上划线)
|
API 计算机视觉
OpenCV 像素重映射(cv::remap)
OpenCV 像素重映射(cv::remap)
512 0
OpenCV 像素重映射(cv::remap)
|
计算机视觉
OpenCV 读写图像、读写像素、修改像素值(案例:图像反处理)
OpenCV 读写图像、读写像素、修改像素值(案例:图像反处理)
485 0
OpenCV 读写图像、读写像素、修改像素值(案例:图像反处理)