2016-04-18 14 views
1
Core.inRange(frame,new Scalar(minA,minB,minC),new Scalar(maxA,maxB,maxC),dst); 

スカラーにどのパラメータを入力するのか分かりません。 と私はどのようにRGBに変換することができます。 (私はopenCV 2.412を使用しています)。 http://docs.opencv.org/2.4.12/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html?highlight=scalar によれば、パラメータはBGRでなければならないが、所望の結果を達成していない。java openCV Core.inRange入力パラメータ

入力:Core.inRange(frame,new Scalar(0,0,0),new Scalar(0,0,255),dst); 入力映像: enter image description here

出力:あなたが使用できるように

enter image description here

答えて

2

長方形は、値(0,0,240)を持っています

inRange(img, new Scalar(0, 0, 230), new Scalar(0, 0, 255), dst); 

矩形は値(0,240,0)を持っているので、あなたが使用することができます。

inRange(img, new Scalar(230, 0, 0), new Scalar(255, 0, 0), dst); 

グレーの長方形が値を持っている:あなたが使用できるように

inRange(img, new Scalar(0, 230, 0), new Scalar(0, 255, 0), dst); 

青い長方形は、値(240,0,0)を持っています(100,100,100)ですので、使用することができます:

inRange(img, new Scalar(90, 90, 90), new Scalar(110, 110, 110), dst); 

すべての長方形を一度に見つけるのは難しいことがあります。これは、最初の黒(0,0,0)背景を検出した後、マスクを反転すると良いでしょう:

inRange(img, new Scalar(0, 0, 0), new Scalar(10, 10, 10), dst); 
bitwise_not(dst, dst); 
+0

はどうもありがとうございました:) –

+0

それが助けうれしい; Dは答えを受け入れることを覚えておいてください – Miki

関連する問題