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

news/2025/2/13 6:40:55/
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.ppmy.cn/news/1152595.html

相关文章

基于centos、alpine制作Java JDK基础镜像

文章目录 前言一、 简介二、制作JDK/Java基础镜像1.准备事项2.制作Dockerfile脚本2.1.基于centos作为基础镜像2.2.基于alpine作为基础镜像3.构建镜像4.测试验证前言 在日常开发中,但凡项目需要docker容器化部署,制作项目镜像前都需要在Dockerfile中配置Java基础镜像。为什么…

el-data-picker限制日期可选范围

<el-date-pickerclass"date"v-model"date"type"date"change"dateChange"value-format"yyyy-MM-dd"format"yyyy-MM-dd"placeholder"选择日期":picker-options"datePickerOptions"></…

thinkphp5.1 获取缓存cache(‘cache_name‘)特别慢,php 7.0 unserialize 特别慢

thinkphp5.1 获取缓存cache(‘cache_name’)特别慢&#xff0c;php 7.0 unserialize 特别慢 场景&#xff1a; 项目中大量使用了缓存&#xff0c;本地运行非常快&#xff0c;二三百毫秒&#xff0c;部署到服务器后 一个表格请求就七八秒&#xff0c;最初猜想是数据库查询慢&am…

如何在一个月内通过PMP考试?

新版本考纲&#xff0c;有一个最大的难点。那就是知识点来自《PMBOK指南》&#xff0c;以及《敏捷实践指南》&#xff1b;但是考试大纲给了3个域、35个任务&#xff0c;这些只给了条目性的提纲&#xff0c;对应着考试的实践要求。 考试题目全部是基于情境的选择题&#xff0c;…

【竞赛题目】木块(C语言详解)

" 木块 " 是【第二届全国高校计算机技能竞赛】里的一道竞赛题目&#xff0c;博主觉得很新颖想推荐给大家&#xff1b; 题目描述 为了提高词汇量&#xff0c;小理得到了一套四块木块&#xff0c;其中每块都是一个立方体&#xff0c;六面各写着一个字母。他正在通过将…

面试总结之Java基础

1、反射 1.1、概述 反射&#xff1a;加载类&#xff08;通过反射将类的字节码文件加载到内存中&#xff09;&#xff0c;并允许以编程的方式解剖类中的各种成分&#xff08;成员变量、方法、构造器等&#xff09;反射需要掌握的内容&#xff1a; 1&#xff09;记载类&#xf…

Vulnhub系列靶机-Raven2

文章目录 Raven2 渗透测试1. 信息收集1.1 主机探测1.2 端口扫描1.3 目录爆破 2. 漏洞探测3. 漏洞利用3.1 msfconsole3.2 交互式shell 4. 权限提升 Raven2 渗透测试 1. 信息收集 1.1 主机探测 arp-scan -l1.2 端口扫描 nmap -p- -A 192.168.188.213通过nmap工具进行端口扫描…

Java while dowhile语法

package ne;public class c4 {public static void main(String[] args) { break; 终止当前循环语句 continue; 结束这一次循环&#xff0c;立即准备开启下一次循环int ix 1;do {System.out.println(ix);//Thread.currentThread().sleep(2000);} while (true);while (true) {tr…