av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

使用python如何刪除同一文件夾下相似的圖片

瀏覽:13日期:2022-06-20 13:52:24

前言

最近整理圖片發(fā)現(xiàn),好多圖片都非常相似,于是寫如下代碼去刪除,有兩種方法:

注:第一種方法只對于連續(xù)圖片(例一個視頻里截下的圖片)準(zhǔn)確率也較高,其效率高;第二種方法準(zhǔn)確率高,但效率低

方法一:相鄰兩個文件比較相似度,相似就把第二個加到新列表里,然后進(jìn)行新列表去重,統(tǒng)一刪除。

例如:有文件1-10,首先1和2相比較,若相似,則把2加入到新列表里,再接著2和3相比較,若不相似,則繼續(xù)進(jìn)行3和4比較…一直比到最后,然后刪除新列表里的圖片

代碼如下:

#!/usr/bin/env python# -*- coding: utf-8 -*-import osimport cv2from 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_pictestrec_pic’ # save_path_img = r’E:0115_testrec_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]) breakimg = 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 += 1if currIndex >= len(img_files)-1: break for image in imgs_n:# yidong(image, save_path_img)delete(image)

方法二:逐個去比較,若相似,則從原來列表刪除,添加到新列表里,若不相似,則繼續(xù)

例如:有文件1-10,首先1和2相比較,若相似,則把2在原列表刪除同時加入到新列表里,再接著1和3相比較,若不相似,則繼續(xù)進(jìn)行1和4比較…一直比,到最后一個,再繼續(xù),正常應(yīng)該再從2開始比較,但2被刪除了,所以從3開始,繼續(xù)之前的操作,最后把新列表里的刪除。

代碼如下:

#!/usr/bin/env python# -*- coding: utf-8 -*-import osimport cv2from skimage.measure import compare_ssimimport shutilimport datetimedef yidong(filename1,filename2): shutil.move(filename1,filename2)def delete(filename1): os.remove(filename1) print(’real_time:’,now_now-now)if __name__ == ’__main__’: path = r’F:tempdemo’ # save_path_img = r’F:tempdemo_save’ # os.makedirs(save_path_img, exist_ok=True) for (root, dirs, files) in os.walk(path):for dirc in dirs: if dirc == ’rec_pic’:pic_path = os.path.join(root, dirc)img_path = pic_pathimgs_n = []num = []del_list = []img_files = [os.path.join(rootdir, file) for rootdir, _, files in os.walk(img_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 new_cur = 0 for i in range(10000000):currIndex1 =new_curif currIndex1 >= len(img_files) - currIndex - 1: breakelse: size = os.path.getsize(img_files[currIndex1 + currIndex + 1]) if size < 512:# delete(img_files[currIndex + 1])del_list.append(img_files.pop(currIndex1 + currIndex + 1)) else:img = cv2.imread(img_files[currIndex])img = cv2.resize(img, (46, 46), interpolation=cv2.INTER_CUBIC)img1 = cv2.imread(img_files[currIndex1 + currIndex + 1])img1 = cv2.resize(img1, (46, 46), interpolation=cv2.INTER_CUBIC)ssim = compare_ssim(img, img1, multichannel=True)if ssim > 0.9: # imgs_n.append(img_files[currIndex + 1]) print(img_files[currIndex], img_files[currIndex1 + currIndex + 1], ssim) del_list.append(img_files.pop(currIndex1 + currIndex + 1)) new_cur = currIndex1else: new_cur = currIndex1 + 1 print(’small_ssim’,img_files[currIndex], img_files[currIndex1 + currIndex + 1], ssim)for image in del_list: # yidong(image, save_path_img) delete(image) print(’delete’,image)

總結(jié)

到此這篇關(guān)于使用python如何刪除同一文件夾下相似圖片的文章就介紹到這了,更多相關(guān)python刪除文件夾相似圖片內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲激情一区 | 天天干天天干天天干 | 国产三级成人 | 精品久久久久久久 | 中文在线字幕免费观看 | 人人射人人干 | 国产一级黄色 | 欧美成人综合 | 国产视频中文字幕 | 亚洲精品综合 | 97超碰在线免费观看 | 日韩aaaa | 午夜精品国产 | a级片网站 | 伊人久久中文字幕 | 久操福利 | 国产一级视频在线观看 | 在线免费观看av网站 | 免费av网站在线观看 | 香蕉伊人网| www在线播放 | 久久黄色录像 | 亚洲成人毛片 | 国产三级在线免费观看 | 日韩精品国产一区 | 日韩国产一区二区三区 | 国产福利视频在线观看 | 欧美在线视频一区二区 | 日日夜夜精品视频免费 | 精品少妇一区二区三区免费观 | 91白浆| 女人一级一片30分 | 国产寡妇亲子伦一区二区三区四区 | 欧美视频在线观看免费 | 黄色在线免费网站 | 国产精品成人在线 | 亚洲成人a v | 日韩久久久久 | 在线日韩 | 精品视频免费在线观看 | 中文字幕日韩一区 |