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

目录

  • 1. 前言
  • 1. 像素的访问
    • 1.1 数组索引访问
    • 1.2 img.item()
  • 2. 像素的修改
    • 2.1 数值索引修改
    • 2.2 img.itemset()

1. 前言

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

1. 像素的访问

1.1 数组索引访问

语法结构:

retval = img[row, col, cancel] 
  • col:列索引
  • row:行索引
  • cancel:通道索引, 0 表示蓝色通道,1 表示绿色通道,2 表示红色通道
  • retval:获取彩色图像中特定位置的一个颜色通道的值
import cv2imgFile = "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}")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2806316.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

备考2024年AMC10:2000-2023年1250道AMC10真题练一练

我整理了2000-2023年的全部AMC10的AB卷真题共1250题,并且独家制作了多种在线练习,利用碎片化时间,一年足以通过自学在2024年AMC10竞赛中取得好成绩。 我们今天继续来随机看五道题目和解析。 2000-2023年AMC10真题练一练:2013年第…

洛谷P8627 [蓝桥杯 2015 省 A] 饮料换购

#先看题目 题目描述 乐羊羊饮料厂正在举办一次促销优惠活动。乐羊羊 C 型饮料,凭 3 个瓶盖可以再换一瓶 C 型饮料,并且可以一直循环下去(但不允许暂借或赊账)。 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那…

Python入门学习——基础语法

一、Python解释器 1. Python解释器的作用是&#xff1a; 将Python代码翻译成计算机认识的O和1并提交计算机执行在解释器环境内可以一行行的执行我们输入的代码也可以使用解释器程序&#xff0c;去执行".py"代码文件 2. Python解释器程序在&#xff1a; <Python…

【第七天】C++模板探秘:函数模板、类模板以及类型转换的深入解析

一、模板的概述 c面向对象编程思想&#xff1a;封装、继承、多态 c泛型编程思想&#xff1a;模板 模板的分类&#xff1a;函数模板、类模板 函数模板&#xff08;类模板&#xff09;&#xff1a;将功能相同&#xff0c;类型不同的函数&#xff08;类&#xff09;的类型抽象成虚…

QoS 服务质量

服务质量 QoS (Quality of Service) 服务质量可用若干基本性能指标来描述&#xff0c;包括&#xff1a;可用性、差错率、响应时间、吞吐量、分组丢失率、连接建立时间、故障检测和改正时间等。 服务提供者可向其用户保证某一种等级的服务质量。 服务性能的总效果&#xff0c;…

svn客户端下载、安装、使用

下载、使用 打开360软件管家&#xff0c;选怎宝库&#xff0c;搜索svn&#xff0c;点击安装 可以修改安装路径 使用 在桌面右键弹出菜单&#xff0c;点击 输入地址&#xff0c;点击ok 输入用户名、密码 &#xff0c;等待检出完成

手把手教你安装和激活Fl Studio21.2.3.4004破解补丁(附激活教程)

盼望着盼望着&#xff0c;FL Studio21带这它的版本号2.3.4004来了&#xff0c;是最新版Fl Studio21.2.3.4004 关于FL Studio21.2.3.4004破解激活&#xff0c;跟之前版本一样&#xff0c;这篇文章将给大家带来FL Studio 21.2.3.400彻底激活教程&#xff0c;喜欢的朋友欢迎一键3连…

第八篇【传奇开心果系列】python的文本和语音相互转换库技术点案例示例:Google Text-to-Speech虚拟现实(VR)沉浸式体验经典案例

传奇开心果博文系列 系列博文目录python的文本和语音相互转换库技术点案例示例系列 博文目录前言一、雏形示例代码二、扩展思路介绍三、虚拟导游示例代码四、交互式学习示例代码五、虚拟角色对话示例代码六、辅助用户界面示例代码七、实时语音交互示例代码八、多语言支持示例代…

守护进程出现拉起多个子进程问题

引言 在我自己开发的httpApi进程中&#xff0c;使用了守护进程&#xff0c;保证进程在意外退出的时候可以重新自动启动。但是使用pstree的时候发现创建了不止一个进程&#xff0c;其中代码和问题现象如下&#xff1a; 代码 int main(int argc, char *argv[]) {printMainVer()…

计算机网络-网络层,运输层,应用层

网络层/网际层 网络层的主要任务包括&#xff1a; 提供逻辑上的端到端通信&#xff1a;网络层负责确定数据的传输路径&#xff0c;使数据能够从源主机传输到目标主机&#xff0c;即实现端到端的通信。数据包的路由和转发&#xff1a;网络层根据目标主机的地址信息&#xff0c…

MySQL事务(基础入门)(高频考点)

文章目录 前言什么是事务&#xff1f;事务的特性并发情况下会出现哪些问题脏读不可重复读幻读 总结 前言 今天来讲一讲 MySQL 事务的基础入门。 更多关于MySQL的知识可以看此专栏 MySQL专栏&#xff08;持续更新&#xff09; 什么是事务&#xff1f; 当我们在操作数据库的时…

深入探索Linux:ACL权限、特殊位与隐藏属性的奥秘

前言&#xff1a; 在Linux系统中&#xff0c;文件和目录的权限管理是一项至关重要的任务。它决定了哪些用户或用户组可以对文件或目录执行读、写或执行等操作。传统的Linux权限模型基于用户、组和其他的概念&#xff0c;但随着时间的推移&#xff0c;这种模型在某些情况下显得…

​​​​​​​Sora:OpenAI的革命性AI视频模型与其对未来影像创作的影响

随着深度学习技术和计算能力的进步&#xff0c;人工智能不仅在图像识别、自然语言处理等领域取得了卓越成就&#xff0c;同时也在不断突破视频处理和生成的边界。在这一背景下&#xff0c;OpenAI推出了Sora——一种新型的AI视频模型&#xff0c;标志着AI在视频内容创作领域的又…

高并发Server的基石:reactor反应堆模式

业务开发同学只关心业务处理流程。但是我们开发的程序都是运行服务端server上&#xff0c;服务端server接收到IO请求后&#xff0c;是如何处理请求并最终进入业务流程的呢&#xff1f;这里不得不提到reactor反应堆模型。nginx tomcat redis nodejs dubbo等软件的网络处理模型都…

snmp协议开通教程

目录 一、什么是snmp协议&#xff1f; 二、snmp协议可以用来干什么&#xff1f; 三、snmp协议的开通 1、snmpv2协议开通 2、snmpv3协议开通 一、什么是snmp协议&#xff1f; SNMP&#xff08;Simple Network Management Protocol&#xff09;是一种用于网络管理的标准协议&a…

LDR6328 PD诱骗芯片:优化小家电Type-C接口充电体验与安全性的关键技术

随着科技的日新月异&#xff0c;小家电设备日趋智能化&#xff0c;Type-C接口因其便捷性在小家电领域的应用也日益增多。然而&#xff0c;Type-C接口的多样性导致设备在识别和使用不同充电方式时面临挑战。为应对这一问题&#xff0c;PD诱骗芯片应运而生&#xff0c;成为解决充…

ONLYOFFICE8.0——赋能办公

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-xdAoM2pHRmDFP0tF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

day41WEB 攻防-通用漏洞XMLXXE无回显DTD 实体伪协议代码审计

本章知识点&#xff1a; 1 、 XML&XXE- 原理 & 发现 & 利用 & 修复等 2 、 XML&XXE- 黑盒模式下的发现与利用 3 、 XML&XXE- 白盒模式下的审计与利用 4 、 XML&XXE- 无回显 & 伪协议 & 产生层面 配套资源&#xff08;百度网盘&#x…

【MySQL】数据库概述

目录 一、为什么使用数据库&#xff1f; 二、数据库与数据库管理系统 2.1 相关概念 2.2 两者关系 三、 MySQL介绍 四、 RDBMS和非RDBMS 4.1 关系型数据库&#xff08;RDBMS&#xff09; 4.2 非关系型数据库&#xff08;非RDBMS&#xff09; 五、关系型数据库设计规则 …

【C语言】linux内核ipoib模块 - ipoib_send

一、中文注释 int ipoib_send(struct net_device *dev, struct sk_buff *skb,struct ib_ah *address, u32 dqpn) {struct ipoib_dev_priv *priv ipoib_priv(dev); // 获取IPoIB设备的私有数据struct ipoib_tx_buf *tx_req; // 发送请求结构体int hlen, rc; // 分别为头部长度…