电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

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

前言

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

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

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

例如:有文件1-10,首先1和2相比較,若相似,則把2加入到新列表里,再接著2和3相比較,若不相似,則繼續進行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)

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

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

代碼如下:

#!/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)

總結

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 水厂自动化-水厂控制系统-泵站自动化|控制系统-闸门自动化控制-济南华通中控科技有限公司 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 线材成型机,线材折弯机,线材成型机厂家,贝朗自动化设备有限公司1 | 翅片管换热器「型号全」_厂家-淄博鑫科环保| 吹塑加工_大型吹塑加工_滚塑代加工-莱力奇吹塑加工有限公司 | 圣才学习网-考研考证学习平台,提供万种考研考证电子书、题库、视频课程等考试资料 | 上海道勤塑化有限公司| 除甲醛公司-甲醛检测-广西雅居环境科技有限公司 | 微妙网,专业的动画师、特效师、CG模型设计师网站! - wmiao.com 超声波电磁流量计-液位计-孔板流量计-料位计-江苏信仪自动化仪表有限公司 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 希望影视-高清影视vip热播电影电视剧免费在线抢先看 | 上海洗地机-洗地机厂家-全自动洗地机-手推式洗地机-上海滢皓洗地机 | 江苏南京多语种翻译-专业翻译公司报价-正规商务翻译机构-南京华彦翻译服务有限公司 | 专注氟塑料泵_衬氟泵_磁力泵_卧龙泵阀_化工泵专业品牌 - 梭川泵阀 | 电抗器-能曼电气-电抗器专业制造商| 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 小威小说网 - 新小威小说网 - 小威小说网小说搜索引擎 | 布袋除尘器|除尘器设备|除尘布袋|除尘设备_诺和环保设备 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 地磅-电子地磅维修-电子吊秤-汽车衡-无人值守系统-公路治超-鹰牌衡器 | 钢托盘,铁托盘,钢制托盘,镀锌托盘,饲料托盘,钢托盘制造商-南京飞天金属13260753852 | 聚合甘油__盐城市飞龙油脂有限公司 | 脉冲除尘器,除尘器厂家-淄博机械| 爆破器材运输车|烟花爆竹运输车|1-9类危险品厢式运输车|湖北江南专用特种汽车有限公司 | 医学动画公司-制作3d医学动画视频-医疗医学演示动画制作-医学三维动画制作公司 | 逗网红-抖音网红-快手网红-各大平台网红物品导航 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 全自动端子机|刺破式端子压接机|全自动双头沾锡机|全自动插胶壳端子机-东莞市傅氏兄弟机械设备有限公司 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 潜水搅拌机-双曲面搅拌机-潜水推进器|奥伯尔环保 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] |