我是OpenCV的新手。
我想检测亮白色周围的绿色,蓝色和红色,并绘制轮廓矩形。
我尝试使用Core.inRange
方法,但它给了我一种特定的颜色:
List<MatOfPoint> contours = new ArrayList<>();
Mat light = new Mat();
Imgproc.cvtColor(mRgba, light, Imgproc.COLOR_RGB2HSV);
Core.inRange(light, new Scalar(0, 0, 250), new Scalar(0, 0, 255), light);
Imgproc.findContours(light, contours, new Mat(), Imgproc.RETR_CCOMP, Imgproc.CHAIN_APPROX_SIMPLE, new Point(0, 0));
Rect rect = null; //= Imgproc.boundingRect(points);
double maxVal = 0;
for (int contourIdx = 0; contourIdx < contours.size(); contourIdx++) {
double contourArea = Imgproc.contourArea(contours.get(contourIdx));
if (maxVal < contourArea) {
maxVal = contourArea;
rect = Imgproc.boundingRect(contours.get(contourIdx));
}
}
我该怎么做?
谢谢!