如何使用python opencv删除文件夹中的特定图像

2024-10-02 02:27:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python OpenCV从图像中检测和裁剪文本,在本例中,有些图像没有字母或任何其他符号也被裁剪(空白区域)添加到文件夹中,我想删除那些特定的图像,我使用cv2.findNonZeros删除这些图像,但我无法实现,enter image description here

我想在我的代码中使用python删除这个图像,有没有简单的逻辑来实现这一点


Tags: 代码图像文本文件夹区域字母符号逻辑
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,则表示图像为一种颜色

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

  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/

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

相关问题 更多 >

    热门问题