Chironian2017/01/05 04:17背景と前景をどのようにして区別するのかについては、試行錯誤するしかないです。 グレイスケールへ変換後に処理する方法は比較的難易度が低いですので、最初のトライとしては適切と思います。
kyousukelin2017/01/06 10:29# -*- coding: utf-8 -*- import cv2 import numpy as np #img_src 全景画像 #img_bkg 背景画像 #img_dst 切り出した画像 img_src = cv2.imread("test1.jpeg") img_bkg = cv2.imread("test2.jpeg") #背景画像との差分画像を計算 img_df = cv2.absdiff(img_src, img_bkg) #差分画像の二値化 img_m = cv2.threshold(img_df, 100, 255, cv2.THRESH_BINARY)[1] cv2.imshow("detected1.jpg", img_m) このプログラムを実行した時、detected1.jpgの画像の中に赤などの白黒じゃない色がはいるのですが、原因わかりますか?
Chironian2017/01/06 12:58私はPythonを知らないので確実ではないですが、RGB三色独立に処理しているからではないでしょうか? http://opencv.jp/opencv-2svn/cpp/miscellaneous_image_transformations.html#cv-threshold 元々のcv::threshouldはシングル・チャンネル(グレースケール)が対象のようなので、エラーにならないのでしたら、Phthonが何か処理しているのかも知れません。その辺は私には分かりません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/05 03:29
2017/01/05 04:17
2017/01/06 10:29
2017/01/06 12:58
2017/01/06 13:06