需要源码和图片集请点赞关注收藏后评论区留言~~~

像素是图像的最小单位。每一幅图像都是由M行N列的像素组成的,其中每一个像素都存储一个像素值。以灰度图像为例,计算机通常把灰度图像的像素处理为256个灰度级别,256个灰度级别分别使用区间[0, 255]中的整数数值表示。其中,“0”表示纯黑色;“255”表示纯白色

内容结构如下

通常把一个小方块称作一个像素,因此,一个像素是具有一定面积的一个块,而不是一个点,需要注意的是,像素的形状是不固定的,大多数情况下,像素被认为是方形的,但有时也可能是圆形的或者是其他形状的

一、确定像素的位置

用“画图”工具打开图4.1

可以在下方看到219×292像素 即水平方向的像素是219个,垂直方向的像素是292个

接下来我们打印这个位置坐标的像素 注意像素坐标表示方法是(y,x)索引从0开始

import cv2image = cv2.imread("2.1.jpg") # 读取D盘根目录下的2.1.jpg
px = image[291, 218] # 坐标为(291, 218)上的像素
print(px)

二、获取像素的BGR值

从上图可以看出,像素的值由三个坐标表示,下面我们对这三个数值进行讲解

我们将红色 绿色和蓝色三种颜色称为三种基色,如果将这三种颜色以不同的比例进行混合,人眼就会感知到丰富多彩的颜色

在RGB色彩空间中,存在三个通道,即R通道,G通道和B通道,分别指代红色通道,绿色通道和蓝色通道,都在区间(0,255)内取值

这样 计算机利用三个色彩通道的不同组合来表示不同的颜色

但是在OpenCV中是BGR色彩空间,即打印的顺序是蓝色 绿色 红色

如果想单独获得BGR通道的值 那么可以执行如下代码

blue=image[291,218,0]

其中最后一个数值0表示B通道

1表示G通道

2表示R通道

三、修改像素的BGR值

对于BGR色彩空间的值,当每个像素的BGR的三个数值相等时,就可以得到灰度图像,其中BGR=0为纯黑色,BGR=255为纯白色

下面修改指定区域内的所有像素

可见我们将图片右下角全部修改为了白色

代码如下

import cv2image = cv2.imread("4.1.jpg")
cv2.imshow("4.1", image) # 显示图4.1
for i in range(241, 292): # i表示横坐标,在区间[241, 291]内取值for j in range(168, 219): # j表示纵坐标,在区间[168, 218]内取值image[i, j] = [255, 255, 255] # 把区域内的所有像素都修改为白色
cv2.imshow("4.8", image) # 显示图4.8
cv2.waitKey()
cv2.destroyAllWindows() # 关闭所有的窗口时,销毁所有窗口

 创作不易 觉得有帮助请点赞关注收藏~~~

OpenCV中确定像素位置及获取、修改像素BGR值讲解及演示(Python实现 附源码)相关推荐

  1. cesium获取模型高度_Cesium专栏-空间分析之剖面分析(附源码下载)

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  2. 【Android App】物联网中查看手机支持的传感器及实现摇一摇功能-加速度传感器(附源码和演示 超详细)

    需要源码请点赞关注收藏后评论区留言~~~ 一.传感器的种类 传感器Sensor是一系列感应器的总称,是Android设备用来感知周围环境和运动信息的工具. 因为具体的感应信息依赖于相关硬件,所以虽然A ...

  3. 动态规划法在汽车租赁问题中的实战(使用策略迭代法得到最优策略和最优价值 python实现 附源码)

    需要源码请点赞关注收藏评论区留言或私信博主~~~ 策略迭代的关键部分是策略评估,首先评估状态的价值,然后根据状态的动作值进行相应的策略改进,并进行下一轮评估和改进.直到策略稳定,策略改进可以通过求解静 ...

  4. Halcon转OpenCV实例--去除纸张中的颜色笔迹/墨迹(附源码)

    导读 本文主要介绍一个去除纸张中颜色笔迹/墨迹的实例,并将Halcon实现转为OpenCV. 实例来源 实例来源于51Halcon论坛的讨论贴: https://www.51halcon.com/fo ...

  5. apache poi 修改docx表格_一个excel(20M)就能干趴你的poi,你信吗(附源码)?

    点击上方"阿拉奇学Java",选择"置顶或者星标" 优质文章第一时间送达! 链接: www.cnblogs.com/rongdi/p/11872810.html ...

  6. 520表白网站(附源码与修改教程)

    520网站(附源码与修改教程) 一.前言 二.作品简介 三.表白小网站的修改 四.总结及其获取方式 一.前言 马上520了,有男朋友或者女朋友的小伙伴呢,可能又带来一个烦恼了,又是一个烦人的520,我 ...

  7. PyQt5 + Python3.7 + OpenCV人脸识别身份认证系统(附源码)

    基于PyQt5 + Python3.7 + OpenCV实现的人脸识别身份认证系统,附源码. 技术选型 PyQt5 + Python3.7 + OpenCV 功能概述 实现人员注册,信息修改,人脸识别 ...

  8. 使用OpenCV处理图片的亮度、对比度、曝光、高光、阴影、饱和度、色温,色相(附源码)

    屏幕录制2023-05-22 22.09.32 集成opencv的方式请参照上一个帖子 OpenCV在iOS端的集成及Mat和UIImage互相转化(附源码) 废话不多说直接上代码,伸手党福利: 代码 ...

  9. C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...

    原文:C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github. ...

最新文章

  1. 壁纸引擎java运行库_Microsoft Windows Desktop Runtime v5.0.0 桌面程序运行库(含常规运行库)...
  2. 支持多种小程序!阿里云ARMS推出小程序监控
  3. apache安装mod_ssl.so 出现 undefined symbol: ssl_cmd_SSLPassPhraseDialog错误解决
  4. pyqt 槽任意参数_PyQt5快速入门(二)PyQt5信号槽机制
  5. 思科路由器动态NAT配置
  6. 关于MCU、CPU扩展SDRAM的一个小知识
  7. 2. Vue基础语法
  8. 使用Photoshop+960 Grid System模板进行网页设计
  9. 【牛客网小白月赛12】华华听月月唱歌(贪心+区间覆盖问题)
  10. CS61A 系列课程笔记(一)
  11. 计算机类中英附录,欧盟gmp附录11-计算机系统(中英文对照)-20210410004737.docx-原创力文档...
  12. No serializer的解决方法
  13. xdg在Linux中的用法,Linux实用命令之xdg-open
  14. 通过access口加vlan标签吗_如何理解:“Access端口加入的VLAN必须已经存在并且不能是VLAN 1;Hybrid端口加入的VLAN必须已经存在;Trun...
  15. iOS 的 (签名验签)Code Signing 体系
  16. 基于拦截器实现防表单重复提交
  17. 如何开发一个动物识别系统毕业设计毕设作品
  18. 爬虫技术python爬到女性语音_python爬虫看看虎牙女主播中谁最“顶”步骤详解
  19. 计算机编程ebcdic码,EBCDIC和BCD码
  20. Linux内核- KSM

热门文章

  1. 创业者如何用正确的思维方式经营客户
  2. 爱奇艺的 数据库 选型到底有多牛逼?
  3. iPhone短信删除了怎么恢复
  4. 为什么sparksession.sql(“set hive.support.quoted.identifiers=none”)不起作用?
  5. 绝地求生改文件选服务器,绝地求生怎么改文件位置 | 手游网游页游攻略大全
  6. 网课搜题接口之公众号搜题系统
  7. 安全驾驶技术与精通(从初学者到大师级)
  8. Flutter我来啦
  9. java开发魔术相机,百变魔术相机app
  10. 域计算机软件安装统计,域环境下电脑硬件信息统计的解决方案