opencv 图像基础处理_灰度图像

opencv 学习2_灰度图像

二值图像表示起来简单方便,但是因为其仅有黑白两种颜色,所表示的图像不够细腻。如果想要表现更多的细节,就需要使用更多的颜色。例如,图 2-3 中的 lena 图像是一幅灰度图像,
它采用了更多的数值以体现不同的颜色,因此该图像的细节信息更丰富。

在这里插入图片描述
通常,计算机会将灰度处理为 256 个灰度级,用数值区间[0, 255]来表示。其中,数值“255”表示纯白色,数值“0”表示纯黑色,其余的数值表示从纯白到纯黑之间不同级别的灰度。
用于表示 256 个灰度级的数值 0~255,正好可以用一个字节(8 位二进制值)来表示。
表 2-1 所示的是部分二进制值所对应的十进制值及灰度颜色。

在这里插入图片描述
在这里插入图片描述
按照上述方法,图 2-3 中的图像需要使用一个各行各列的数值都在[0, 255]之间的矩阵来表
示。例如,图 2-4 就是图 2-3 的 lena 图像中部分区域的数值表示形式。
在这里插入图片描述
在计算机视觉(Computer Vision)领域中,灰度图像(Grayscale Image)是一种常见的图像表示方式。灰度图像只有一个通道,每个像素仅包含一个表示灰度级别的数值。

在计算机视觉任务中,使用灰度图像有几个优点:

1.简化计算:灰度图像只包含一个通道,相比于彩色图像的多个通道,处理灰度图像的计算量更小,计算速度更快。

2.降低噪声:由于灰度图像不包含彩色信息,它们对噪声更加鲁棒。在某些情况下,通过将彩色图像转换为灰度图像,可以减少图像中的噪声。

3.特征提取:在一些计算机视觉任务中,例如人脸检测、边缘检测等,只需要关注图像中的纹理、形状和亮度信息,而不需要颜色信息。因此,使用灰度图像进行特征提取更加方便和高效。

要将彩色图像转换为灰度图像,可以使用不同的方法,其中包括了上述提到的灰度计算公式:

灰度值 = (0.2989 * 红色值) + (0.5870 * 绿色值) + (0.1140 * 蓝色值)

还有其他一些简单的方法,例如简单地将红、绿和蓝三个通道的值进行平均。此外,许多计算机视觉库和软件包也提供了将彩色图像转换为灰度图像的函数和工具。这些函数可以方便地将彩色图像加载为灰度图像,并在后续的计算和分析中使用。

import cv2# 读取彩色图像
image = cv2.imread('color_image.jpg')# 将彩色图像转换为灰度图像
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 显示灰度图像
cv2.imshow('Gray Image', gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

我们首先使用cv2.imread()函数读取彩色图像,并将其存储在image变量中。然后,使用cv2.cvtColor()函数将image转换为灰度图像,转换结果存储在gray_image变量中。最后,使用cv2.imshow()函数显示灰度图像,并通过cv2.waitKey(0)等待用户按下键盘上的任意键来关闭图像窗口。

通过以上代码,你可以将彩色图像转换为灰度图像

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单线性回归评估指标+R Squared

使得每一个数据集尽可能的小 均方误差MSE:(平方和取平均值) 均方根误差RMSE:(平方和取平均值开根号):平均误差值 平均绝对误差MAE:(绝对值取平均)&#xff1a…

Vue3通透教程【十八】TS为组件的props标注类型

文章目录 🌟 写在前面🌟 回顾defineProps的基础写法🌟 defineProps的TS写法🌟 withDefaults方法🌟 拓展🌟 写在最后 🌟 写在前面 专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 …

内网安全:内网穿透详解

目录 内网穿透技术 内网穿透原理 实验环境 内网穿透项目 内网穿透:Ngrok 配置服务端 客户端配置 客户端生成后门,等待目标上线 内网穿透:Frp 客户端服务端建立连接 MSF生成后门,等待上线 内网穿透:Nps 服…

【Linux】- Linux 磁盘分区、挂载

Linux 磁盘分区、挂载 1.1 Linux 分区1.2 硬盘说明1.3 磁盘情况查询 1.1 Linux 分区 原理介绍 Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系…

Mac搭建安卓模拟器(支持M1/M2)

引言 最近在研究Vue打包成app,给我的报价器搞一个移动端,奈何没有安卓手机用于测试。所以想到安装一个安卓模拟器。 看了下目前主流的安卓模拟器基本都不支持Mac版本。网易的mumu目前来看还是只支持Intel芯。 1. 简单版(仅M系)…

BigTable:一个针对结构化数据的分布式存储系统----论文摘要

目录 摘要 1. 介绍 2. 数据模型 行 列族 时间戳 3. API 4. 所需构件 5. 实现 5.1 Tablet的位置 5.2 Tablet分配 5.3 Tablet服务 5.4 压实(Compactions) 6. 优化 本地化分组 压缩(compression) 通过缓存提高读操作的性能 Bloom过滤器 C…

数据库查询速度上不去的查询和分析

主要原因 数据库查询速度上不去、阻塞是指在并发访问 MySQL 数据库时,某个事务占用了资源并且长时间不释放,导致其他事务无法执行或执行缓慢的情况。MySQL 阻塞可能会导致数据库性能下降,甚至出现死锁等问题,需要马上进行处理。在 MySQL中,线程阻塞可能是由于以下原因导致…

基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测)

●项目名称 基于人工智能与边缘计算Aidlux的鸟类检测驱赶系统(可修改为coco 80类目标检测) ●项目简介 本项目在Aidlux上部署鸟类检测驱赶系统,通过视觉技术检测到有鸟类时,会进行提示。并可在源码上修改coco 80类目标检测索引直…

ELK-日志服务【logstash-安装与使用】

目录 【1】安装logstash logstash input 插件的作用与使用方式 【2】input --> stdin插件:从标准输入读取数据,从标准输出中输出内容 【3】input -- > file插件:从文件中读取数据 【4】input -- > beat插件:从filebe…

开发跨平台APP,是用Flutter还是React Native开发框架?

随着移动互联网的飞速发展,对于开发人员而言,如何快速地开发出兼容不同平台(iOS、Android)的应用,成为了一个重要的问题。 跨平台应用程序开发框架的好处: 1. 一个App适用于多个设备; 2. 一个…

【CSDN新星计划】初阶牛C/C++赛道——顺序程序设计(C语句②)

目录 3.2 最基本的语句——赋值语句 3.2 最基本的语句——赋值语句 在C程序中最常用的语句是:赋值语句和输入输出语句。其中最基本的是赋值语句程序中的计算功能大部分是由赋值语句实现的,几乎每一个有实用价值的程序都包括赋值语句。有的程序中的大部分语句都是赋值语句。先介…

arcgis实现影像监督分类

1、打开ArcMap,右击空白处打开影像分类工具栏,如下: 2、打开影像,如下: 打开的影像由于未经处理,颜色看起来很昏暗,这时候可以拉伸一下。具体操作,右击图层选择属性,如下&#xff1a…

基于springboot,vue网上订餐系统

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 前端技术 :VueElementUI 服务端技术:springbootmybatisredis 本系统分用户前台和管理后台两部分,项…

亚马逊评论点赞的作用

在亚马逊上,评论点赞可以起到几个重要的作用: 1、增加可信度:当一个产品或服务有很多积极的评论点赞时,其他用户会更容易相信这些评论的可靠性。点赞数量多的评论通常被认为是由多个用户验证的,并且对于潜在买家来说&…

SpringBoot中注入ServletFilterListener

1.基本介绍 文档:SpringBoot中注入Servlet&Filter&Listener 考虑到实际开发业务非常复杂和兼容问题,SpringBoot支持将Servlet、Filter、Listener注入spring容器中,成为Spring Bean也就是说,SpringBoot开放了和原生WEB组件…

基于单片机智能洗衣机设计与实现

功能介绍 以51单片机作为主控系统;利用STC89C52单片机进行数据处理; 通过2路继电器分别控制洗衣机进水、出水相关逻辑运算;采用L298去掉直流电机实现滚筒正反转;通过单片机进行处理数据,把采集到的数据通过LCD液晶显示…

基于Nonconvex规划的配电网重构研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

网络安全与密码学

1、网络安全威胁 破坏网络安全的一些理论方式: 窃听:窃听信息,在网路通信双方直接进行窃听。 插入:主动在网络连接中插入信息(可以在message中插入恶意信息) 假冒:伪造(spoof&#x…

SQLServer2022安装(Windows),已验证

二、安装可视化工具SSMS 接下来安装可视化工具SSMS,现在新版本默认都是没有可视化界面,需要单独安装 (1)地址:下载 SQL Server Management Studio (SSMS) - SQL Server Management Studio (SSMS) | Microsoft Learn…

LayUI之CRUD(增删改查)

目录 一、前期准备 1.数据表格 2.弹出层 3.用户表数据查询 二、用户管理后台编写 三、前端JS编写 四、效果展示 一、前期准备 1.数据表格 在layui官网找到我们需要的数据表格 根据需求复制修改代码,再找到表单复制一个输入框和按钮,做一个搜索功能…