91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-15 20:03:21 來源:腳本之家 閱讀:825 作者:ibaymin 欄目:開發技術

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

在網上搜索一大堆找到一篇大神的文章,最終實現該功能,在這里記錄下:

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

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

進入正題:

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

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

加載兩張圖片并將他們轉換為灰度:

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)

接下來,計算兩個灰度圖像之間的結構相似度指數:

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

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

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]

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

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 展現最終對比之后的圖片, cv2.imwrite 保存最終的結果圖片

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

到這已經實現兩張圖片的對比并標識出不同。結果如下所示:(圖1圖2對比,圖3為對標結果

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

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

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

以上這篇用openCV和Python 實現圖片對比,并標識出不同點的方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

青田县| 葵青区| 曲松县| 宁乡县| 扎赉特旗| 日照市| 武城县| 南澳县| 岳阳市| 林口县| 平顺县| 从江县| 文登市| 凤冈县| 姜堰市| 潞西市| 灌云县| 巫山县| 辉南县| 得荣县| 南汇区| 汕头市| 尉犁县| 抚顺县| 临沂市| 哈巴河县| 杭锦后旗| 祁门县| 金昌市| 丹阳市| 颍上县| 陈巴尔虎旗| 夏邑县| 朔州市| 观塘区| 呼玛县| 文水县| 思南县| 龙山县| 延津县| 沿河|