使用自定义序列点绘制等高线
Drawing Contours using customize Sequence points?
我正在使用OpenCV使用cvFindContours()查找图像的轮廓区域。然后,我想用不同的坐标(和不同的像素对应关系)画出这个轮廓。。。
因此,我使用cvGetSeqElem()获得所有轮廓元素点,并转换像素对应关系,创建自定义的cvSeq,并将每个元素加载到自定义的cvSeq。然而,当我尝试用定制的cvSeq绘制轮廓时,图像中没有任何响应。
为了这项工作的目的,我想使用轮廓来掩盖图像。
代码如下:
<!-- language: c++ -->
CvMemStorage *memStorage = cvCreateMemStorage(0);
CvSeq* seq = cvCreateSeq(0, sizeof(CvSeq), sizeof(CvPoint), memStorage);
void SetMaskingPoints(CvPoint point)
{ cvSeqPush(seq, ®ionPoint); }
void DrawMaskingPoints()
{ cvDrawContours(maskingImage, seq, cvScalar(255,255,255), cvScalar(0,0,0), 0, 1, 8); }
我的代码从获取contour元素开始,按顺序加载到SetMaskingPoints(),然后通过DrawMasingPoints绘制轮廓()。
我还尝试打印输出,发现cvSeq由点值组成,但无法绘制。
尝试将cvCreateSeq
中的0
替换为:(CV_SEQ_KIND_CURVE|CV_SEQ_ELTYPE_POINT|CV_SEQ_FLAG_CLOSED)
。
相关文章:
- QuadTree只在窗口的右上角绘制
- 绘制旋转的三角形
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 如何在QT中的自定义视频小工具t上绘制矩形
- 如何在Visual Basic中使用矩形函数OpenGL绘制矩形
- 无法使用VAO和EBO(openGL)绘制多个对象
- 为什么我的点没有在 OpenGL 中绘制鼠标所在的位置?
- 绘制顺时针三角形,重新排序点
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- SFML 文本未绘制在窗口上
- 如何在快板的屏幕中显示子位图的绘制?
- 如何绘制自定义形状的元素?
- QPainter 将 QBrush 设置为 在 QT/C++ 中绘制文本
- 除非重新绘制大小,否则SDL_Texture在调整大小后呈现黑色
- 绘制文本问题
- 在 QT C++中绘制/操作多边形
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 在现代OpenGL中,绘制GL_TRIANGLE奇怪的z轴行为的填充圆
- OpenGL 着色器不绘制任何东西 - 糟糕的精灵类
- 使用自定义序列点绘制等高线