【发布时间】:2015-07-29 09:01:47
【问题描述】:
假设我有一张图片。我基本上想在我想要的特定颜色上划出边界。我知道该颜色的 hsv 最小和最大标量值。但我不知道如何进一步进行。
#include <iostream>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include<stdio.h>
#include<opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
VideoCapture cap(0);
while(true)
{
Mat img;
cap.read(img);
Mat dst;
Mat imghsv;
cvtColor(img, imghsv, COLOR_BGR2HSV);
inRange(imghsv,
Scalar(0, 30, 0),
Scalar(20, 150, 255),
dst
);
imshow("name",dst);
if (waitKey(30) == 27) //wait for 'esc' key press for 30ms
{
cout << "esc key is pressed by user" << endl;
break;
}
}
}
inrange 函数运行良好,但我无法在白色范围内绘制边界(我的意思是指定范围内的任何像素)
【问题讨论】:
-
您应该发布更多信息:参考图像、编程语言、您的 HSV 界限
-
即mcve
-
既然你用一些代码更新了你的问题,我也用一些代码更新了我的答案!检查一下,看看它是否满足您的需求。 (下次,请通知人们您更新了问题并评论他们的答案)
标签: opencv image-processing opencv-contour