gpt4 book ai didi

OpenCv : draw a white filled polygon

转载 作者:行者123 更新时间:2023-12-02 16:50:14 31 4
gpt4 key购买 nike

我想在黑色 IplImage 中绘制一个任意角度的白色填充多边形。我知道存在诸如 createCircle 之类的功能,但我找不到与多边形类似的东西。
我找到了this ,但是它的使用很糟糕,我的意思是我不应该仅仅为了在黑色背景上绘制一个简单的白色多边形而进入这个......!

我在 OpenCV 文档中找到的示例:

void MyPolygon( Mat img )
{
int lineType = 8;

/** Create some points */
Point rook_points[1][20];
rook_points[0][0] = Point( w/4.0, 7*w/8.0 );
rook_points[0][1] = Point( 3*w/4.0, 7*w/8.0 );
rook_points[0][2] = Point( 3*w/4.0, 13*w/16.0 );
rook_poi /*** blablabla **/
rook_points[0][19] = Point( w/4.0, 13*w/16.0) ;

const Point* ppt[1] = { rook_points[0] };
int npt[] = { 20 };

fillPoly( img,
ppt,
npt,
1,
Scalar( 255, 255, 255 ),
lineType );
}

基本上,我的问题是,如何将 CvBox2D 放入 fillPoly 中,从中获取蒙版并最终设置我需要的“带角度的 ROI”?

最佳答案

像这样:

#include <cv.h>

void drawBox( CvArr* img, CvBox2D box, CvScalar color )
{

CvPoint2D32f pointsf[4];
cvBoxPoints( box , pointsf );

CvPoint pointsi[4];

for(int i=0;i<4;i++)
{
pointsi[i]=cvPointFrom32f(pointsf[i]);
}

CvPoint* countours[1]={
pointsi,
};

int countours_n[1]={
4,
};

cvFillPoly( img, countours, countours_n, 1, color );

}

关于OpenCv : draw a white filled polygon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9082204/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com