欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用openCV和Python 實現(xiàn)圖片對比,并標識出不同點的方式

 更新時間:2019年12月19日 10:00:56   作者:ibaymin  
今天小編就為大家分享一篇用openCV和Python 實現(xiàn)圖片對比,并標識出不同點的方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近項目中需要實現(xiàn)兩組圖片對比,并能將兩者的區(qū)別標識出來。

在網(wǎng)上搜索一大堆找到一篇大神的文章,最終實現(xiàn)該功能,在這里記錄下:

想要實現(xiàn)此demo,首先我們得確保電腦上已安裝 openCV 和 Python 兩個工具以及scikit-image和imutils兩個庫:

安裝方法,在這里不多說,我安裝的是Python3.6 和openCV2,安裝方法網(wǎng)上自行百度谷歌;

進入正題:

新建一個新的Python文件并命名為copmarePicture.py,寫入下面的代碼:

from skimage.measure import compare_ssim
#~ import skimage as ssim
import argparse
import imutils
import cv2

加載兩張圖片并將他們轉(zhuǎn)換為灰度:

imageA = cv2.imread("D:/111test/111.png")
imageB = cv2.imread("D:/111test/444.png")

grayA = cv2.cvtColor(imageA,cv2.COLOR_BGR2GRAY)
grayB = cv2.cvtColor(imageB,cv2.COLOR_BGR2GRAY)

接下來,計算兩個灰度圖像之間的結(jié)構(gòu)相似度指數(shù):

(score,diff) = compare_ssim(grayA,grayB,full = True)
diff = (diff *255).astype("uint8")
print("SSIM:{}".format(score))

找到不同點的輪廓以致于我們可以在被標識為“不同”的區(qū)域周圍放置矩形:

thresh = cv2.threshold(diff,0,255,cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
cnts = cv2.findContours(thresh.copy(),cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
cnts = cnts[0] if imutils.is_cv2() else cnts[1]

找到一系列區(qū)域,在區(qū)域周圍放置矩形:

for c in cnts:                                                          
 (x,y,w,h) = cv2.boundingRect(c)                                                
 cv2.rectangle(imageA,(x,y),(x+w,y+h),(0,0,255),2)                                           
 cv2.rectangle(imageB,(x,y),(x+w,y+h),(0,0,255),2)

用cv2.imshow 展現(xiàn)最終對比之后的圖片, cv2.imwrite 保存最終的結(jié)果圖片

cv2.imshow("Modified",imageB)
cv2.imwrite("haha2.png",imageB)
cv2.waitKey(0)

到這已經(jīng)實現(xiàn)兩張圖片的對比并標識出不同。結(jié)果如下所示:(圖1圖2對比,圖3為對標結(jié)果

以上這篇用openCV和Python 實現(xiàn)圖片對比,并標識出不同點的方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Opencv實現(xiàn)眼睛控制鼠標的實踐

    Opencv實現(xiàn)眼睛控制鼠標的實踐

    本文主要介紹了Opencv實現(xiàn)眼睛控制鼠標的實踐,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 單身狗福利?Python爬取某婚戀網(wǎng)征婚數(shù)據(jù)

    單身狗福利?Python爬取某婚戀網(wǎng)征婚數(shù)據(jù)

    今天我就當(dāng)回媒婆,給男性程序員來點福利.今天目標爬取征婚網(wǎng)上呈現(xiàn)出來的女生信息保存成excel表格供大家篩選心儀的女生,需要的朋友可以參考下
    2021-06-06
  • Python獲取CPU、內(nèi)存使用率以及網(wǎng)絡(luò)使用狀態(tài)代碼

    Python獲取CPU、內(nèi)存使用率以及網(wǎng)絡(luò)使用狀態(tài)代碼

    這篇文章主要介紹了Python獲取CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)使用狀態(tài)的相關(guān)代碼,對此有需要的朋友一起測試下。
    2018-02-02
  • Python實現(xiàn)簡單的ui界面的設(shè)計步驟(適合小白)

    Python實現(xiàn)簡單的ui界面的設(shè)計步驟(適合小白)

    當(dāng)我們書寫一個python程序時,我們在控制臺輸入信息時,往往多有不便,并且為了更加美觀且直觀的方式輸入控制命令,我們常常設(shè)計一個ui界面,這樣就能方便執(zhí)行相關(guān)功能,如計算器、日歷等界面,本博客是為了給ui設(shè)計的小白進行講解,需要的朋友可以參考下
    2024-07-07
  • 簡單談?wù)刾ython中的lambda表達式

    簡單談?wù)刾ython中的lambda表達式

    Lambda表達式在Python中經(jīng)常使用到,本文是給大家分享的小編總結(jié)出來的Lambda表達式的常用方法。
    2018-01-01
  • python文件與目錄操作實例詳解

    python文件與目錄操作實例詳解

    這篇文章主要介紹了python文件與目錄操作方法,結(jié)合實例形式詳細分析了Python關(guān)于文件與目錄操作的常見技巧與使用方法,需要的朋友可以參考下
    2016-02-02
  • Python中常用的統(tǒng)計檢驗代碼分享

    Python中常用的統(tǒng)計檢驗代碼分享

    統(tǒng)計檢驗是數(shù)據(jù)分析中的重要工具,用于檢驗數(shù)據(jù)集中的差異、關(guān)聯(lián)和分布等統(tǒng)計性質(zhì),本文為大家整理了常見的統(tǒng)計檢驗方法,希望對大家有所幫助
    2024-01-01
  • windows下搭建python scrapy爬蟲框架步驟

    windows下搭建python scrapy爬蟲框架步驟

    在本文內(nèi)容里小編給大家分享的是關(guān)于windows下搭建python scrapy爬蟲框架的教學(xué)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2018-12-12
  • 使用coverage統(tǒng)計python web項目代碼覆蓋率的方法詳解

    使用coverage統(tǒng)計python web項目代碼覆蓋率的方法詳解

    這篇文章主要介紹了使用coverage統(tǒng)計python web項目代碼覆蓋率的方法,詳細分析了coverage的安裝以及coverage命令統(tǒng)計py文件相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Python+DeOldify實現(xiàn)老照片上色功能

    Python+DeOldify實現(xiàn)老照片上色功能

    DeOldify是一種技術(shù),以彩色和恢復(fù)舊的黑白圖像,甚至電影片段。它是由一個叫Jason?Antic的人開發(fā)和更新的。本文將利用DeOldify實現(xiàn)老照片上色功能,感興趣的可以了解一下
    2022-06-06

最新評論