Core.inRange(frame, new Scalar(minA,minB,minC), new Scalar(maxA,maxB,maxC), dst);
Run Code Online (Sandbox Code Playgroud)
我不明白应该向标量输入哪个参数。以及如何将 RGB 转换为它。(我使用的是 openCV 2.412)。根据http://docs.opencv.org/2.4.12/doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.html?highlight=scalar 参数应该是 BGR,但它没有达到预期的结果。
输入:
Core.inRange(frame, new Scalar(0,0,0), new Scalar(0,0,255), dst);
Run Code Online (Sandbox Code Playgroud)
输出:
该红色矩形具有价值(0,0,240),所以你可以使用:
inRange(img, new Scalar(0, 0, 230), new Scalar(0, 0, 255), dst);
Run Code Online (Sandbox Code Playgroud)
该绿色矩形具有价值(0,240,0),所以你可以使用:
inRange(img, new Scalar(0, 230, 0), new Scalar(0, 255, 0), dst);
Run Code Online (Sandbox Code Playgroud)
该蓝色矩形具有价值(240,0,0),所以你可以使用:
inRange(img, new Scalar(230, 0, 0), new Scalar(255, 0, 0), dst);
Run Code Online (Sandbox Code Playgroud)
在灰色矩形具有价值(100,100,100),所以你可以使用:
inRange(img, new Scalar(90, 90, 90), new Scalar(110, 110, 110), dst);
Run Code Online (Sandbox Code Playgroud)
一次查找所有矩形可能很棘手。最好先检测黑色(0,0,0)背景,然后反转遮罩:
inRange(img, new Scalar(0, 0, 0), new Scalar(10, 10, 10), dst);
bitwise_not(dst, dst);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6236 次 |
| 最近记录: |