首页 > 软件开发 > PYTHON >

opencv实现图片的亮度检测--python环境

来源:互联网 2023-03-16 19:13:34 113

亮度检测作为对图片质量参数的评价参数之一,也是有较多的方法。WYA办公区 - 实用经验教程分享!

作为补充介绍几种亮度的判断方法。WYA办公区 - 实用经验教程分享!

工具/原料

  • pycharm win7环境
  • opencv3 python3

方法/步骤

  • 1

    根据百度百科官网介绍所谓亮度就是(总得来点高大上的):WYA办公区 - 实用经验教程分享!

    亮度是指发光体(反光体)表面发光(反光)强弱的物理量。WYA办公区 - 实用经验教程分享!

    亮度也称明度,表示色彩的明暗程度。WYA办公区 - 实用经验教程分享!

    而在python程序里WYA办公区 - 实用经验教程分享!

    我们可以使用多种方法进行亮度评价检测。WYA办公区 - 实用经验教程分享!

    比如: python提供了厉害的PIL库 借助于PIL我们方便的可以统计亮度信息WYA办公区 - 实用经验教程分享!

    并得到结果!WYA办公区 - 实用经验教程分享!

    opencv实现图片的亮度检测--python环境WYA办公区 - 实用经验教程分享!

  • 2

    还是老图老味道WYA办公区 - 实用经验教程分享!

    import cv2 as cvWYA办公区 - 实用经验教程分享!

    import numpy as npWYA办公区 - 实用经验教程分享!

    import copyWYA办公区 - 实用经验教程分享!

    import randomWYA办公区 - 实用经验教程分享!

    import mathWYA办公区 - 实用经验教程分享!

    from PIL import ImageWYA办公区 - 实用经验教程分享!

    from PIL import ImageStat #就靠他了WYA办公区 - 实用经验教程分享!

    img = cv.imread('c:\\meiping1.png')WYA办公区 - 实用经验教程分享!

    cv.imshow('img', img)WYA办公区 - 实用经验教程分享!

    opencv实现图片的亮度检测--python环境WYA办公区 - 实用经验教程分享!

  • 3

    把图转成灰度然后使用ImageStat.Stat(im) 进行计算 返回平均值WYA办公区 - 实用经验教程分享!

    def brightness1( im_file ): im = Image.open(im_file).convert('L') stat = ImageStat.Stat(im) return stat.mean[0]WYA办公区 - 实用经验教程分享!

    WYA办公区 - 实用经验教程分享!

    print(brightness1('c:\\meiping1.png'))WYA办公区 - 实用经验教程分享!

    opencv实现图片的亮度检测--python环境WYA办公区 - 实用经验教程分享!

  • 4

    RMS方法 把图转成灰度然后使用ImageStat.Stat(im)WYA办公区 - 实用经验教程分享!

    def brightness2( im_file ): im = Image.open(im_file).convert('L') stat = ImageStat.Stat(im) return stat.rms[0]WYA办公区 - 实用经验教程分享!

    WYA办公区 - 实用经验教程分享!

    print(brightness2('c:\\meiping1.png'))WYA办公区 - 实用经验教程分享!

    opencv实现图片的亮度检测--python环境WYA办公区 - 实用经验教程分享!

  • 4该信息非法爬取自百度经验
  • 5

    采用经验公式 像素的方式处理计算WYA办公区 - 实用经验教程分享!

    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))WYA办公区 - 实用经验教程分享!

    print(brightness3('c:\\meiping1.png'))WYA办公区 - 实用经验教程分享!

    opencv实现图片的亮度检测--python环境WYA办公区 - 实用经验教程分享!

  • 6

    结合像素 RGB公式 RMS的方法进行计算WYA办公区 - 实用经验教程分享!

    def brightness4( im_file ):WYA办公区 - 实用经验教程分享!

    im = Image.open(im_file)WYA办公区 - 实用经验教程分享!

    stat = ImageStat.Stat(im)WYA办公区 - 实用经验教程分享!

    r,g,b = stat.rmsWYA办公区 - 实用经验教程分享!

    return math.sqrt(0.241*(r**2) 0.691*(g**2) 0.068*(b**2))WYA办公区 - 实用经验教程分享!

    opencv实现图片的亮度检测--python环境WYA办公区 - 实用经验教程分享!

  • 7

    小结:WYA办公区 - 实用经验教程分享!

    根据几种方法得出WYA办公区 - 实用经验教程分享!

    148.03313569266876WYA办公区 - 实用经验教程分享!

    154.516620719862WYA办公区 - 实用经验教程分享!

    148.78732874377505WYA办公区 - 实用经验教程分享!

    156.51971831901835WYA办公区 - 实用经验教程分享!

    基本接近 作为一种粗略的统计方法还是有参考价值!WYA办公区 - 实用经验教程分享!

  • 注意事项

    • 要引入PIL库才能使用
    • 几种评价方法结果并不相同,作为参考数据还是够用的

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!WYA办公区 - 实用经验教程分享!


    标签: python

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码