opencv中畫圓circle函數和橢圓ellipse函數


1.      void ellipse(InputOutputArray img, Point center, Size axes, double angle, double startAngle, double endAngle,  

                     const Scalar& color, int thickness = 1,   int lineType = LINE_8, int shift = 0);

ellipse函數將橢圓畫到圖像 lmg 上, 橢圓中心為點center,並且大小位於矩形 axes 內,橢圓旋轉角度為 angle, 擴展的弧度從 0 度到 360 度,

圖形顏色為 Scalar(x, y,z),線寬 (thickness)為 1,線型(lineType)為 8 (8 聯通線型)。

2.     void circle(InputOutputArray img,  Point center,  int radius,  const Scalar& color,   int thickness = 1,   int lineType = LINE_8,  int shift = 0);

img :表示輸入的圖像  

center:  圓心坐標  

radius: 圓的半徑 

color:Scalar類型,表示圓的顏色,例如藍色為Scalar(255,0,0) 

thickness:線的寬度  

lineType:線的類型,(默認為8聯通型)

 1 #include<iostream>
 2 #include<opencv2/opencv.hpp>
 3 using namespace cv;
 4 using namespace std;
 5 
 6 #define WINDOW_NAME1 "繪制圖1"
 7 #define WINDOW_NAME2 "繪制圖2"
 8 #define WINDOW_WIDTH 600    //定義窗口大小
 9 string image = "C:\\Users\\asus\\Pictures\\Saved Pictures\\123.jpg";
10 
11 void DrawEllipse(Mat img, double angle);
12 void DrawFi1ledCirc1e(Mat img, Point center);
13 int main()
14 {  
15     Mat atomImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
16     Mat rookImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
17     //繪制橢圓
18     DrawEllipse(atomImage, 90);
19     DrawEllipse(atomImage, 0);
20     DrawEllipse(atomImage, 45);
21     DrawEllipse(atomImage, -45);
22 
23     //繪制圓心
24     DrawFi1ledCirc1e(atomImage, Point(WINDOW_WIDTH / 2,WINDOW_WIDTH / 2));
25 
26     imshow(WINDOW_NAME1, atomImage);
27     waitKey(0);
28     return 0;
29 }
30 void DrawEllipse(Mat img, double angle) {
31     int thickness = 2;
32     int lineType = 8;
33     ellipse(img, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2),
34         Size(WINDOW_WIDTH / 4, WINDOW_WIDTH / 16), angle, 0, 360, Scalar(255, 129, 0),
35         thickness, lineType);
36 }
37 void DrawFi1ledCirc1e(Mat img, Point center) {
38     int thickness = -1;
39     int lineType = 8;
40     circle(img, center, WINDOW_WIDTH / 32, Scalar(0, 0, 255), thickness, lineType);
41 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM