aihot  2017-05-30 19:47:12  OpenCV |   查看评论   

 这是个绘制实心多边型的函式,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("FillC onvexPoly",0); 
  •      cvShowImage("FillConvexPoly",Image1); 
  •      cvWaitKey(0); 
  • }
 
这个绘图函式真的比cvFillPoly()简单的多了!内部使用的演算法也不一样,总而言之,给定点座标集合,多边型顶点数,颜色,线条种类,比例缩放,就可以绘出多边型了,而执行结果,表示的是不同多边型顶点数的执行结果.由图可知,它的演算法是照着点阵列的排列的顺序来的. 
 
cvFillConvexPoly()
利用点阵列集合绘制多边型,并且给它多边型的顶点数,它会依照阵列的顺序去制作多边型图案如果顺序给的绘不出多边型,则会乱掉. 
cvFillConvexPoly(IplImage资料结构,CvPoint阵列,多边型顶点数,CvScalar颜色,线条类型,比例缩放数据)
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV绘图的实作-cvFillConvexPoly

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]