基于OpenCV的灰度图的图片相似度计算

from skimage.metrics import structural_similarity as ssim
import matplotlib.pyplot as plt
import cv2
def picture_recognization(imagname):# 读取两张图片image1 = cv2.imread('D:/AutoTest/PythonProject/standard_img/' + imagname)image2 = cv2.imread('D:/AutoTest/PythonProject/testcase_img/' + imagname)pixel_diff = cv2.absdiff(image1, image2)gray1 = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)gray2 = cv2.cvtColor(image2, cv2.COLOR_BGR2GRAY)ssim_score = ssim(gray1, gray2)plt.subplot(1, 3, 1)plt.imshow(cv2.cvtColor(image1, cv2.COLOR_BGR2RGB))plt.title('Image 1')plt.subplot(1, 3, 2)plt.imshow(cv2.cvtColor(image2, cv2.COLOR_BGR2RGB))plt.title('Image 2')plt.subplot(1, 3, 3)plt.imshow(pixel_diff, cmap='gray')plt.title(f'Pixel Difference\nSSIM Score: {ssim_score:.2f}')print(ssim_score)plt.show()return ssim_score

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

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

相关文章

使用pdfjs实现在线预览pdf

在工作中可能会遇到前端展示pdf文件进行预览并提供下载的需求场景,例如操作指引,这个时候需要寻找一款实现该功能的插件,以pdjjs举例子 1. 安装pdf.js npm install pdfjs-dist2. 引入pdf.js import pdfjsLib from pdfjs-dist3.加载pdf文件流 这个地方区分是请求后端接口还是…

考研人考研魂——英语单词篇(20231010)

下一站,上岸 transplanttransportstorestoragestockstridestrikestringstructurestrikingstunprimaryprimeprimitiveprincipalpsychiatryprinciplepsychologyliableliberal transplant n. (器官等的)移植;移植的器官 vt. 移植&a…

grep批量筛选指定目录下的所有日志并写入文件内

背景:在指定目录下,该目录下有上百个日志文件,这些文件以.log结尾 需求:遍历这些日志文件,对每个日志文件进行grep筛选,筛选出包含namexxx和 "server_port":"8088"的内容,并…

MongoDB学习笔记

MongoDB学习笔记 MongoDB 概念解析 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins 表连接,MongoDB不支持 primary key primary k…

WorkPlus AI智能助理,基于GPT为企业提供专属的私有化部署解决方案

在当今数字时代,优质的客户服务是企业取得成功的重要因素之一。随着人工智能技术的不断发展,私有化部署AI智能客服成为企业提高客户体验、提升服务效率的新途径。WorkPlus作为领先的品牌,专注于提供可信赖的私有化部署解决方案,助…

unity2022版本 实现加减进度条

简介 在现代游戏开发中,用户界面 (UI) 扮演着至关重要的角色,它不仅为玩家提供信息,还增强了游戏的可玩性。加减进度条是一种常见的UI元素,它可以用于显示游戏中的进度、倒计时、资源管理和其他关键信息。在这篇博客中&#xff0…

JMeter定时器

一. 同步定时器(Synchronizing Timer) (在Loadrunner中叫做集合点) 思考: 如何模拟多个用户同时抢一个红包?如何测试电商网站中抢购活动、秒杀活动? 1.1 介绍 Sync Timer的目的是阻塞线程,直…

C. JoyboardCodeforces Round 902

C. Joyboard 样例1列表找规律&#xff1a; #include<iostream> #define int long long using namespace std; signed main() {int T;cin>>T;while(T--){int n,m,k;cin>>n>>m>>k;if(k1){cout<<1<<endl;}else if(k2){cout<<m…

劣币驱良币的 pacing 之殇

都说 pacing 好 burst 孬(参见&#xff1a;为啥 pacing)&#xff0c;就像都知道金币好&#xff0c;掺铁金币孬一样。可现实中掺铁的金币流通性却更好&#xff0c;劣币驱良币。劣币流通性好在卖方希望收到别人的良币而储存&#xff0c;而自己作为买方只使用劣币。 burst 和 pac…

vue图表制作

Vue.js是一个非常流行的JavaScript框架&#xff0c;可以用于开发交互式Web应用程序。Vue.js的优点之一是它的灵活性和可扩展性。因此&#xff0c;可以使用Vue.js与许多其他库和框架集成&#xff0c;包括图表库。 下面是使用Vue.js制作图表的一些步骤&#xff1a; 1.选择一个适…

告前端同学书

告前端同学书 一年前&#xff0c;InfoQ的编辑约请我对前端技术做了些回顾总结&#xff0c;说了三个方面的话题&#xff1a;其一&#xff0c;前端过去的15年大致可以怎样划分&#xff1b;其二&#xff0c;前端的现状以及面临的挑战&#xff1b;其三&#xff0c;前端会有怎样的未…

LocalDate的用法

日期时间转换 2023-03-30 14:25:00.000 DateTimeFormat(pattern "yyyy-MM-dd HH:mm:ss:sss")private LocalDateTime requestTimeStamp; 2021-06-18T10:46:19.67378508:00 new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss:sssXXX");yyyy-mm-dd hh:mm:ss.sss 05…

关于javascript数组方法reduce的理解

JavaScript中的 reduce 是一个数组方法&#xff0c;它用于对数组中的元素进行累积操作&#xff0c;将数组的每个元素应用到指定的累积器函数&#xff0c;然后返回累积的结果。 reduce 方法的技术原理可以简单地概括为以下几个步骤&#xff1a; &#xff08;PS:累积器函数指的是…

解析找不到msvcp140.dll的5个解决方法,快速修复dll丢失问题

​在使用计算机过程中&#xff0c;我们也会遇到各种各样的问题。其中&#xff0c;找不到msvcp140.dll修复方法是一个非常普遍的问题。msvcp140.dll是一个动态链接库文件&#xff0c;它是Microsoft Visual C 2015 Redistributable的一部分。这个文件包含了许多用于运行C程序的函…

传输层 | UDP协议、TCP协议

之前讲过的http与https都是应用层协议&#xff0c;当应用层协议将报文构建好之后就要将报文往下层传输层进行传递&#xff0c;而传输层就是负责将数据能够从发送端传到接收端。 再谈端口号 端口号(port)标识了一个主机上进行通信的不同的应用程序&#xff0c;在TCP/IP协议中&…

进阶JAVA篇- LocalDate 类与 LocalTime 类、LocalDateTime 类的常用API(六)

目录 API 1.0 LocalDate 类与 LocalTime 类、LocalDateTime 类的API说明 1.1 如何创建LocalDate 类与 LocalTime 类、LocalDateTime 类的对象 1.2 LocalDate 类与 LocalTime 类、LocalDateTime 类中的以 get 开头实例方法 1.3 LocalDateTime 类中的 toLocalDat…

Vu3中样式穿透不生效处理

Vu3中样式穿透不生效处理 代码查看F12处理- 方法一父组件修改为单根组件 代码 App.vue <template><p>父组件</p><hello-world></hello-world> </template><script setup> import HelloWorld from "./components/HelloWorld.v…

蓝桥杯 第 1 场算法双周赛 第三题 分组【算法赛】c++ 贪心+双指针

题目 分组【算法赛】 难度: 中等 问题描述 蓝桥小学要进行弹弹球游戏&#xff0c;二年级一班总共有 n 个同学&#xff0c;要求分成 k 个队伍&#xff0c;由于弹弹球游戏要求队员的身高差不能太大&#xff0c;小蓝是班长&#xff0c;他对这个事情正在发愁&#xff0c;他想问…

【多媒体技术与实践】使用OpenCV处理图像(实验三.上)

1&#xff1a;图像直方图 将原彩色图像转成灰度图像&#xff0c;得到该灰度图像的灰度直方图&#xff0c;并对灰度直方图进行直方图均衡化&#xff0c;将原图、灰度图、直方图及均衡化后的直方图一起拼接为一张图片 import cv2 import numpy as np import matplotlib.pyp…

浅谈压力测试的作用是什么

随着现代应用程序变得越来越复杂&#xff0c;用户的期望也在不断提高&#xff0c;对性能和可靠性的要求变得更加苛刻。在应用程序开发和维护的过程中&#xff0c;压力测试是一项至关重要的活动&#xff0c;它可以帮助发现潜在的问题、评估系统的性能极限&#xff0c;以及确保在…