如何使用 python opencv 删除文件夹中的特定图像
how to delete specific image in folder using python opencv
我使用 python OpenCV 来检测和裁剪图像中的文本,在这种情况下,有一些图像没有字母或任何其他符号也被裁剪(空白区域)被添加到我想删除那些特定图像的文件夹 我用 cv2.findNonZeros
删除了这些图像,但我无法实现,
我想在我的代码中使用 python 删除此图像,是否有任何简单的逻辑可以实现此目的?
您的算法应如下所示:
对于文件夹中的每个图像,检查是否所有像素都是白色的(在这里您还可以检查文件是否为图像)。如果所有像素都是白色删除文件。
如何遍历目录:
检查图像是否全是白色像素:
删除一个文件:https://www.dummies.com/programming/python/how-to-delete-a-file-in-python/
使用此链接可以轻松解决您的问题
因此您需要删除所有单一颜色的图像,即完整Black/White/Any其他颜色。
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)
备注:
不要将您的脚本与图像放在同一文件夹中,因为它会尝试将您的脚本作为图像打开,并引发错误。
len(clrs) 实际上显示图像中存在多少种颜色。如果为 1,则表示图像是一种颜色。
我使用 python OpenCV 来检测和裁剪图像中的文本,在这种情况下,有一些图像没有字母或任何其他符号也被裁剪(空白区域)被添加到我想删除那些特定图像的文件夹 我用 cv2.findNonZeros
删除了这些图像,但我无法实现,
我想在我的代码中使用 python 删除此图像,是否有任何简单的逻辑可以实现此目的?
您的算法应如下所示: 对于文件夹中的每个图像,检查是否所有像素都是白色的(在这里您还可以检查文件是否为图像)。如果所有像素都是白色删除文件。
如何遍历目录:
检查图像是否全是白色像素:
删除一个文件:https://www.dummies.com/programming/python/how-to-delete-a-file-in-python/
使用此链接可以轻松解决您的问题
因此您需要删除所有单一颜色的图像,即完整Black/White/Any其他颜色。
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)
备注:
不要将您的脚本与图像放在同一文件夹中,因为它会尝试将您的脚本作为图像打开,并引发错误。
len(clrs) 实际上显示图像中存在多少种颜色。如果为 1,则表示图像是一种颜色。