cvLine()函式的實作
#include <cv.h>
#include <highgui.h>
IplImage *Image1,*Image2;
CvPoint FromPoint1,ToPoint1;
CvPoint FromPoint2,ToPoint2;
CvScalar Color;
int Thickness;
int Shift;
int main()
{
CvSize ImageSize1 = cvSize(1000,700);
Image1 = cvCreateImage(ImageSize1,IPL_DEPTH_8U,3);
Image2=cvCloneImage(Image1);
FromPoint1 = cvPoint(100,100);
ToPoint1 = cvPoint(800,600);
FromPoint2=cvPoint(800,100);
ToPoint2 = cvPoint(100,600);
Color=CV_RGB(255,0,0);
Thickness=3;
Shift=1;
cvLine(Image1,FromPoint1,ToPoint1,Color,Thickness,CV_AA,Shift);
cvLine(Image1,FromPoint2,ToPoint2,Color,Thickness,CV_AA,Shift);
cvNamedWindow("cvLine shift",1);
cvShowImage("cvLine shift",Image1);
Shift=0;
cvLine(Image2,FromPoint1,ToPoint1,Color,Thickness,CV_AA,Shift);
cvLine(Image2,FromPoint2,ToPoint2,Color,Thickness,CV_AA,Shift);
cvNamedWindow("cvLine",1);
cvShowImage("cvLine",Image2);
cvWaitKey(0);
}
執行結果:
(1)Shift=1
(2)Shift=0
(3)將Shift=0,Shift=1繪在同一張圖上
上面的圖,畫出來的是一個X,除了設頂起始點,結束點,還有線條顏色,粗細,線條種類及shift,這邊的shift很特殊,它會將直線線段等比例縮小1倍,也就是"cvLine shift"的直線線段座標將會是(50,50),(400,300)跟另一條直線為(400,50),(50,300),如果shift給2的話將會是(25,25),(200,150)跟(200,25),(25,150)也就是(x軸座標/2^(shift),y軸座標/2^(shift))的縮放比例,shift為非負整數.
cvLine()
繪製直線的函式,必須給它目標圖片資料結構(IplImage)起點點座標,終點點座標,直線顏色,線條粗細,線條種類,及縮放比例大小,縮放比例大小(Shift)為0的話就是原始線段長度
cvLine(IplImage資料結構,起點CvPoint資料結構,終點CvPoint資料結構,色彩CvScalar資料結構,線條粗細數據,線條種類數據,縮放比例數據)
cvRectangle(),為方形的繪圖函式,給定他對角線的值,頂點1及頂點3,再來就是其他的參數設定.
cvRectangle()方形的實作
#include <cv.h>
#include <highgui.h>
IplImage *Image1;
CvPoint VertexOne,VertexThree;
CvScalar Color;
int Thickness;
int Shift;
int main()
{
CvSize ImageSize1 = cvSize(1000,700);
Image1 = cvCreateImage(ImageSize1,IPL_DEPTH_8U,3);
VertexOne=cvPoint(200,200);
VertexThree=cvPoint(800,600);
Color=CV_RGB(255,0,0);
Thickness=2;
Shift=0;
cvRectangle(Image1,VertexOne,VertexThree,Color,Thickness,CV_AA,Shift);
cvNamedWindow("Rectangle",1);
cvShowImage("Rectangle",Image1);
cvWaitKey(0);
free(
&
VertexOne);free(
&
VertexThree);free(
&
Color);cvReleaseImage(
&
Image1);cvDestroyWindow("Rectangle");
}
執行結果:
這個程式繪出了600*400的長方形,給定了對角線的兩個點,顏色,粗細,線條種類及是否等比例縮放.
cvRectangle()
繪出長方形,給它目標IplImage資料結構,頂點1及頂點3的CvPoint資料結構,顏色,粗細,線條種類及是否等比例縮放.
cvRectangle(IplImage資料結構,頂點1CvPoint資料結構,頂點3CvPoint資料結構,CvScalar資料結構顏色,粗細數據,線條種類,等比例縮放數據)
0 意見:
張貼留言