"cvcompat.h"函式庫繪圖實作
#include <cv.h>
#include <highgui.h>
IplImage *Image1;
CvPoint PointArray1[3];
CvPoint *PointArray[2]={
&
PointArray1[0]};int PolyVertexNumber[1]={3};
int main()
{
int PositionX=200;
int PositionY=300;
int Color=255;
int Shift=0;
CvSize ImageSize1 = cvSize(1000,700);
Image1 = cvCreateImage(ImageSize1,IPL_DEPTH_8U,3);
cvNot(Image1,Image1);
cvLineAA(Image1, cvPoint(PositionX+130,PositionY+50),cvPoint(PositionX+130,PositionY+130),Color,Shift);
cvLineAA(Image1, cvPoint(PositionX+220,PositionY+75),cvPoint(PositionX+285,PositionY+75),Color,Shift);
cvLineAA(Image1, cvPoint(PositionX+320,PositionY+50),cvPoint(PositionX+320,PositionY+100),Color,Shift);
cvLineAA(Image1, cvPoint(PositionX+376,PositionY+62),cvPoint(PositionX+376,PositionY+100),Color,Shift);
cvCircleAA(Image1,cvPoint(PositionX+50,PositionY+50),50,Color,Shift);
cvEllipseAA(Image1,cvPoint(PositionX+130,PositionY+75),cvSize(25,60),90,-180,0,Color,Shift);
cvEllipseAA(Image1,cvPoint(PositionX+252,PositionY+75),cvSize(25,32),90,-90,225,Color,Shift);
cvEllipseAA(Image1,cvPoint(PositionX+348,PositionY+75),cvSize(25,32),90,-60,60,Color,Shift);
cvEllipseAA(Image1,cvPoint(PositionX+450,PositionY+50),cvSize(50,45),90,-60,225,Color,Shift);
PointArray1[0]=cvPoint(PositionX+505,PositionY+0);
PointArray1[1]=cvPoint(PositionX+550,PositionY+100);
PointArray1[2]=cvPoint(PositionX+595,PositionY+0);
cvPolyLineAA(Image1,PointArray,PolyVertexNumber,1,0,Color,Shift);
cvNamedWindow("OpenCV",1);
cvShowImage("OpenCV",Image1);
cvWaitKey(0);
}
執行結果:
上面的繪圖函式程式設計,不再多做變數的宣告,直接把變數,資料結構等寫在裡面,cvLineAA(),cvCircleAA(),cvEllipseAA(),cvPolyLineAA()跟一般繪圖函式不一樣的地方,它不需要輸入線條種類了,本身就是CV_AA的種類,線條粗細也不用輸入了,被預設為1,不過可惜的是,只能輸入藍色色域的部份.
cvLineAA()
繪製直線,與cvLine()相近,不同處為不需要CV_AA參數,線條粗細數據等引數輸入.
輸入引數為目標圖形IplImage資料結構,起始點,結束點,顏色值數據(藍色或灰階),縮放比例數據.
cvLineAA(IplImage資料結構,CvPoint起始點資料結構,0~255顏色數據,CvScalar顏色,縮放比例例數據)
cvCircleAA()
繪製直線,與cvCircle()相近,不同處為不需要CV_AA參數,線條粗細數據等引數輸入.
輸入引數為目標圖形IplImage資料結構,圓心座標,圓的半徑,顏色值數據(藍色或灰階),縮放比例數據.
cvCircleAA(IplImage資料結構,CvPoint圓心座標,半徑數據,顏色數據,比例大小縮放數據)
cvEllipseAA()
繪製直線,與cvEllipse()相近,不同處為不需要CV_AA參數,線條粗細數據等引數輸入.
輸入引數為目標圖形IplImage資料結構,橢圓圓心座標,橢圓長短軸半徑,旋轉角度,繪圖起點,終點,顏色值數據(藍色或灰階),縮放比例數據.
cvEllipseAA(IplImage資料結構,CvPoint橢圓圓心,CvSize長短軸,旋轉角度數據,繪圖起點數據,繪圖終點數據,顏色數據,比例大小縮放數據)
cvPolyLineAA()
繪製直線,與cvEllipse()相近,不同處為不需要CV_AA參數,線條粗細數據等引數輸入.
輸入引數為目標圖形IplImage資料結構,點集合二維陣列,每群點集合數量分配,多邊型區塊數,是否為循環,顏色值數據(藍色或灰階),縮放比例數據.
cvPolyLine(IplImage資料結構,CvPoint二維陣列,多邊型的點數分配數據,要繪製幾個多邊型數據,是否循環數據,顏色數據,比例縮放數據)
0 意見:
張貼留言