2017-08-07 33 views
0

編輯..當我在我的後院以較早的時間測試不同的圖像時,我在背景中發出一些噪音,我怎麼能去除這樣的噪音,所以我只是撿起我的狗?OpenCV Image comparsion

enter image description here enter image description here

#Import Images 
    Background_Image = cv2.imread('bck.jpg',0) 
    Forground_Image = cv2.imread('dog.jpg',0) 

    # 
    diff = cv2.absdiff(Background_Image,Forground_Image) 

    thresh = cv2.threshold(diff, 80, 255, cv2.THRESH_BINARY)[1] 
    thresh = cv2.dilate(thresh, None, iterations=2) 
    (_, cnts, _) = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 
    for c in cnts: 
     (x, y, w, h) = cv2.boundingRect(c) 
     cv2.rectangle(Forground_Image, (x, y), (x + w, y + h), (0, 255, 0), 4) 

    cv2.imshow('Test',Background_Image) 
    cv2.imshow('Test1',Forground_Image) 
    cv2.waitKey() 
+2

你有問題嗎? – beaker

+0

是的我已經編輯了我的問題,我想知道如何比較兩個圖像並打印到控制檯,如果他們是相同或不相同不知道如何處理此部分 – David

回答

1

OpenCV的已經有一些背景減法實現,我想你會跟他們比一些手卷解決方案更好。 教程:http://docs.opencv.org/trunk/db/d5c/tutorial_py_bg_subtraction.html

生成差分圖像,然後:

  1. 看看非黑色的像素數高於閾值
  2. 或找到差異圖像並檢查最大的連續團塊如果它的面積高於閾值(當您與有損圖像,相機的噪點和可能改變的照明條件下工作,我懷疑這會更好,但更簡單的計數可能不夠好一定條件下)
+0

感謝您的提示。真的有幫助。 – David