我使用OpenCV在Javascript中进行开发。
我试图在任何图像中检测(255,80,0)和(255,170,0)之间橙色RGB颜色的变化。
我试图像https://docs.opencv.org/3.3.1/db/d64/tutorial_js_colorspaces.html那样做同样的事情,但是当我从黑色检测变为橙色检测时,它无法正常工作。
我尝试了以下代码和许多其他组合,但却出乎意料。
那么,如何选择ORANGE颜色的限制?
这里是javascript代码:
let lower = [230, 155, 0, 0];
let higher = [255, 195, 25, 255];
let src = cv.imread('canvasInput');
let dst = new cv.Mat();
let low = new cv.Mat(src.rows, src.cols, src.type(), lower);
let high = new cv.Mat(src.rows, src.cols, src.type(), higher);
cv.inRange(src, low, high, dst);
cv.imshow('canvasOutput', dst);
src.delete(); dst.delete(); low.delete(); high.delete();
答案 0 :(得分:0)
如果RGB空间中的橙色大约是[255,170,0],我建议扩大你的范围:
let lower = [230, 155, 80, 0];
let higher = [255, 195, 120, 255];
在您的设置中,您的橙色需要具有R = 255和B = 0,这在实际图像中不会发生。我不知道第四个参数选择了什么(alpha通道?)所以它都在范围内。
答案 1 :(得分:0)