C OpenCV4 5 繪製形狀與文字(四)

2021-10-13 02:00:16 字數 4563 閱讀 1619

c++ opencv4.5環境搭建(一)

c++ opencv4.5常用api查詢手冊(二)

c++ opencv4.5 影象處理(三)

二、繪製文字

總結該篇主要講解使用 opencv 繪製形狀和向寫文字

繪製主要用到 cv::point 和 cv::scalar,point 表示 2d 平面上的乙個點,scalar 表示四個元素的向量

畫線 cv::line 函式宣告如下:

// 功能:繪製一條連線兩個點的線段

// 引數:img 影象源,mat物件型別

// pt1 線段的點1

// pt2 線段的點2

// color 線條顏色

// thickness 線條厚度

// linetype 線型型別(line_4\line_8\line_aa)

// shift 移動點座標中小數字數

void

line

(inputoutputarray img, point pt1, point pt2,

const scalar& color,

int thickness =1,

int linetype = line_8,

int shift =0)

;

示例**如下:

#include

#include

using

namespace std;

using

namespace cv;

void

drawline

(mat& img)

intmain()

drawline

(img)

;imshow

("測試"

, img)

;waitkey(0

);return0;

}

畫矩形 cv::rectangle 函式宣告如下:

// 功能:繪製乙個矩形

// 引數:img 影象源,mat物件型別

// rec 矩形

// color 矩形顏色或亮度(灰度影象)

// thickness 線條厚度

// linetype 線型型別(line_4\line_8\line_aa)

// shift 移動點座標中小數字數

void

rectangle

(mat& img, rect rec,

const scalar& color,

int thickness =1,

int linetype = line_8,

int shift =0)

;

示例**如下:

void

drawrectangle

(mat &img)

畫圓 cv::circle 函式宣告如下:

// 功能:繪製乙個圓

// 引數:img 影象源,mat物件型別

// center 圓的中心

// radius 圓的半徑

// color 圓的顏色

// thickness 線條厚度

// linetype 線型型別(line_4\line_8\line_aa)

// shift 移動點座標中小數字數

void

circle

(inputoutputarray img, point center,

int radius,

const scalar& color,

int thickness =1,

int linetype = line_8,

int shift =0)

;

示例**如下:

void

drawcircle

(mat &img)

畫圓 cv::ellipse 函式宣告如下:

// 功能:繪製乙個橢圓

// 引數:img 影象源,mat物件型別

// center 橢圓的中心點

// axes 橢圓主軸大小的一半

// angle 橢圓旋轉角度(度)

// startangle 橢圓弧的起始角(度)

// startangle 橢圓弧的結束角(度)

// color 矩形顏色或亮度(灰度影象)

// thickness 線條厚度

// linetype 線型型別(line_4\line_8\line_aa)

// shift 移動點座標中小數字數

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)

;

示例**如下:

void

drawellipse

(mat &img)

畫圓 cv::fillpoly 函式宣告如下:

// 功能:填充多邊形

// 引數:img 影象源,mat物件型別

// pts 多邊形陣列,其中每個多邊形都表示為乙個點陣列

// npts

// ncontours

// color 填充的顏色

// linetype 線型型別(line_4\line_8\line_aa)

// shift 移動點座標中小數字數

// offset 等高線所有點的可選偏移

void

fillpoly

(mat& img,

const point*

* pts,

const

int* npts,

int ncontours,

const scalar& color,

int linetype = line_8,

int shift =0,

point offset =

point()

);

示例**如下:

void

drawfillpoly

(mat &img)

;int npt=

; scalar color(0

,0,0

);// 填充乙個六邊形

fillpoly

(img, ppts, npt,

1, color)

;}

函式宣告如下:

// 功能:繪製字串

// 引數:img 影象源,mat物件型別

// text 要繪製的字串

// org 影象中字串的起始位置(左下角)

// fontface 字型型別

// fontscale 字型大小

// color 字型顏色

// thickness 繪製字串的線條的粗細

// linetype 線型型別(line_4\line_8\line_aa)

// bottomleftorigin 如果為true,則影象資料原點位於左下角。否則,它在左上角。

void

puttext

( inputoutputarray img,

const string& text, point org,

int fontface,

double fontscale, scalar color,

int thickness =1,

int linetype = line_8,

bool bottomleftorigin =

false

);

**如下(示例):

void

drawtext

(mat &img,

const

char

* ptext)

point org(30

,30);

scalar color(12

,255

,200);

puttext

(img, ptext, org, cv_font_hershey_complex,

1.0, color,2)

;}

以上就是今天要講的內容,本文僅僅簡單介紹了使用 opencv 繪製圖形和文字

07 繪製形狀與文字

繪製形狀與文字 cv point資料結構 代表了乙個點的座標,乙個二維點的座標 point表示2d平面上乙個點x,y point p p.x 10 p.y 8 orp point 10,8 cv scalar資料結構 代表顏色的向量,rgb色彩空間經常是數有三個值或者灰度影象賦給乙個值 scalar...

OpenCV(繪製形狀與文字)

使用opencv2.4.9 vs2013 繪製形狀與文字 include include using namespace cv using namespace std mat bgimage const char drawdemo win draw shapes and text demo void...

OpenCv 5 繪製形狀與文字

1 畫線 line void cvline cvarr img,cvpoint pt1,cvpoint pt2,cvscalar color,int thickness 1,int line type 8,int shift 0 第乙個引數img 要划的線所在的影象 第二個引數pt1 直線起點 第二...