【问题标题】:how to delete specific image in folder using python opencv如何使用python opencv删除文件夹中的特定图像
【发布时间】:2020-10-17 23:11:15
【问题描述】:

我使用python OpenCV从图像中检测和裁剪文本,在这种情况下,有一些没有字母或任何其他符号的图像也被裁剪(空白区域)被添加到我想要的文件夹中删除那些我使用cv2.findNonZeros 删除这些图像的特定图像,但我无法做到这一点,

我想在我的代码中使用 python 删除这个图像,有什么简单的逻辑可以实现这个吗?

【问题讨论】:

标签: python python-3.x opencv ocr


【解决方案1】:

您的算法应如下所示: 对于文件夹中的每个图像,检查所有像素是否都是白色的(在这里您还可以检查文件是否为图像)。如果所有像素都是白色删除文件。

  1. 如何遍历目录:Loop through directory of images and rotate them all x degrees and save to directory

  2. 检查图像是否全是白色像素:Check if image is all white pixels with OpenCV

  3. 删除文件:https://www.dummies.com/programming/python/how-to-delete-a-file-in-python/

通过此链接,您可以轻松解决您的问题

【讨论】:

  • 我按照你说的尝试并发布答案,如果我实现了,谢谢-@xszym
【解决方案2】:

因此您需要删除所有单一颜色的图像,即完整的黑色/白色/任何其他颜色。

import Image, os
import os
path = "C:\\Users\\Ajju\\Desktop\\test_images"
for filename in os.listdir(path):
    img = Image.open(path + '\\' + filename)
    clrs = img.getcolors()
    print filename, len(clrs)
    if len(clrs) == 1:
        os.remove(path + '\\' + filename)

注意事项:

  1. 不要把你的脚本和图片放在同一个文件夹中,因为它会尝试将你的脚本作为图片打开,并抛出错误。

  2. len(clrs) 实际上显示图像中有多少种颜色。如果为 1,则表示图像是一种颜色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 2011-01-11
    • 2017-08-21
    • 2020-08-24
    相关资源
    最近更新 更多