詳解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 上, 橢圓中心為點center,并且大小位于矩形 axes 內(nèi),橢圓旋轉角度為 angle, 擴展的弧度從 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: 圓心坐標
radius: 圓的半徑
color:Scalar類型,表示圓的顏色,例如藍色為Scalar(255,0,0)
thickness:線的寬度
lineType:線的類型,(默認為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ù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
Python面向對象三大特征:繼承、封裝和多態(tài)的深度解析
在面向對象程序設計中,對象可以看做是數(shù)據(jù)(特性)以及由一系列可以存取、操作這些數(shù)據(jù)的方法所組成的集合,Python是面向對象的語言,支持面向對象編程的三大特性:繼承、封裝(隱藏)、多態(tài),本文將逐一講解Python的三大特性2025-01-01
python2.7讀取文件夾下所有文件名稱及內(nèi)容的方法
python,本身來說是一門高級編程語言,python它入門簡單,有基礎的學起來很快就能有簡單的應用,但是在非常高的抽象計算中,高級的python程序設計也是非常難學的。接下來給大家介紹python2.7讀取文件夾下所有文件名稱及內(nèi)容的方法,一起看看吧2018-02-02
Python3 selenium 實現(xiàn)QQ群接龍自動化功能
這篇文章主要介紹了Python3 selenium 實現(xiàn)QQ群接龍自動化功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
淺談Python數(shù)學建模之整數(shù)規(guī)劃
整數(shù)規(guī)劃并不一定是線性規(guī)劃問題的變量取整限制,對于二次規(guī)劃、非線性規(guī)劃問題也有變量取整限制而引出的整數(shù)規(guī)劃。但在數(shù)學建模問題中所說的整數(shù)規(guī)劃,通常是指整數(shù)線性規(guī)劃。整數(shù)規(guī)劃與線性規(guī)劃的差別只是變量的整數(shù)約束。選擇簡單通用的編程方案,讓求解器去處理吧2021-06-06

