溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

opencv中畫圓circle函數(shù)和橢圓ellipse函數(shù)的示例分析

發(fā)布時(shí)間:2021-06-11 14:37:54 來(lái)源:億速云 閱讀:319 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要為大家展示了“opencv中畫圓circle函數(shù)和橢圓ellipse函數(shù)的示例分析”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“opencv中畫圓circle函數(shù)和橢圓ellipse函數(shù)的示例分析”這篇文章吧。

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函數(shù)將橢圓畫到圖像 lmg 上, 橢圓中心為點(diǎn)center,并且大小位于矩形 axes 內(nèi),橢圓旋轉(zhuǎn)角度為 angle, 擴(kuò)展的弧度從 0 度到 360 度,

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

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

img :表示輸入的圖像 

center:  圓心坐標(biāo) 

radius: 圓的半徑

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

thickness:線的寬度 

lineType:線的類型,(默認(rèn)為8聯(lián)通型)

#include<iostream>
#include<opencv2/opencv.hpp>
using namespace cv;
using namespace std;
#define WINDOW_NAME1 "繪制圖1"
#define WINDOW_NAME2 "繪制圖2"
#define WINDOW_WIDTH 600  //定義窗口大小
string image = "C:\\Users\\asus\\Pictures\\Saved Pictures\\123.jpg";
void DrawEllipse(Mat img, double angle);
void DrawFi1ledCirc1e(Mat img, Point center);
int main()
{ 
  Mat atomImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
  Mat rookImage = Mat::zeros(WINDOW_WIDTH, WINDOW_WIDTH, CV_8UC3);
  //繪制橢圓
  DrawEllipse(atomImage, 90);
  DrawEllipse(atomImage, 0);
  DrawEllipse(atomImage, 45);
  DrawEllipse(atomImage, -45);
  //繪制圓心
  DrawFi1ledCirc1e(atomImage, Point(WINDOW_WIDTH / 2,WINDOW_WIDTH / 2));
  imshow(WINDOW_NAME1, atomImage);
  waitKey(0);
  return 0;
}
void DrawEllipse(Mat img, double angle) {
  int thickness = 2;
  int lineType = 8;
  ellipse(img, Point(WINDOW_WIDTH / 2, WINDOW_WIDTH / 2),
    Size(WINDOW_WIDTH / 4, WINDOW_WIDTH / 16), angle, 0, 360, Scalar(255, 129, 0),
    thickness, lineType);
}
void DrawFi1ledCirc1e(Mat img, Point center) {
  int thickness = -1;
  int lineType = 8;
  circle(img, center, WINDOW_WIDTH / 32, Scalar(0, 0, 255), thickness, lineType);
}

opencv中畫圓circle函數(shù)和橢圓ellipse函數(shù)的示例分析

以上是“opencv中畫圓circle函數(shù)和橢圓ellipse函數(shù)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI