最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

進(jìn)入正題:

新建一個新的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))

找到不同點的輪廓以致于我們可以在被標(biāo)識為“不同”的區(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)兩張圖片的對比并標(biāo)識出不同。結(jié)果如下所示:(圖1圖2對比,圖3為對標(biāo)結(jié)果

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

相關(guān)文章

最新評論

天柱县| 沙洋县| 呈贡县| 始兴县| 孟津县| 天柱县| 台东县| 尉氏县| 田阳县| 海晏县| 赞皇县| 南川市| 奉化市| 塔河县| 永春县| 进贤县| 错那县| 武定县| 涞源县| 宜兰县| 玉门市| 启东市| 广宗县| 孟连| 新余市| 旌德县| 宿松县| 汪清县| 济宁市| 永寿县| 义马市| 咸阳市| 博罗县| 汝州市| 武强县| 抚顺县| 泸西县| 海宁市| 临潭县| 长汀县| 勐海县|