图像筛选去重、去静止

主要使用 structural_similarity 算法判断两张图片的相似度。代码如下:

import numpy as np
from skimage.metrics import structural_similarity as ssim
import cv2 as cv
import os
import shutil
import sys
def compare_ssim(img1, img2):# 确保img1和img2是灰度图,如果不是,需要先转换if img1.ndim == 3:img1 = img1.mean(axis=2)if img2.ndim == 3:img2 = img2.mean(axis=2)(score, diff) = ssim(img1, img2, full=True)return score, diff# 假设 img1 和 img2 是两个 ndarray 图片
# score, diff = compare_ssim(img1, img2)
# print(f"SSIM: {score}, Diff: {diff}")def extract_number(s):return int(''.join(filter(str.isdigit, s)))
# 步骤 3: 使用 sorted() 函数进行排序
#sorted_list = sorted(string_list, key=extract_number)if __name__ == "__main__":# 原始目录 和 抽取保存目录img_folder = sys.argv[1]save_folder = sys.argv[2]os.makedirs(save_folder,exist_ok=True)img_list = os.listdir(img_folder)img_list.sort(key=extract_number)#print(img_list)SIZE = 64 #将图像缩放大小for id, imgname in enumerate(img_list):imgpath = os.path.join(img_folder, imgname)img= cv.resize(cv.imread(imgpath,cv.IMREAD_GRAYSCALE),(SIZE, SIZE))if id==0:base_img = img.copy()continueelse:score, diff = compare_ssim(base_img, img)judge = np.where(diff < 0.3, 0, 1)  # 大于0.3 认为是相同的块ss = judge.sum() / (SIZE * SIZE)if ss < 0.4: # 相同块比例低于0.4 才认为图片不相似shutil.copy(imgpath, save_folder)base_img = img.copy()print("copy : {}".format(imgpath))else:continue

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/455442.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

199116-50-2,Mito-Tracker Orange CMTMRos是一种高亲和力的线粒体染色剂

一、基本信息 中文名称&#xff1a;线粒体橙色荧光探针 英文名称&#xff1a;Mito-Tracker Orange CMTMRos CAS号&#xff1a;199116-50-2 分子式&#xff1a;C24H24Cl2N2O 分子量&#xff1a;427.37 存储条件&#xff1a;避光、冷藏保存&#xff0c;避免长时间暴露于光线…

基于SSM健身国际俱乐部系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;场地类别管理&#xff0c;场地信息管理&#xff0c;运动项目管理&#xff0c;场地类型管理&#xff0c;项目类型管理 用户账号功能包括&#xff1a;系统首页&#xff0c;个人中心…

QML----Webengineview点击网页上的下载没反应,下载文件

问题 使用webe加载网页时&#xff0c;点击下载页面会没有反应。原因就是它默认是关闭下载功能 解决 需要在profile里监听下载事件打开onDownloadRequested,当有下载时会触发这个信号,会获取到一个WebEngineDownloadItem这是下载的东西,查询它的一些相关参数,可以修改路径和开…

网站前端登录加密方案调查

https://zhuanlan.zhihu.com/p/625204114 案例 国家政务服务平台 账号设置 (gjzwfw.gov.cn) 方案 代码混淆Rsa公钥加密https协议 案例 LOFTER&#xff08;乐乎&#xff09; - 让兴趣&#xff0c;更有趣 方案 sha256https Sign in GitLab (secxun.com) 方案 不加密内网 凤凰…

mysql视图介绍(本质,修改数据时的表现,排序覆盖)

目录 视图 介绍 语法 使用 本质 修改数据 排序覆盖 视图 介绍 是一种虚拟表&#xff0c;它不存储实际的数据&#xff0c;而是基于查询结果动态生成数据 将查询结果以表结构保存视图和基表之间会互相影响 视图可以基于一张或多张表来创建&#xff0c;并且可以像普通表一样…

List、Set、数据结构、Collections

一、数据结构 1.1 常用的数据结构 栈 栈&#xff1a;stack,又称堆栈&#xff0c;它是运算受限的线性表&#xff0c;其限制是仅允许在标的一端进行插入和删除操作&#xff0c;不允许在其他任何位置进行添加、查找、删除等操作。 简单的说&#xff1a;采用该结构的集合&#…

Clickhouse笔记(二) 集群搭建

0.集群规划 操作系统使用ubuntu2204server&#xff0c;8C8G100G。 节点分片部署192.168.50.5分片1副本1clickhouse-server/clickhouse-client/keeper192.168.50.6分片1副本2clickhouse-server/clickhouse-client/keeper192.168.60.7分片2副本1clickhouse-server/clickhouse-c…

ECharts饼图-饼图纹理,附视频讲解与代码下载

引言&#xff1a; 在数据可视化的世界里&#xff0c;ECharts凭借其丰富的图表类型和强大的配置能力&#xff0c;成为了众多开发者的首选。今天&#xff0c;我将带大家一起实现一个饼图图表&#xff0c;通过该图表我们可以直观地展示和分析数据。此外&#xff0c;我还将提供详…

day7:软件包管理

一&#xff0c;软件包概述 软件包概述 软件包用于安装&#xff0c;升级&#xff0c;卸载一个软件 软件包类型 二进制包 源码经过了编译&#xff08;而且成功了&#xff09;后产生的包&#xff0c;二进制包是linux下默认的安装包 编译好的文件&#xff0c;直接使用&#xff…

音质最好的麦克风有哪些?领夹麦克风哪个品牌好?麦克风十大品牌

在当下自媒体行业蓬勃发展的背景下&#xff0c;无线领夹麦克风已成为众多内容创作者不可或缺的装备。市场上的无线领夹麦克风种类繁多&#xff0c;品质参差不齐&#xff0c;价格也相差悬殊&#xff0c;这使得选购一款合适的麦克风变得颇具挑战性。许多消费者在追求性价比的过程…

无人机避障——路径规划篇(一) JPS跳点搜索算法A*算法对比

JSP 跳点搜索算法与改进 A*算法对比 一、算法概述: 跳点搜索(Jump Point Search,JPS)算法:一种用于路径规划的启发式搜索算法。它主要用于在网格地图(如游戏地图、机器人运动规划地图等)中快速找到从起点到终点的最短路径。该算法在改进 A*算法的基础上进行了优化,通过跳过一…

自由学习记录(12)

综合实践 2D的Shape&#xff0c;Tilemap都要导包的&#xff0c;编辑器也要导包&#xff0c;。。和2d沾边的可能3d都要主动导包 应该综合的去运用&#xff0c;不见得Tilemap就很万能&#xff0c;如果要做什么顶方块的有交互反应的物体&#xff0c; 那直接拖Sprite会更方便一些…

大路灯护眼灯是智商税吗?五款口碑最好的落地灯品牌分享

大路灯护眼灯是智商税吗?在当前照明灯具中&#xff0c;护眼灯大路灯并不是智商税&#xff01;护眼大路灯因其出色的灯光和舒适度效果而受到广泛欢迎。面对市场众多的护眼大路灯产品&#xff0c;选择一把优质的护眼大路灯显得尤为重要。低质量的护眼大路灯不仅性能不佳&#xf…

探索音频在线剪辑工具的奇妙世界

无论是专业的音频制作人&#xff0c;还是普通的音乐爱好者&#xff0c;都可能需要对音频进行剪辑和编辑。我比较建议从低成本的工具开始入手避免浪费&#xff0c;今天我推荐几款音频在线剪辑工具一起看看这些共苦如何打造作品吧。 1.福昕音频剪辑 教程链接&#xff1a;https:…

初学者如何学习网络安全,零基础入门到精通,收藏这一篇就够了

学习任何技术或知识前&#xff0c;需要培养好的学习习惯&#xff0c;投入时间和精力去进行钻研&#xff0c;培养兴趣和学习能力&#xff0c;并能通过搜索引擎解决问题。对于网络安全学习来说&#xff0c;要掌握学习方法&#xff0c;因为它的知识面广且复杂。 之前看到一张&quo…

初始JavaEE篇——多线程(2):join的用法、线程安全问题

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 目录 模拟实现线程中断 join的用法 线程的状态 NEW&#xff1a; RUNNABLE&#xff1a; TIMED_WAITING&#xff1a; TERMINATED…

苍穹外卖--开发记录day11

目录 苍穹外卖day11一&#xff1a;apache-Echarts简单了解二&#xff1a;营业额统计四&#xff1a;用户统计五&#xff1a;订单统计六&#xff1a;销量排名统计 总结 苍穹外卖day11 一&#xff1a;apache-Echarts简单了解 二&#xff1a;营业额统计 外链图片转存失败,源站可能…

深入解析C++游戏开发:从基础到高级应用

目录 深入解析C游戏开发&#xff1a;从基础到高级应用 目录 为何选择C进行游戏开发 高性能与高效率 强大的内存管理 广泛的库和框架支持 丰富的社区资源 C游戏开发基础 C基础知识 面向对象编程 常用设计模式 游戏开发流程 设计与规划 选择引擎和工具 架构设计 …

Data+AI━━隐私都没了,还不懂用户画像吗?

DataAI━━隐私都没了&#xff0c;还不懂用户画像吗&#xff1f; 前言用户画像是什么&#xff1f;用户画像的应用场景DataAI下如何构建用户画像 前言 数据驱动的时代&#xff0c;用户画像已经成为商业和技术领域的热门话题。无论你在电商、金融、广告还是社交媒体&#xff0c;…

从零开始学python必看,最强“Python编程三剑客(pdf)”

目录 三剑客PDF传送门&#xff1a;三剑客 第一本&#xff1a;《Python编程&#xff1a;从入门到实践》 1.1《Python编程&#xff1a;从入门到实践》第一部分&#xff1a;基础知识 1.2《Python编程&#xff1a;从入门到实践》第二部分&#xff1a;项目 第二本&#xff1a;《…