优草派  >   Python

Python中如何分析图片的灰度?Python图片灰度怎么获取

罗西汉            来源:优草派

如果想要使用python开发出一个人脸识别或者是图像识别的程序,那么就需要对图片的许多属性进行分析和处理操作。下面这篇文章将会介绍python中分析图片属性灰度的方法,一起往下看看吧。

Python中如何分析图片的灰度?Python图片灰度怎么获取

一般来说,图片的数字图像是RGB类型的3通道图像。而灰度指的就是整个图片亮度的明暗程度,因为在进行python图像识别时有些参数只有在一些特殊的灰度下才能取得。图片灰度的计算公式为0.2989*R+0.5870*G+0.1140*B,python分析图片灰度的代码解析如下。

1.python中对图像进行处理和数学计算需要导入以下几个库,代码如下:

import matplotlib.pyplot as plt 
import cv2
import numpy as np

2.获取图像并以RGB格式读取,图像的通道顺位BGR,示例如下:

img=cv2.imread('img.path.jpg')    # 括号内的参数需要换成图片的路径

3.使用uint8的数据格式并以RBG顺序将图片显示出来,代码如下

plt.figure(figsize=(15,10))
plt.imshow(cv2.cvtColor(img.astype(np.uint8), cv2.COLOR_BGR2RGB))
plt.show()

4.图片显示出来后就可以将图像的灰度进行计算处理,并对图片进行灰度的设置,示例如下

img=0.2989*img[:,:,2]+0.5870*img[:,:,1]+0.1140*img[:,:,0]
plt.figure(figsize=(15,10))
plt.imshow(cv2.cvtColor(img.astype(np.uint8), cv2.COLOR_BGR2GRAY),cmap='gray')

5.灰度设置完成后计算两张图片的差异的得出原本图片的灰度,代码如下:

img3=0.2989*img[:,:,2]+0.5870*img[:,:,1]+0.1140*img[:,:,0]
img2=cv2.cvtColor(img.astype(np.uint8), cv2.COLOR_BGR2GRAY)
print((img3-img2).sum()/(img.shape[0]*img.shape[1]))
0.0072855376781315

以上就是关于“Python中如何分析图片的灰度?Python图片灰度怎么获取”的全部内容了,想要了解更多python的实用知识和代码示例可以在网页顶部栏目中找到python查看更多哦。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行