繪製直線:
cv2.line(img,pt1,pt2,color,thickness=None,lineType=None,shift=None)
- img:繪製圖形的圖像
- pt1:起始座標 (x,y)
- pt2: 終點座標
- color:線的顏色 (B,G,R)
- thickness:線的粗細 默認爲 1
- lineType:線的類型 默認爲連接
cv2.LINE_AA 爲抗鋸齒 線會更加平滑
shift參數,就是將座標的小數點向前移動幾位,其實就是縮小倍數。
import cv2
img = cv2.imread("first.jpg",cv2.IMREAD_UNCHANGED)
cv2.line(img,(25,26),(1211,973),(255,0,0),2) # img 、pt1 、pt2 、color 、thickness
cv2.imshow("line",img)
cv2.waitKey()
cv2.destroyAllWindows()
繪製矩形:
cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
- img:繪製圖形的圖像
- pt1: 左上頂點座標 (x,y)
- pt2: 右下頂點座標
- color:線的顏色 (B,G,R)
- thickness:線的粗細 默認爲 1
- lineType:線的類型 默認爲連接
- cv2.LINE_AA 爲抗鋸齒 線會更加平滑
- shift參數:將座標的小數點向前移動幾位,縮小倍數。
import cv2
img = cv2.imread("first.jpg",cv2.IMREAD_UNCHANGED)
cv2.rectangle(img,(12,23),(234,342),(0,255,0),2)
cv2.imshow("line",img)
cv2.waitKey()
cv2.destroyAllWindows()
繪製文字:
cv2.putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)
- img:繪製文字的圖像
- text:繪製的文本 一般爲英文 中文需要特殊處理
- org:繪製起始位置
- fontFace:設置字體
命令 | 方法 |
---|---|
FONT_HERSHEY_SIMPLEX | 正常大小無襯線字體 |
FONT_HERSHEY_PLAIN | 小號無襯線字體 |
FONT_HERSHEY_DUPLEX | 正常大小無襯線字體比FONT_HERSHEY_SIMPLEX更復雜 |
FONT_HERSHEY_COMPLEX | 正常大小有襯線字體 |
FONT_HERSHEY_TRIPLEX | 正常大小有襯線字體,比FONT_HERSHEY_COMPLEX更復雜 |
FONT_HERSHEY_COMPLEX_SMALL | FONT_HERSHEY_COMPLEX的小譯本 |
FONT_HERSHEY_SCRIPT_SIMPLEX | 手寫風格字體 |
FONT_HERSHEY_SCRIPT_COMPLEX | 手寫風格字體,比FONT_HERSHEY_SCRIPT_SIMPLEX更復雜 |
這些參數和FONT_ITALIC同時使用就會得到相應的斜體字
- fontSacle:字體大小
- color:字體的BGR顏色
- thickness:線的粗細
- lineType:線的類型
- bottomLeftOrigin:爲True時圖像文字翻轉
import cv2
img = cv2.imread("first.jpg",cv2.IMREAD_UNCHANGED)
text = "hello world !"
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,text,(222,333),font,1,(0,0,255),2)
cv2.imshow("line",img)
cv2.waitKey()
cv2.destroyAllWindows()
繪製圓:
cv2.circle(img,center,radius,color,thickness=None,lingType=None,shift=None)
- img : 繪製圓的圖像
- center : 圓心的位置
- radius:圓的半徑
- color:圓的顏色
- thickness:圓輪廓的粗細,如果爲負數則爲實心圓
- lineType:線的類型
- shift:中心座標和半徑值中的小數位數(縮小)。
import cv2
img = cv2.imread("first.jpg",cv2.IMREAD_UNCHANGED)
cv2.circle(img,(345,364),225,(255,0,0),-1,shift=0)
cv2.imshow("line",img)
cv2.waitKey()
cv2.destroyAllWindows()
練習題2:
利用直線、矩形、圓、文字,繪製美觀的logo和自己的名字
評論出你的答案