• python 判断灰度图像


    from PIL import Image
    import matplotlib.pyplot as plt
    # 黑白照片(灰度图)识别
    def isGrayMap(img, threshold = 15):
        """
        入参:
        img:PIL读入的图像
        threshold:判断阈值,图片3个通道间差的方差均值小于阈值则判断为灰度图。
        阈值设置的越小,容忍出现彩色面积越小;设置的越大,那么就可以容忍出现一定面积的彩色,例如微博截图。
        如果阈值设置的过小,某些灰度图片会被漏检,这是因为某些黑白照片存在偏色,例如发黄的黑白老照片、
        噪声干扰导致灰度图不同通道间值出现偏差(理论上真正的灰度图是RGB三个通道的值完全相等或者只有一个通道,
        然而实际上各通道间像素值略微有偏差看起来仍是灰度图)
        出参:
        bool值
        """
        if len(img.getbands()) == 1:
            return True
        img1 = np.asarray(img.getchannel(channel=0), dtype=np.int16)
        img2 = np.asarray(img.getchannel(channel=1), dtype=np.int16)
        img3 = np.asarray(img.getchannel(channel=2), dtype=np.int16)
        diff1 = (img1 - img2).var()
        diff2 = (img2 - img3).var()
        diff3 = (img3 - img1).var()
        diff_sum = (diff1 + diff2 + diff3) / 3.0
        if diff_sum <= threshold:
            return True
        else:
            return False
  • 相关阅读:
    asp.net页面刷新后样式就发生了改变
    ASP.NET MVC 入门系列教程
    javascript打开邮箱服务器
    jquery验证邮箱
    MySQL数据库的索引类型
    JS判断浏览器
    Silverlight 3 新特性
    moss 2007 添加关键字及最佳匹配
    vs2008 常用快捷键
    Microsoft Enterprise Library 5.0正式版本已经发布
  • 原文地址:https://www.cnblogs.com/tingtin/p/12900564.html
Copyright © 2020-2023  润新知