Я не могу вставить значение элемента в struct в функцию inRange. Программа компилируется, но порог не работает, как полагают. Если я вставляю значение не из структуры, он работает хорошо.не может вставить значения struct в 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 и т. д., он тоже не будет работать. если я изменю один из них, это тоже не сработает. Если я напечатаю значение оранжевого цвета, он отобразит правильные значения, и если я напечатаю тип данных оранжевого цвета, он отобразит int для каждого из них.
Ahh глупо от меня, я не проверял дважды. спасибо многому человеку! – Andira