Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
绘制梯形ROI OpenCV C++ 我正在使用C++中的OpenCV来进行车道检测问题。为了选择ROI,我计划使用梯形形状的遮罩来过滤区域。然而,我不知道如何画一个梯形。选择四个顶点后,将绘制一个顶点。这是我的密码 void select_roi(Mat &frame){ int rows = frame.rows; int cols = frame.cols; Point points[1][4]; points[0][0] = Point(cols*0.05, rows); points[0][1] = Point(cols*0.4, rows*0.4); points[0][2] = Point(cols*0.95, rows); points[0][3] = Point(cols*0.6, rows*0.4); Mat img = empty_image(frame); //User defined function that returns empty image of frame dimensions const Point* ppt[1] = {points[0]}; int npt[] = {4}; fillPoly(img, ppt, npt, 1, Scalar(255,0,0), 8); imshow("Poly",img); }_Opencv_Image Processing - Fatal编程技术网

绘制梯形ROI OpenCV C++ 我正在使用C++中的OpenCV来进行车道检测问题。为了选择ROI,我计划使用梯形形状的遮罩来过滤区域。然而,我不知道如何画一个梯形。选择四个顶点后,将绘制一个顶点。这是我的密码 void select_roi(Mat &frame){ int rows = frame.rows; int cols = frame.cols; Point points[1][4]; points[0][0] = Point(cols*0.05, rows); points[0][1] = Point(cols*0.4, rows*0.4); points[0][2] = Point(cols*0.95, rows); points[0][3] = Point(cols*0.6, rows*0.4); Mat img = empty_image(frame); //User defined function that returns empty image of frame dimensions const Point* ppt[1] = {points[0]}; int npt[] = {4}; fillPoly(img, ppt, npt, 1, Scalar(255,0,0), 8); imshow("Poly",img); }

绘制梯形ROI OpenCV C++ 我正在使用C++中的OpenCV来进行车道检测问题。为了选择ROI,我计划使用梯形形状的遮罩来过滤区域。然而,我不知道如何画一个梯形。选择四个顶点后,将绘制一个顶点。这是我的密码 void select_roi(Mat &frame){ int rows = frame.rows; int cols = frame.cols; Point points[1][4]; points[0][0] = Point(cols*0.05, rows); points[0][1] = Point(cols*0.4, rows*0.4); points[0][2] = Point(cols*0.95, rows); points[0][3] = Point(cols*0.6, rows*0.4); Mat img = empty_image(frame); //User defined function that returns empty image of frame dimensions const Point* ppt[1] = {points[0]}; int npt[] = {4}; fillPoly(img, ppt, npt, 1, Scalar(255,0,0), 8); imshow("Poly",img); },opencv,image-processing,Opencv,Image Processing,非常简单的错误:你的分数顺序不对。当前正在绘制左下角、左上角、右下角和右上角,然后连接回第一个。想象一下,如果你用这些坐标按顺序画出它,你会得到与你错误的形状相同的形状。所以你需要做的就是对它们进行排序,这样如果你从每个点到下一个点画线,你就可以创建形状 points[0][0] = Point(cols*0.05, rows); points[0][1] = Point(cols*0.4, rows*0.4); points[0][2] = Point(cols*0.6, rows*0.4);

非常简单的错误:你的分数顺序不对。当前正在绘制左下角、左上角、右下角和右上角,然后连接回第一个。想象一下,如果你用这些坐标按顺序画出它,你会得到与你错误的形状相同的形状。所以你需要做的就是对它们进行排序,这样如果你从每个点到下一个点画线,你就可以创建形状

points[0][0] = Point(cols*0.05, rows);
points[0][1] = Point(cols*0.4, rows*0.4);
points[0][2] = Point(cols*0.6, rows*0.4);
points[0][3] = Point(cols*0.95, rows);