Я пытаюсь запустить следующий код:
#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;
}
Но похоже, что он не фильтрует, потому что при запуске кода появляется только пустое окно.
Как заставить этот код обнаруживать красные цвета?
src
; D Кроме того, в OpenCV используется BGR, а не RGB, поэтому вы устанавливаете порог синего канала. Таким образом, в BGR ваши пороги должны быть примерно такими:inRange(src, Scalar(0, 0, 0), Scalar(50, 50, 255), threshold);
Лучше использовать цветовое пространство HSV, см. дубликат - person Miki   schedule 28.06.2016