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.hqwc.cn/news/21673.html

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

相关文章

如何用Three.js + Blender打造一个web 3D展览馆

作者:vivo 互联网前端团队- Wei Xing 运营活动新玩法层出不穷,web 3D炙手可热,本文将一步步带大家了解如何利用Three.js和Blender来打造一个沉浸式web 3D展览馆。 一、前言 3D展览馆是什么,先来预览下效果: 看起来像…

locust性能测试和分布式压测

一、工具介绍 Locust是一个开源的Python性能测试工具,用于模拟大量并发用户访问网站、API等,以测试系统的性能和稳定性。它的主要特点包括: 1.简单易用:Locust基于Python编写,使用方便,学习曲线较低。 2…

【高并发】高并发架构实战:从需求分析到系统设计

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员,2024届电子信息研究生 很多软件工程师的职业规划是成为架构师,但是要成为架构师很多时候要求先有架构设计经验,而不做架构师又怎么会有架构设计经验呢?那么要如何获得架构设…

【Unity3D 问题总结】☀️ | 解决LayoutGroup配合Content Size Fitter使用时发生子成员位置错乱问题

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 &…

【LLM】金融大模型场景和大模型Lora微调实战

文章目录 一、金融大模型背景二、大模型的研究问题三、大模型技术路线四、LLaMA家族模型五、Lora模型微调的原理六、大模型Lora微调实战Reference 一、金融大模型背景 金融行业需要垂直领域LLM,因为存在金融安全和数据大多数存储在本地,在风控、精度、实…

更开放、更高性能、更具规模,闪马智能布局AGI时代

7月6日,2023世界人工智能大会(WAIC 2023)在上海盛大开幕。本届大会以“智联世界 生成未来”为主题,聚焦通用人工智能发展,共话产业新未来。 8日上午,由上海闪马智能科技有限公司(下称“闪马智能…

声网 Agora音视频uniapp插件跑通详解

一、前言 在使用声网SDK做音视频会议开发时, 通过声网官方论坛 了解到,声网是提供uniapp插件的,只是在官方文档中不是很容易找到。 插件地址如下: Agora音视频插件 Agora音视频插件(JS) 本文讲解如何跑通演示示例 二、跑通Demo 2.1 环境安装: 参考: 2. 通过vue-…

在Excel电子表格中用公式实现最最简易的标签套打

每月要为单位新入职员工打印标签贴纸,贴于档案之上,之前是用Excel建立一张表,通过拖动单元格大小,调整文本位置,实现标签贴纸的打印功能。 后来,公司每月都会新招入一批员工,每次打印贴纸时&…

漏洞深度分析 | CVE-2023-36053-Django 表达式拒绝服务

​ 项目介绍 Django 是一个高级 Python Web 框架,鼓励快速开发和简洁、务实的设计。它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于编写应用程序,而无需重新发明轮子。它是免费且开源的。 项目地址…

数字化时代,企业的数据指标体系

在社会节奏越来越快,处理的信息量越来越大的今天,传统的经营管理模式已经适应不了当下的环境。而由经验、情感组成的业务调整以及决策能力不再能正确指导企业走在正确的方向上,所以数据就成为了企业新的业务优化调整和支撑企业高层管理进行决…

苹果Mac动态壁纸软件Dynamic Wallpaper

Dynamic Wallpaper 是一款桌面壁纸管理软件,它提供了动态壁纸的功能。动态壁纸是指可以在一段时间内自动更改外观的壁纸,比如根据时间或其他条件进行变化。这种壁纸可以为用户提供更加生动有趣的桌面体验。 Dynamic Wallpaper 软件具有以下特点和功能&am…

vue3+element+sortablejs实现table表格 行列动态拖拽

vue3elementsortablejs实现table动态拖拽 1.第一步我们要安装sortablejs依赖2.在我们需要的组件中引入3.完整代码4.效果 1.第一步我们要安装sortablejs依赖 去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片. npm install so…