优草派  >   Python

python中如何删除相似的图片?这两个方法非常好用

陈立鑫            来源:优草派

Python是非常便捷的一门语言,它可以实现少量代码解决复杂事件,那么今天小编就给大家分享一个python中删除相似的图片的方法,如果感兴趣的小伙伴可以仔细阅读一下这篇文章。

python中如何删除相似的图片?这两个方法非常好用

方法一:首先比较相邻两个文件的相似度,这两个文件相似就把第二个加到新列表里,然后进行新列表去重,统一删除。

例如:有文件1-10,首先1和2相比较,若相似,则把2加入到新列表里,再接着2和3相比较,若不相似,则继续进行3和4比较...一直比到最后,然后删除新列表里的图片

代码如下:

#!/usr/bin/env python# -*- coding: utf-8 -*-
 # @Time    : 2019/1/15 9:19
 # @Author  : xiaodai
 import os
 import cv2
 from skimage.measure import compare_ssim
 # import shutil
 # def yidong(filename1,filename2):
 #     shutil.move(filename1,filename2)
 def delete(filename1):
     os.remove(filename1)
 if __name__ == '__main__':
     path = r'D:camera_pic       est
 ec_pic'
     # save_path_img = r'E:�115_test
 ec_pic'
     # os.makedirs(save_path_img, exist_ok=True)
     img_path = path
     imgs_n = []
     num = []
     img_files = [os.path.join(rootdir, file) for rootdir, _, files in os.walk(path) 
     for file in files if
                  (file.endswith('.jpg'))]
     for currIndex, filename in enumerate(img_files):
         if not os.path.exists(img_files[currIndex]):
             print('not exist', img_files[currIndex])
             break
         img = cv2.imread(img_files[currIndex])
         img1 = cv2.imread(img_files[currIndex + 1])
         ssim = compare_ssim(img, img1, multichannel=True)
         if ssim > 0.9:
             imgs_n.append(img_files[currIndex + 1])
             print(img_files[currIndex], img_files[currIndex + 1], ssim)
         else:
             print('small_ssim',img_files[currIndex], img_files[currIndex + 1], ssim)
         currIndex += 1
         if currIndex >= len(img_files)-1:
             break
     for image in imgs_n:
         # yidong(image, save_path_img)
         delete(image)

方法二:逐个去比较,若相似,则从原来列表删除,添加到新列表里,若不相似,则继续

例如:有文件1-10,首先1和2相比较,若相似,则把2在原列表删除同时加入到新列表里,再接着1和3相比较,若不相似,则继续进行1和4比较...一直比,到最后一个,再继续,正常应该再从2开始比较,但2被删除了,所以从3开始,继续之前的操作,最后把新列表里的删除。

以上就是小编给大家带来的在python中删除相似的图片的方法了,希望大家通过阅读小编的文章之后能够有所收获!如果大家觉得小编的文章不错的话,可以多多分享给有需要的人。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行