1
私は、次のコードを実行しよう
#include<opencv\cv.h>
#include<opencv\highgui.h>
using namespace cv;
int main() {
VideoCapture cap;
cap.open(0);
while (1) {
Mat src;
Mat threshold;
cap.read(src);
inRange(src, Scalar(0, 0, 0), Scalar(255, 0, 0), threshold);
imshow("thr", threshold);
imshow("hsv", src);
waitKey(33);
}
return 0;
}
は、しかし、私は、コードを実行したときに表示されるだけで、空白のウィンドウがあるので、それはフィルタリングしないように思えます。
どのように赤い色を検出するコードを取得するには?
あなたのソースイメージを正しく見ることができますか?黒い窓? –
返信いただきありがとうございます。ソース画像が正しく表示されています。 – Danaro
あなたは 'src'画像をhsvに変換するのを忘れました; D OpenCVでは、RGBではなくBGRを使用していますので、青のチャンネルを閾値処理しています。したがって、BGRでのしきい値は、 'inRange(src、Scalar(0、0、0)、Scalar(50,50,255)、threshold);' HSVカラースペースの使用をお勧めします。 – Miki