python比较两张图片是否一样_opencv_判断两张图片是否相同

python金融风控评分卡模型和数据分析微专业课(博主亲自录制视频):http://dwz.date/b9vv

895802-20200722094657932-21874425.png

本文为原创,转载请注明,作者 231469242@qq.com

OpenCV介绍

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python、Java and MATLAB/OCTAVE(版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#、Ch、Ruby,GO的支持。

所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。

opencv官网

e209257f-f4b7-48d8-a426-02b9a4646c68

python支持OpenCV的包,接下来作者教你如何安装python的OpenCV第三方包

pip install opencv

如果找不到版本,去非官方下载opencv第三方包http://www.lfd.uci.edu/~gohlke/pythonlibs/

下载好文件放入C:/Anaconda3/Scripts 文件夹, 然后 用pip install opencv安装

895802-20161224112618167-242466160.png

安装好OpenCV后,我们测试一下两张王力宏的照片是否一致。如果照片相同,程序会输出两张照片相同,如果两张照片不同,程序会输出两张照片不同。脚本如下。

python脚本代码

# -*- coding: utf-8 -*-

"""

Created on Sat Dec 24 10:42:10 2016

@author: daxiong

"""

import cv2

import numpy as np

#import os

file1= "1.png"

file2="3.png"

image1 = cv2.imread(file1)

image2 = cv2.imread(file2)

difference = cv2.subtract(image1, image2)

result = not np.any(difference) #if difference is all zeros it will return False

if result is True:

print("两张图片一样")

else:

cv2.imwrite("result.jpg", difference)

print ("两张图片不一样")

两张照片相同情况

895802-20161224112334370-1473061047.png

两张照片不同情况

895802-20161224112347479-594703200.png

python机器学习生物信息学系列课(博主录制):http://dwz.date/b9vw

895802-20200722151521412-1691559556.png

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

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

相关文章

kata_小规模流处理kata。 第1部分:线程池

kata我再次为我的公司在GeeCON 2016上举办了编程竞赛。 这次分配需要设计并根据以下要求选择实施系统: 一个系统每秒发送大约一千个事件。 每个Event至少具有两个属性: clientId –我们期望一个客户端每秒最多可以处理几个事件 UUID –全球唯一 消耗…

Oracle数据库的trigger(触发器)

触发器 Trigger PL/SQL 程序中的触发器的结构类似于函数和过程 , 与函数和过程不同 , 触发器是在事件发生时隐式地运行的。相当于Java语言中的事件监听器

hpux oracle9,oracle 9.2.0.8在HP-UX 11.31 下的安装步骤和注意事项

在hp_unix ia64位操作系统安装oracle 数据库步骤1. 操作系统安装好后打补丁和调参数:(1) 打上patch(PHKL_38038),安装oracle9i必须打此补丁(2) 配置好网卡IP,可用xmanager调用系统图形化界面(3) 按方案调整内核参数2. 数据库安装(1) 命令行创…

bat 存储过程返回值_为什么不推荐使用存储过程?

之所以有这个题目,我既不是故意吸引眼球,也不想在本文对存储过程进行教科书般论述。最近项目中遇到的存储过程问题,让我想起了去年在武汉出差时一位同事的发问:我觉得存储过程挺好用的,为什么你不建议用?当…

aws lambda使用_使用Lambda,Api Gateway和CloudFormation在AWS云上使用Java

aws lambda使用在上一篇文章中,我们实现了基于Java的aws lambda函数,并使用CloudFront进行了部署。 由于我们已经设置了lambda函数,因此我们将使用AWS API Gateway将其与http端点集成。 Amazon API Gateway是一项完全托管的服务,…

数据库的序列

序列的特性:产生连续的不同的数字值用来作为数据表的主键。 序列是数据库中的独立对象表可以用序列产生的值作为主键 , 也可以不用序列可以为一个或多个表产生主键 , 也可以不用 建议:一个序列为一个表产生主键序列这种对象在 Oracle、db2 等数据库中有 , 在 mysql、sql serve…

java mic波形识别_会议季Mic Drop:您不应该错过的13场Java演讲

java mic波形识别您的老板没有派您参加真正的会议吗? 我们为您准备了最好的讲座 九月份的一些重大事件闻名于世:秋季的第一天,甚至全国熏肉日。 这也是召开会议最忙的月份之一,一些大型Java事件涵盖了平台的新的重要更新。 在以…

oracle utl inaddr,oracle11g之ACL拙见

错误样例(使用UTL_HTTP发送http请求时,报出如下错误): 原因: 1、Oracle允许使用几个PL/SQL API(UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP和 UTL_INADDR)访问外部网络服务,这些API都使用TCP协议。…

Mac下载JDK/安装JDK/卸载JDK

文章目录下载JDK安装JDK配置环境变量卸载JDK下载JDK 访问这个地址:https://www.oracle.com/java/technologies/downloads/#java18 进入下载JDK的界面后,下拉界面到下图所示的位置: 或者访问这个地址:https://www.oracle.com/cn/…

希腊字母常用指代意义及其中文读音

希腊字母常用指代意义及其中文读音序号大写小写英语音标注音英文汉语名称常用指代意义1Αα/lfə/alpha阿尔法角度、系数、角加速度、第一个、电离度、转化率 2Ββ/bi:tə/ 或 /beɪtə/beta贝塔角度、系数、磁通系数3Γγ/gmə/gamma伽玛电导系数、角度、比热容比 4Δδ/delt…

java redis 命令_命令界面:使用Java中的动态API处理Redis

java redis 命令Redis是一个数据存储,支持190多个文档化命令和450多个命令排列。 社区积极支持Redis开发; 每个主要的Redis版本都附带新命令。 今年,Redis向第三方供应商开放,以开发可扩展Redis功能的模块。 对于客户端开发人员和…

kettle 只有一个输入记录期待设置变量并且至少已经收到2个变量._OPNET学习笔记2...

双击主机网络打开对应的节点模型,从图中可以看到网络的分层:应用层,传输层,网络层,链路层;其中在传输层中我们用到的主要是UDP(对实时性要求比较高),网络层又包括IP封装层…

oracle10g启动顺序,oracle 10g rac维护:开机 关机顺序,流程

维护oracle rac的时候,可能需要关闭数据库,甚至关闭服务器。具体的开机关机顺序如下:(oracle 用户下)1.关机顺序(1)关闭集群oememctl stop dbconsole -cluster(2)关闭数据库实例srvctl stop instance -d EDWPRD -i EDWPRD1srvctl stop instan…

python tkinter控件_Python3 tkinter基础 Label pack 设置控件在窗体中的位置

? python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 conda : 4.5.11 type setting : Markdown ? 普通布局 code """ Author : 行初心 Date : 18-10-1 Blog : www.cnblogs.com/xingchuxin GitHub : github.com/GratefulHeartCoder ""…

oracle的mins,分钟的英文缩写,10min还是10mins!

请问,分钟的英文缩写是min,小时的英文缩写是h,还是hr?秒的..._知乎[图文]时间分钟的英文缩写是什么minutes 10 minutes意思是十分钟的,比如说路程 10minutes就是十分钟 没有10minutes这种表达[图文]分钟 min【minute】 超过多少分钟就用介词past表示超过 还差几分钟…

lucene使用3.0.3_Jirasearch 2.0狗粮:使用Lucene查找我们的Jira问题

lucene使用3.0.3几年前,我首先构建并发布了Jirasearch ,它是用于薄型包装Lucene服务器的有趣的狗粮测试用例,以针对我们的Jira问题公开强大的搜索UI。 这很好地展示了Lucene的许多重要功能: 使用块联接查询来建模父文档&#xf…

域名层级划分

文章目录教科书的定义域名结构示例教科书的定义 域名级数是指一个域名由多少级组成,域名的各个级别被 . 分开,最右边的那个词称为“顶级域名”。“顶级域名”又称之为“一级域名”,例如:.com、.org、.net、.cn 等。“二级域名”就…

java执行python脚本_使用Runtime.getRuntime().exec()在java中调用python脚本

举例有一个Python脚本叫test.py,现在想要在Java里调用这个脚本。假定这个test.py里面使用了拓展的包,使得pythoninterpreter之类内嵌的编译器无法使用,那么只能采用java调用控制台进程,即 Runtime.getRuntime().exec()&#xff0c…

linux 4.1.16 ftrace 进程调度,Linux内核进程调度overview(1)

一、概述决定何时、如何选择一个新进程运行的这组规则叫做:调度策略(scheduling policy)。Linux的调度是基于分时技术(time sharing):多个进程以“时间多路复用”方式运行,因为CPU的时间呗分成“片”(slice),给每个可运行进程分配…

postman测试工具,如何对参数使用md5加密

先创建环境变量password,并定义了变量值(例如:123456)访问登录接口通常是post提交登录用户名称和登录密码,且以json格式提交,所以在body-raw-json,填写json串如下图所示: 接着在pre-…