图像的灰度处理

这篇具有很好参考价值的文章主要介绍了图像的灰度处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在OpenCV中,灰度处理主要有两种方法:亮度法和加权平均法。
  1. 亮度法(Luminosity Method):灰度图像的亮度法是通过对彩色图像的RGB通道进行加权平均来计算灰度值。通常使用以下公式计算每个像素的灰度值, 其中,R、G、B分别表示红色、绿色和蓝色通道的像素值。该方法基于人眼对不同颜色通道的敏感度不同,通过加权平均的方式将彩色信息转换为灰度信息。
g r a y = 0.299 ∗ R + 0.587 ∗ G + 0.114 ∗ B gray = 0.299 * R + 0.587 * G + 0.114 * B gray=0.299R+0.587G+0.114B
  2. 加权平均法(Weighted Average Method):加权平均法是通过对彩色图像的RGB通道进行加权平均来计算灰度值。与亮度法不同的是,加权平均法使用了不同的权重系数,通常使用以下公式计算每个像素的灰度值,该方法简单地对三个通道进行均值计算,没有考虑人眼对不同通道的敏感度差异。
g r a y = ( R + G + B ) / 3 gray = (R + G + B) / 3 gray=(R+G+B)/3
灰度处理的原理是将彩色图像转换为灰度图像,即将每个像素的颜色信息转换为单一的灰度值。灰度处理的作用和意义如下:
  1. 降低数据维度:彩色图像通常包含了大量的冗余信息,而灰度图像只保留了图像的亮度信息。通过灰度处理,可以将图像的数据维度从三维(RGB通道)降低为二维(灰度值)。
  2. 简化图像处理:在许多图像处理任务中,只需要关注图像的亮度信息而不需要颜色信息。通过将图像转换为灰度图像,可以简化后续的图像处理操作,减少计算量和复杂度。
  3. 提高图像分析效果:在某些情况下,灰度图像可以更好地突出图像中的细节和特征。例如,在边缘检测、形状识别、人脸识别等任务中,使用灰度图像可以更容易地提取和分析图像的特征。
适用场景:
  1.当只关注图像的亮度信息而不需要颜色信息时,可以使用灰度处理。
  2.在一些计算密集型的图像处理任务中,如边缘检测、形状识别等,灰度图像可以提供更好的性能和准确性。
  3.当图像数据维度过高,需要进行数据降维时,可以将彩色图像转换为灰度图像。
  具体代码实现过程如下所示:文章来源地址https://www.toymoban.com/news/detail-515502.html

import cv2
import matplotlib.pyplot as plt

class Images_Gray:
	def __init__(self,image_path):
		self.image_path=image_path

	def To_Gray(self):
		img=cv2.imread(self.image_path,flags=1)# 读取彩色图像(BGR)
		if img is None:
			print('Unable to load image!')
			return
		else:
			img_gray=cv2.imread(self.image_path,flags=0)# flags=0 读取为灰度图像
			self.show_images(img,img_gray)

	def show_images(self,img1,img2):
		plt.figure(figsize=(9,6))
		plt.subplot(121),plt.axis('off'),plt.title('imgRGB')
		plt.imshow(cv2.cvtColor(img1,cv2.COLOR_BGR2RGB))
		plt.subplot(122),plt.axis('off'),plt.title('imgGray')
		plt.imshow(img2, cmap='gray')
		plt.show()

if __name__ == '__main__':
	imgfile="../Images/lena.jpg"
	img_gray=Images_Gray(imgfile)
	img_gray.To_Gray()

到了这里,关于图像的灰度处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV常用功能——灰度处理和图像二值化处理

    1.1 cvtColor函数 函数原型: 功能 :转换图像颜色空间。 参数 : src: 输入图像。 code: 颜色空间转换代码。可以取常量cv2.COLOR_BGR2GRAY或cv2.COLOR_RGB2GRAY。 dst: 输出图像。 dstCn: 输出图像的通道数,如果设置为0,则跟随转换代码自动设置。 内置函数示例代码: 灰度处理的原理是将

    2024年02月08日
    浏览(62)
  • 基于opencv的c++图像处理(灰度变换)

    基于opencv的c++接口,实现常用的图像灰度变换方法,包括了线性变换、图像反转、对数变换和伽马变换。 函数 cv::normalize 标准化缩放和移动输入数组元素 当 normType=NORM_MINMAX 时(仅适用于密集数组)。可选掩码指定要规范化的子数组。这意味着在子数组上计算范数或 min-n-ma

    2024年02月04日
    浏览(72)
  • C#使用OpenCv(OpenCVSharp)图像处理实例:亮度、对比度、灰度

    本文实例演示C#语言中如何使用OpenCv(OpenCVSharp)对图像进行亮度、对比度、灰度处理。 目录 亮度和对比度原理 灰度 实例 图像亮度通俗理解便是图像的明暗程度,数字图像 f(x,y) = i(x,y) r(x, y) ,如果灰度值在[0,255]之间,则 f 值越接近0亮度越低,f 值越接近255亮度越

    2024年02月13日
    浏览(76)
  • opencv读取灰度图像

    本文档创建于2023年3月10日 本文记录了C++版opencv读取灰度图像的不同方式及区别 作者:RobotFreak C++版的 opencv 读取灰度图像可以有不同的方法,这里列出几种方法,并简述它们的区别。 这里用到的两张图片为lena.jpg(彩色)和lena.bmp(灰度) 图像本身就是灰度图像,直接使用

    2024年02月06日
    浏览(66)
  • opencv图像灰度化

      图像灰度化就是将图像的亮度值(R,G,B)按照一定的方式映射到0-255之间的灰度值上,为了使图像看起来不那么单调,需要将图像的亮度值进行变换。下面简单介绍下 opencv中的灰度化函数: 1、先将图像的像素值转换为R,G,B三个分量,其中R分量用于图像灰度变换,G分量用于

    2024年02月09日
    浏览(43)
  • 图像处理之图像灰度化

    图像灰度化 彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万 (255 255 255)的颜色的变化范用。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像(R=G=B),其一个像素点的变化范围为255种,所以在数字图像处理

    2024年02月15日
    浏览(42)
  • 计算机视觉学习笔记(图像的灰度与灰度级 图像的深度 图像噪声 图像处理)

    如果把白色和黑色之间按对数关系分为若干等级,称为灰度,灰度分为256阶,0为黑色,灰度就是没有色彩,RGB色彩分量全部相等(150,150,150)就代表灰度为150. 一幅图像中不同位置的亮度是不一样的,可用f(x,y)来表示(x,y)上的亮度。由于光是一种能量形式,因此亮度是非负

    2024年02月01日
    浏览(61)
  • 图像预处理算法————灰度化处理

    图像预处理算法适合在FPGA上完成,原理简单且需要快速处理,通常有灰度化、中值、均值滤波等,以及颜色空间转换算法。 灰度图像是一种特殊的彩色图像(R=G=B的彩色图像) 只有一种颜色分量,单通道的0-255 方法:一般有分量法、最大值法、平均值法、加权平均法四种方

    2024年01月17日
    浏览(51)
  • 图像处理(二值图、灰度图、彩色图像)

    图像处理之二值图像、灰度图像、RGB图像 1、二值图像 定义:二值图像是值仅仅包含黑色和白色的图像 计算机在处理时,会把黑色像素点处理为0,白色像素点处理1。由于只用一个比特位就能表示,所以称之为二值图像。 2、灰度图 为了表达更丰富的颜色细节,灰度图采用更

    2024年02月06日
    浏览(61)
  • 图像的灰度处理

    在OpenCV中,灰度处理主要有两种方法:亮度法和加权平均法。   1. 亮度法(Luminosity Method):灰度图像的亮度法是通过对彩色图像的RGB通道进行加权平均来计算灰度值。通常使用以下公式计算每个像素的灰度值, 其中,R、G、B分别表示红色、绿色和蓝色通道的像素值。该方

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包