目錄
- 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