【问题标题】:How to detect a full black color image in OpenCV Python?如何在 OpenCV Python 中检测全黑色图像?
【发布时间】:2017-05-15 08:43:18
【问题描述】:

我想在 python 中编写代码以在输入图像完全为黑色且其中不存在其他颜色时打印文本。要使用哪些功能?

【问题讨论】:

    标签: python python-2.7 opencv


    【解决方案1】:

    试试这个:

    # open the file with opencv
    image = cv2.imread("image.jpg", 0)
    if cv2.countNonZero(image) == 0:
        print "Image is black"
    else:
        print "Colored image"
    

    您基本上检查所有像素值是否为 0(黑色)。

    【讨论】:

      【解决方案2】:
      image = cv2.imread("image.jpg", 0)
      if cv2.countNonZero(image) == 0:
          print "Image is black"
      else:
          print "Colored image"
      

      @ebeneditos 提供的上面的 sn-p 是一个好主意,但在我的测试中,opencv 在捕获彩色图像时会返回断言错误。

      根据opencv communitycountNonZero() 只能处理单通道图像。因此,一种简单的解决方案是在计算像素之前将图像转换为灰度。这里是:

      gray_version = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
      if cv2.countNonZero(gray_version) == 0:
          print("Error")
      else:
          print("Image is fine")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-10-26
        • 1970-01-01
        • 1970-01-01
        • 2016-12-17
        • 2020-02-01
        • 2012-02-15
        • 2022-01-07
        相关资源
        最近更新 更多