Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法
目錄
- 1、line函數(shù)
- 2、circle函數(shù)
- 3、rectangle、Rect函數(shù)
- 4、ellipse函數(shù)
- 5、polylines函數(shù)
- 6、隨機初始化顏色
- 7、putText函數(shù)
- 總結(jié)
1、line函數(shù)
line(img,(0,0),(511,511),(255,0,0),5)這個函數(shù)有5個參數(shù),img是圖像名稱,起點坐標(biāo),終點坐標(biāo),(255,0,0)是藍(lán)色,5是線的寬度
會畫一條 從左上方到右下角的藍(lán)色線段。
2、circle函數(shù)
cvCircle(CvArr* img, CvPoint center, int radius, CvScalar color, int thickness=1, int lineType=8, int shift=0)
img為源圖像指針
center為畫圓的圓心坐標(biāo)
radius為圓的半徑
color為設(shè)定圓的顏色,規(guī)則根據(jù)B(藍(lán))G(綠)R(紅)
thickness 如果是正數(shù),表示組成圓的線條的粗細(xì)程度。否則,表示圓是否被填充
line_type 線條的類型。默認(rèn)是8
shift 圓心坐標(biāo)點和半徑值的小數(shù)點位數(shù)
3、rectangle、Rect函數(shù)
rectangle函數(shù)是用來繪制一個矩形框的,通常用在圖片的標(biāo)記上。
rectangle(img2, Point(j,i), Point(j + img4.cols, i + img4.rows), Scalar(255, 255, 0), 2, 8);img2:要做處理的圖片
二三代表左上右下矩形的角坐標(biāo)
scalar:顏色
2代表線條寬度
8是線型,默認(rèn)取8
Rect函數(shù)也是畫矩形的,但與上面的有所不同
Rect roi_rect = Rect(128, 128, roi.cols, roi.rows);Rect(x,y,width,height),x, y 為左上角坐標(biāo), width, height 則為長和寬。
4、ellipse函數(shù)
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);
這個函數(shù)有8個參數(shù):圖像名稱,中心點坐標(biāo),長軸長度,短軸長度,旋轉(zhuǎn)角度,圖像出現(xiàn)的部分(長軸順時針方向起始的角度和結(jié)束角度)0,180是下半個橢圓,顏色數(shù)組這里255是藍(lán)色,線寬
橢圓要素:1.是中心點的位置坐標(biāo) 2.長軸和短軸的長度 3.橢圓沿逆時針方向旋轉(zhuǎn)的角度 4.長軸順時針方向起始的角度和結(jié)束角度
5、polylines函數(shù)
畫多邊形
polylines(src, [points], True,color, thickness), points為點集,需要知道多邊形頂點的集合
6、隨機初始化顏色
經(jīng)常遇到畫出各種顏色的圖形,這里我們用隨機類RNG
用法如下:
7、putText函數(shù)
寫字符串:cv2.putText(src, str, (x0,y0), font, size, color, thickness, linetype) 我們需要對圖片加以注釋,putText()就顯得極其重要,各個參數(shù)中文意思為:繪畫圖像,文字,位置坐標(biāo),字體,字體大小,字體顏色,字體粗細(xì)及線型,建議線型使用cv2.LINE_AA,其中關(guān)于font,openCV支持的字體,看一下不同樣式效果圖(其他參數(shù)相同,僅改變字體格式,沒有傳遞linetype,字體邊緣鋸齒還是比較嚴(yán)重),通常用第一種就夠了。
總結(jié)
由于最近經(jīng)常用到這些函數(shù),這里做一下記錄,以后用的時候直接回來看博客就行了,節(jié)省時間。
參考鏈接:
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
總結(jié)
以上是生活随笔為你收集整理的Opencv基础画图函数——line、circle、rectangle、Rect、ellipse、polylines、putText函数的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 颐和园自己划船在哪租
- 下一篇: OpenCV实战【2】HOG+SVM实现