如何更改Django默认主页为自定义主页,更改Djago默认主页为自定义主页,这是开始网页的第一步。......
opencv实现图片的亮度检测--python环境
亮度检测作为对图片质量参数的评价参数之一,也是有较多的方法。
作为补充介绍几种亮度的判断方法。
工具/原料
- pycharm win7环境
- opencv3 python3
方法/步骤
根据百度百科官网介绍所谓亮度就是(总得来点高大上的):
亮度是指发光体(反光体)表面发光(反光)强弱的物理量。
亮度也称明度,表示色彩的明暗程度。
而在python程序里
我们可以使用多种方法进行亮度评价检测。
比如: python提供了厉害的PIL库 借助于PIL我们方便的可以统计亮度信息
并得到结果!
还是老图老味道
import cv2 as cv
import numpy as np
import copy
import random
import math
from PIL import Image
from PIL import ImageStat #就靠他了
img = cv.imread('c:\\meiping1.png')
cv.imshow('img', img)
把图转成灰度然后使用ImageStat.Stat(im) 进行计算 返回平均值
def brightness1( im_file ): im = Image.open(im_file).convert('L') stat = ImageStat.Stat(im) return stat.mean[0]
print(brightness1('c:\\meiping1.png'))
RMS方法 把图转成灰度然后使用ImageStat.Stat(im)
def brightness2( im_file ): im = Image.open(im_file).convert('L') stat = ImageStat.Stat(im) return stat.rms[0]
print(brightness2('c:\\meiping1.png'))
采用经验公式 像素的方式处理计算
def brightness3( im_file ): im = Image.open(im_file) stat = ImageStat.Stat(im) r,g,b = stat.mean return math.sqrt(0.241*(r**2) 0.691*(g**2) 0.068*(b**2))
print(brightness3('c:\\meiping1.png'))
结合像素 RGB公式 RMS的方法进行计算
def brightness4( im_file ):
im = Image.open(im_file)
stat = ImageStat.Stat(im)
r,g,b = stat.rms
return math.sqrt(0.241*(r**2) 0.691*(g**2) 0.068*(b**2))
小结:
根据几种方法得出
148.03313569266876
154.516620719862
148.78732874377505
156.51971831901835
基本接近 作为一种粗略的统计方法还是有参考价值!
注意事项
- 要引入PIL库才能使用
- 几种评价方法结果并不相同,作为参考数据还是够用的
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: python
相关文章
- 详细阅读
-
python中关于单/双引号和转义引号的区别详细阅读
python中关于单/双引号和转义引号的区别,ytho中单/双引号的作用是将引号中间的符号以字符串的形式传递,而在ytho中它们两个的功能是一样的,只不过在遇到转义引号的时候,两者的使用才有所区别,现......
2023-03-16 313 python
- 详细阅读