0
structの値をinRange関数に挿入できないようです。プログラムはコンパイルされますが、しきい値は想定通りには機能しません。構造体からではなく値を挿入するとうまくいきます。構造体の値をinRangeに挿入できません。openCV
struct objects{
int iLowH;
int iHighH;
int iLowS;
int iHighS;
int iLowV;
int iHighV;
Point coordinate;
};
int iLowH = 0;
int iHighH = 30;
int iLowS = 182;
int iHighS = 255;
int iLowV = 0;
int iHighV = 255;
int refArea=10000;
orange.iLowH = 0;
orange.iHighH = 100;
orange.iLowS = 182;
orange.iHighS = 255;
orange.iLowV = 100;
orange.iLowH = 255;
inRange(hsvImage, Scalar(iLowH, iLowS, iLowV), Scalar(iHighH, iHighS, iHighV), threshold);
imshow("hsv",threshold);
これは、これが動作しないだけでなく
struct objects{
int iLowH;
int iHighH;
int iLowS;
int iHighS;
int iLowV;
int iHighV;
Point coordinate;
};
int iLowH = 0;
int iHighH = 30;
int iLowS = 182;
int iHighS = 255;
int iLowV = 0;
int iHighV = 255;
int refArea=10000;
orange.iLowH = 0;
orange.iHighH = 100;
orange.iLowS = 182;
orange.iHighS = 255;
orange.iLowV = 100;
orange.iLowH = 255;
inRange(hsvImage, Scalar(orange.iLowH, orange.iLowS, orange.iLowV), Scalar(orange.iHighH, orange.iHighS, orange.iHighV), threshold);
imshow("hsv",threshold);
動作します。閾値画像は黒色のみを示す。 iLowH = orange.iLowHの値を変更すると、それもうまくいきません。もし私がそれらの1つを変更しても、それは動作しません。オレンジの値を印刷すると正しい値が表示され、オレンジ色のデータタイプを印刷すると、それぞれにintが表示されます。
私の愚かなああ、私はそれを二重チェックしなかった。ありがとう、たくさんの男! – Andira