OpenCV中的繪圖函數-OpenCV步步精深
OpenCV 中的繪圖函數
畫線
首先要為畫的線創造出環境,就要生成一個空的黑底圖像
- img=np.zeros((512,512,3), np.uint8)
np.zeros()有兩個參數,一個是創建的圖片矩陣大小,另一個是數據類型
512,512是像素(第一個512像素高,第二個是512像素寬),3指BGR三種顏色
uint8是用0-255表示所有顏色。
- cv2.line(img,(0,0),(511,511),(255,0,0),5)
這個函數有5個參數,img是圖像名稱,起點坐標,終點坐標,(255,0,0)是藍色,5是線的寬度
會畫一條 從左上方到右下角的藍色線段。
畫線兩要素:起點與終點。
畫矩形
- cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
這個函數有5個參數,圖像名稱,左上頂點坐標,右下頂點坐標,(0,255,0)是綠色,線寬為3
右上角畫一個綠色的矩形
畫矩形兩要素:左上頂點和右下頂點坐標。
畫圓
- cv2.circle(img,(447,63), 63, (0,0,255), -1)
這個函數有5個參數,圖像名稱,圓心坐標,半徑63,(0,0,255)紅色,線寬為-1,當線寬-1時表示封閉圖形的顏色填充。
在畫的矩形中畫一個圓,半徑為128的一般63
畫圓兩要素:指定圓形的中心點坐標和半徑大小
畫橢圓
- cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
這個函數有8個參數:圖像名稱,中心點坐標,長軸長度,短軸長度,旋轉角度,圖像出現的部分(長軸順時針方向起始的角度和結束角度)0,180是下半個橢圓,顏色數組這裏255是藍色,線寬
橢圓要素:1.是中心點的位置坐標 2.長軸和短軸的長度 3.橢圓沿逆時針方向旋轉的角度 4.長軸順時針方向起始的角度和結束角度
畫多邊形
- pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
- pts = pts.reshape((-1,1,2))
- img = cv2.polylines(img,[pts],True,(0,255,255),3)
這個函數有5個參數:圖像名稱,頂點列表(這個多邊形在array中有四個頂點),True表示閉合,(0,255,255)是黃色,3是線寬
在圖片上添加文字
- font=cv2.FONT_HERSHEY_SIMPLEX
- cv2.putText(img,‘OpenCV‘,(10,500), font, 4,(255,255,255),2)
這個函數有八個參數,圖像名稱,字符串,坐標,字體,字號,(255,255,255)白色、線寬2
匯總所有的圖像吧!
現在上所有代碼!
# -*- coding:utf-8 -*-
"""
Created on Sun Dec 29 18:15:27 2016
@author: Y
"""
import cv2
import numpy as np
img=np.zeros((512,512,3), np.uint8)
cv2.line(img,(0,0),(511,511),(255,0,0),5)
cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)
cv2.circle(img,(447,63), 63, (0,0,255), -1)
cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
img = cv2.polylines(img,[pts],True,(0,255,255),3)
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,‘OpenCV‘,(10,500), font, 4,(255,255,255),2)
winname = ‘img‘
cv2.namedWindow(winname)
cv2.imshow(winname, img)
cv2.waitKey(0)
cv2.destroyWindow(winname)
後面的顯示的幾行代碼,窗口名是img,顯示,銷毀窗口,已經了然於心了。
休息休息吧,這章學完,我們在人臉識別等等識別上,就能畫出更好的線條與圖案了,不至於那麽醜~
今天就到這了啦,歡迎下面留言哦,讓我知道你來過,我是Y,晚安~
OpenCV中的繪圖函數-OpenCV步步精深