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);
}
執行結果:
(1)PolyVertexNumber=3
(2)PolyVertexNumber=4
(2)PolyVertexNumber=5
(2)PolyVertexNumber=6
這個繪圖函式真的比cvFillPoly()簡單的多了!內部使用的演算法也不一樣,總而言之,給定點座標集合,多邊型頂點數,顏色,線條種類,比例縮放,就可以繪出多邊型了,而執行結果,表示的是不同多邊型頂點數的執行結果.由圖可知,它的演算法是照著點陣列的排列的順序來的.
cvFillConvexPoly()
利用點陣列集合繪製多邊型,並且給它多邊型的頂點數,它會依照陣列的順序去製作多邊型圖案如果順序給的繪不出多邊型,則會亂掉.
cvFillConvexPoly(IplImage資料結構,CvPoint陣列,多邊型頂點數,CvScalar顏色,線條類型,比例縮放數據)
0 意見:
張貼留言