zoukankan      html  css  js  c++  java
  • opencv_判断两张图片是否相同

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

    本文为原创,转载请注明,作者 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官网

    https://opencv.org/

     

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

    pip install opencv

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

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

    安装好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 ("两张图片不一样")
    

     两张照片相同情况

     两张照片不同情况

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

  • 相关阅读:
    15、SQL基础整理(视图)
    14、SQL基础整理(存储过程)
    13、SQL基础整理(流程控制begin……end)
    12、SQL基础整理(运算符与优先级)
    11、SQL基础整理(变量)
    10、SQL基础整理(约束2)
    9、SQL基础整理(两表连接exists,join on,union)*Oracleも含む(INTERSECT&MINUS)
    20141113--SQL 事务
    20141111--SQL触发器
    20141110--SQL视图
  • 原文地址:https://www.cnblogs.com/webRobot/p/6216994.html
Copyright © 2011-2022 走看看