织梦CMS - 轻松建站从此开始!

罗索

OpenCV繪圖的實作-cvFillConvexPoly

罗索客 发布于 2010-01-14 19:29 点击:次 
這是個繪製實心多邊型的函式,OpenCV的說明上聲稱比cvFillPoly()同樣是繪製實心多邊型的函式還快,而且,這個函式的製作比cvFillPoly()還簡單.
TAG:

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

cvFillConvexPoly()函式的實作 

  1. #include <cv.h>  
  2. #include <highgui.h>  
  3.  
  4. IplImage *Image1;  
  5.  
  6. CvPoint PointArray1[6];  
  7. CvScalar Color;  
  8. int PolyVertexNumber;  
  9. int Shift;  
  10. int main()  
  11. {  
  12.      CvSize ImageSize1 = cvSize(1000,700);  
  13.      Image1 = cvCreateImage(ImageSize1, IPL_DEPTH_8U, 3);  
  14.  
  15.      PointArray1[0]=cvPoint(200,200);  
  16.      PointArray1[1]=cvPoint(400,150);  
  17.      PointArray1[2]=cvPoint(650,230);  
  18.      PointArray1[3]=cvPoint(800,300);  
  19.      PointArray1[4]=cvPoint(900,550);  
  20.      PointArray1[5]=cvPoint(100,500);  
  21.  
  22.      CvScalar Color=CV_RGB(255,0,0);  
  23.      PolyVertexNumber=6;  
  24.      Shift=0;  
  25.  
  26.      cvFillConvexPoly(Image1,PointArray1,PolyVertexNumber,Color,CV_AA,Shift);  
  27.  
  28.      cvNamedWindow("FillConvexPoly",0);  
  29.      cvShowImage("FillConvexPoly",Image1);  
  30.      cvWaitKey(0);  

執行結果:
(1)PolyVertexNumber=3

(2)PolyVertexNumber=4

(2)PolyVertexNumber=5

(2)PolyVertexNumber=6


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

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

(罗索客)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201001/8298.html]
本文出处:网络博客 作者:罗索客
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容