`
jgsj
  • 浏览: 962501 次
文章分类
社区版块
存档分类
最新评论

OpenCV繪圖的實作-cvFillConvexPoly

 
阅读更多

转自:http://hi.baidu.com/ilotus_y/blog/item/cf03cdcb138d9418bf09e6f8.html

這是個繪製實心多邊型的函式,OpenCV的說明上聲稱比cvFillPoly()同樣是繪製實心多邊型的函式還快,而且,這個函式的製作比cvFillPoly()還簡單.要繪製它時,當然,需要多個點,多邊型,需要三個以上的頂點,然後依著頂點順序來做多邊型的繪製,並且選定想繪製幾個頂點的多邊型,選定顏色,種類等其他的.

cvFillConvexPoly()函式的實作
#include <cv.h>
#include <highgui.h>

IplImage *Image1;

CvPoint PointArray1[6];
CvScalar Color;
int PolyVertexNumber;
int Shift;
int main()
{
CvSize ImageSize1 = cvSize(1000,700);
Image1 = cvCreateImage(ImageSize1, IPL_DEPTH_8U, 3);

PointArray1[0]=cvPoint(200,200);
PointArray1[1]=cvPoint(400,150);
PointArray1[2]=cvPoint(650,230);
PointArray1[3]=cvPoint(800,300);
PointArray1[4]=cvPoint(900,550);
PointArray1[5]=cvPoint(100,500);

CvScalar Color=CV_RGB(255,0,0);
PolyVertexNumber=6;
Shift=0;

cvFillConvexPoly(Image1,PointArray1,PolyVertexNumber,Color,CV_AA,Shift);

cvNamedWindow("FillConvexPoly",0);
cvShowImage("FillConvexPoly",Image1);
cvWaitKey(0);
}


這個繪圖函式真的比cvFillPoly()簡單的多了!內部使用的演算法也不一樣,總而言之,給定點座標集合,多邊型頂點數,顏色,線條種類,比例縮放,就可以繪出多邊型了,而執行結果,表示的是不同多邊型頂點數的執行結果.由圖可知,它的演算法是照著點陣列的排列的順序來的.

cvFillConvexPoly()
利用點陣列集合繪製多邊型,並且給它多邊型的頂點數,它會依照陣列的順序去製作多邊型圖案如果順序給的繪不出多邊型,則會亂掉.
cvFillConvexPoly(IplImage資料結構,CvPoint陣列,多邊型頂點數,CvScalar顏色,線條類型,比例縮放數據)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics