2017-08-07 3 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. を見ます(ノイズの多い画像、カメラのノイズ、照明条件が変わった場合には、これはより良いと思われますが、いくつかの条件の下では、より簡単なカウントが十分に良いかもしれません)
  • +0

    チップをありがとう。本当に助けてください。 – David

    関連する問題