永興的筆記-OpenCV-2簡單繪圖

在這裏插入圖片描述
繪製直線:
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和自己的名字

評論出你的答案

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章