栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Python分析图像亮度的方法有哪些?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Python分析图像亮度的方法有哪些?

使用问题中提到的技术,我提出了几个不同的版本。

每个方法都返回一个close值,但与其他方法不完全相同。另外,除了最后一种方法外,所有方法都以相同的速度运行,这取决于图像大小,速度要慢得多。

  1. 将图像转换为灰度,返回平均像素亮度。

    def brightness( im_file ):

    im = Image.open(im_file).convert(‘L’)
    stat = ImageStat.Stat(im)
    return stat.mean[0]

  2. 将图像转换为灰度,返回RMS像素亮度。

    def brightness( im_file ):

    im = Image.open(im_file).convert(‘L’)
    stat = ImageStat.Stat(im)
    return stat.rms[0]

  3. 平均像素,然后转换为“感知的亮度”。

    def brightness( im_file ):

    im = Image.open(im_file)
    stat = ImageStat.Stat(im)
    r,g,b = stat.mean
    return math.sqrt(0.241(r2) + 0.691(g2) + 0.068*(b2))

  4. 像素的RMS,然后转换为“感知的亮度”。

    def brightness( im_file ):

    im = Image.open(im_file)
    stat = ImageStat.Stat(im)
    r,g,b = stat.rms
    return math.sqrt(0.241(r2) + 0.691(g2) + 0.068*(b2))

  5. 计算像素的“感知亮度”,然后返回平均值。

    def brightness( im_file ):

    im = Image.open(im_file)
    stat = ImageStat.Stat(im)
    gs = (math.sqrt(0.241(r2) + 0.691(g2) + 0.068*(b2))
    for r,g,b in im.getdata())
    return sum(gs)/stat.count[0]

更新测试结果
我对200张图像进行了仿真。我发现方法#2,#4给出几乎相同的结果。方法#3,#5也几乎相同。方法#1紧跟在方法#3,#5之后(有一些例外)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/647177.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号