溫馨提示×

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

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

OpenCV的基本繪圖函數(shù)

發(fā)布時(shí)間:2020-07-20 03:03:53 來(lái)源:網(wǎng)絡(luò) 閱讀:1611 作者:Joe科技 欄目:開(kāi)發(fā)技術(shù)

相關(guān)函數(shù)介紹

[-]

  1. 相關(guān)函數(shù)介紹

    1. Point

    2. Scalar

    3. Rectangle

    4. Line

    5. Ellipse

    6. PolyLine

    7. PutText

  2. 示例代碼

  3. 實(shí)驗(yàn)結(jié)果

1、

Point

該數(shù)據(jù)結(jié)構(gòu)表示了由其圖像坐標(biāo) 和 指定的2D點(diǎn)??啥x為:

Point pt;

pt.x = 10;

pt.y = 8;

或者

Point pt = Point(10, 8);

Scalar

表示了具有4個(gè)元素的數(shù)組。次類(lèi)型在OpenCV中被大量用于傳遞像素值。

本節(jié)中,我們將進(jìn)一步用它來(lái)表示RGB顏色值(三個(gè)參數(shù))。如果用不到第四個(gè)參數(shù),則無(wú)需定義。

我們來(lái)看個(gè)例子,如果給出以下顏色參數(shù)表達(dá)式:

Scalar( a, b, c )

那么定義的RGB顏色值為:Red = c, Green = b and Blue= a

Rectangle

C++: void rectangle(Mat& img,Point pt1, Pointpt2, const Scalar&color, intthickness=1,intlineType=8, intshift=0)

C++: void rectangle(Mat& img,Rect rec, const Scalar&color, intthickness=1, intlineType=8,intshift=0 )

Parameters:

  • img – 畫(huà)矩形的對(duì)象

  • pt1 – 矩形的一個(gè)頂點(diǎn),左上角的.

  • pt2 – 另一個(gè)頂點(diǎn),右下角的.

  • rec – 確定矩形的另一種方式,給左上角坐標(biāo)和長(zhǎng)寬

  • color – 指定矩形的顏色或亮度(灰度圖像),scalar(255,0,255)既可指定.

  • thickness – 矩形邊框的粗細(xì). 負(fù)值(like CV_FILLED)表示要畫(huà)一個(gè)填充的矩形

  • lineType – 邊框線型. (   

8 (or 0) - 8-connected line(8鄰接)連接 線。

4 - 4-connected line(4鄰接)連接線。

CV_AA - antialiased 線條。)

  • shift –坐標(biāo)點(diǎn)的小數(shù)點(diǎn)位數(shù)

Line

C++: void line(Mat& img, Point pt1,Point pt2, const Scalar& color, int thickness=1, int lineType=8,int shift=0)

Parameters:

  • img – 圖像.

  • pt1 – 線條起點(diǎn).

  • pt2 – 線條終點(diǎn).

  • color – 線條顏色.

  • thickness – 線條寬度.

  • lineType – 線型

Type of the line:

    • 8 (or omitted) - 8-connected line.

    • 4 - 4-connected line.

    • CV_AA - antialiased line.

  • shift – 坐標(biāo)點(diǎn)小數(shù)點(diǎn)位數(shù).

Circle

C++: void circle(Mat&img, Point center, intradius, const Scalar&color,intthickness=1, intlineType=8, intshift=0)

Parameters:

  • img – 要畫(huà)圓的那個(gè)矩形.

  • center – 圓心坐標(biāo).

  • radius – 半徑.

  • color – 圓邊框顏色,scalar類(lèi)型的

  • thickness – 正值表示圓邊框?qū)挾? 負(fù)值表示畫(huà)一個(gè)填充圓形

  • lineType – 圓邊框線型

  • shift – 圓心坐標(biāo)和半徑的小數(shù)點(diǎn)位數(shù)

Ellipse

C++: void ellipse(Mat& img, Point center,Size axes, double angle, double startAngle, double endAngle, const Scalar& color,int thickness=1, int lineType=8, int shift=0)

C++: void ellipse(Mat& img, constRotatedRect& box, const Scalar& color, int thickness=1, int lineType=8)

Parameters:

  • img – 橢圓所在圖像.

  • center – 橢圓中心.

  • axes – 橢圓主軸一半的長(zhǎng)度

  • angle – 橢圓旋轉(zhuǎn)角度

  • startAngle – 橢圓弧起始角度

  • endAngle –橢圓弧終止角度

  • box – 指定橢圓中心和旋轉(zhuǎn)角度的信息,通過(guò) RotatedRect 或 CvBox2D. 這表示橢圓畫(huà)在旋轉(zhuǎn)矩形上(矩形是不可見(jiàn)的,只是指定了一個(gè)框而已)

  • color – 橢圓邊框顏色.

  • thickness – 正值代表橢圓邊框?qū)挾?,?fù)值代表填充的橢圓

  • lineType – 線型

  • shift – 橢圓中心坐標(biāo)和坐標(biāo)軸的小數(shù)點(diǎn)位數(shù)

PolyLine

C++: void polylines(Mat& img, const Point** pts, const int* npts, int ncontours, bool isClosed, const Scalar& color, int thickness=1, int lineType=8, int shift=0 )

C++: void polylines(InputOutputArray img, InputArrayOfArrays pts, bool isClosed, const Scalar& color, int thickness=1, int lineType=8, int shift=0 )

Parameters:
  • img – 折線所在圖像.

  • pts – 折線中拐點(diǎn)坐標(biāo)指針.

  • npts – 折線拐點(diǎn)個(gè)數(shù)指針.

  • ncontours – 折線線段數(shù)量.

  • isClosed – 折線是否閉合.

  • color – 折線顏色.

  • thickness – 折線寬度.

  • lineType – 線型.

  • shift – 頂點(diǎn)坐標(biāo)小數(shù)點(diǎn)位數(shù).

PutText

C++: void putText(Mat& img, const string& text, Point org, int fontFace, double fontScale, Scalar color, int thickness=1, int lineType=8, bool bottomLeftOrigin=false )

Parameters:
  • img – 顯示文字所在圖像.

  • text – 待顯示的文字.

  • org – 文字在圖像中的左下角 坐標(biāo).

  • font – 字體結(jié)構(gòu)體.

  • fontFace – 字體類(lèi)型, 可選擇字體:FONT_HERSHEY_SIMPLEX, FONT_HERSHEY_PLAIN, FONT_HERSHEY_DUPLEX,FONT_HERSHEY_COMPLEX, FONT_HERSHEY_TRIPLEX, FONT_HERSHEY_COMPLEX_SMALL, FONT_HERSHEY_SCRIPT_SIMPLEX, orFONT_HERSHEY_SCRIPT_COMPLEX,以上所有類(lèi)型都可以配合 FONT_HERSHEY_ITALIC使用,產(chǎn)生斜體效果。

  • fontScale – 字體大小,該值和字體內(nèi)置大小相乘得到字體大小

  • color – 文本顏色

  • thickness –  寫(xiě)字的線的粗細(xì),類(lèi)似于0.38的筆尖和0.5的筆尖

  • lineType – 線性.

  • bottomLeftOrigin – true, 圖像數(shù)據(jù)原點(diǎn)在左下角. Otherwise, 圖像數(shù)據(jù)原點(diǎn)在左上角.

向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