日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法

發布時間:2023/12/1 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • 1、line函數
    • 2、circle函數
    • 3、rectangle、Rect函數
    • 4、ellipse函數
    • 5、polylines函數
    • 6、隨機初始化顏色
    • 7、putText函數
    • 總結

1、line函數

line(img,(0,0),(511,511),(255,0,0),5)

這個函數有5個參數,img是圖像名稱,起點坐標,終點坐標,(255,0,0)是藍色,5是線的寬度
會畫一條 從左上方到右下角的藍色線段。

2、circle函數

cvCircle(CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int lineType=8, int shift=0)
img為源圖像指針
center為畫圓的圓心坐標
radius為圓的半徑
color為設定圓的顏色,規則根據B(藍)G(綠)R(紅)
thickness 如果是正數,表示組成圓的線條的粗細程度。否則,表示圓是否被填充
line_type 線條的類型。默認是8
shift 圓心坐標點和半徑值的小數點位數

for (int i = 0;i < points.size();i++) {circle(image, points[i], 5, Scalar(0, 0, 255), 2, 8, 0); }

3、rectangle、Rect函數

rectangle函數是用來繪制一個矩形框的,通常用在圖片的標記上。

rectangle(img2, Point(j,i), Point(j + img4.cols, i + img4.rows), Scalar(255, 255, 0), 2, 8);

img2:要做處理的圖片
二三代表左上右下矩形的角坐標
scalar:顏色
2代表線條寬度
8是線型,默認取8

Rect函數也是畫矩形的,但與上面的有所不同

Rect roi_rect = Rect(128, 128, roi.cols, roi.rows);

Rect(x,y,width,height),x, y 為左上角坐標, width, height 則為長和寬。

4、ellipse函數

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(img,(256,256),(100,50),0,0,180,255,-1)

這個函數有8個參數:圖像名稱,中心點坐標,長軸長度,短軸長度,旋轉角度,圖像出現的部分(長軸順時針方向起始的角度和結束角度)0,180是下半個橢圓,顏色數組這里255是藍色,線寬
橢圓要素:1.是中心點的位置坐標 2.長軸和短軸的長度 3.橢圓沿逆時針方向旋轉的角度 4.長軸順時針方向起始的角度和結束角度

5、polylines函數

畫多邊形
polylines(src, [points], True,color, thickness), points為點集,需要知道多邊形頂點的集合

6、隨機初始化顏色

經常遇到畫出各種顏色的圖形,這里我們用隨機類RNG
用法如下:

RNG g_rng(12345); Scalar color = Scalar(g_rng.uniform(0, 255),g_rng.uniform(0, 255), g_rng.uniform(0, 255));//任意值

7、putText函數

寫字符串:cv2.putText(src, str, (x0,y0), font, size, color, thickness, linetype) 我們需要對圖片加以注釋,putText()就顯得極其重要,各個參數中文意思為:繪畫圖像,文字,位置坐標,字體,字體大小,字體顏色,字體粗細及線型,建議線型使用cv2.LINE_AA,其中關于font,openCV支持的字體,看一下不同樣式效果圖(其他參數相同,僅改變字體格式,沒有傳遞linetype,字體邊緣鋸齒還是比較嚴重),通常用第一種就夠了。

總結

由于最近經常用到這些函數,這里做一下記錄,以后用的時候直接回來看博客就行了,節省時間。


參考鏈接:

https://blog.csdn.net/weixin_43491924/article/details/85600996
https://blog.csdn.net/weixin_43491924/article/details/85218336
https://www.cnblogs.com/yujiachen/p/7672417.html?utm_source=debugrun&utm_medium=referral
https://www.cnblogs.com/mld-code-life/p/11197736.html
https://blog.csdn.net/bigat/article/details/80811789

總結

以上是生活随笔為你收集整理的Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。