OpenCV 圖像繪制的實現

+直線繪制

參數解析:(圖像矩陣,直線起始坐標, 直線終止坐標、顏色、線條厚度)

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在這裡插入圖片描述

圓形繪制

參數 (圖像,圓心,半徑,顏色,線條厚度)

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在這裡插入圖片描述

矩形繪制

參數(圖像,左上角坐標,右下角坐標,顏色,線條厚度)

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在這裡插入圖片描述

橢圓型繪制

  • image:它是要在其上繪制橢圓的圖像。
  • centerCoordinates:它是橢圓的中心坐標。坐標表示為兩個值的元組,即(X坐標值,Y坐標值)。
  • axesLength:它包含兩個變量的元組,分別包含橢圓的長軸和短軸(長軸長度,短軸長度)。
  • angle:橢圓旋轉角度,以度為單位。
  • startAngle:橢圓弧的起始角度,以度為單位。
  • endAngle:橢圓弧的終止角度,以度為單位。
  • color:它是要繪制的形狀邊界線的顏色。對於BGR,我們通過一個元組。例如:(255,0,0)為藍色。
  • thickness:是形狀邊界線的粗細像素。厚度-1像素將用指定的顏色填充形狀。
  • lineType:這是一個可選參數,它給出瞭橢圓邊界的類型。
  • shift:這是一個可選參數。它表示中心坐標中的小數位數和軸的值。
import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
# cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)
cv2.ellipse(img,center=(100,100),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(255,0,0),thickness=2)
cv2.imshow("pic show",img)
cv2.waitKey(0)

在這裡插入圖片描述

自定義形狀

多邊形,isClosed 代表是否是封閉

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
# cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.ellipse(img,center=(100,100),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(255,0,0),thickness=2)
pts = np.array([[10,5],[50,10],[70,20],[20,30]],dtype=np.int32)
pts = pts.reshape((-1,1,2))
cv2.polylines(img,[pts],isClosed=True,color=(0,0,255),thickness=2)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在這裡插入圖片描述

繪制文本

import cv2
import numpy as np

img  = cv2.imread(r"./images/1.jpg")

# cv2.line(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.circle(img,center=(50,50),radius=30,color=(0,0,255),thickness=2)
# cv2.rectangle(img,(100,30),(210,180),color=(0,0,255),thickness=2)
# cv2.ellipse(img,center=(100,100),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(255,0,0),thickness=2)
# pts = np.array([[10,5],[50,10],[70,20],[20,30]],dtype=np.int32)
# pts = pts.reshape((-1,1,2))
# cv2.polylines(img,[pts],isClosed=True,color=(0,0,255),thickness=2)

cv2.putText(img,"gril",(10,30),cv2.FONT_HERSHEY_SIMPLEX,fontScale=1,color=(0,0,255),thickness=1,lineType=cv2.LINE_AA)

cv2.imshow("pic show",img)
cv2.waitKey(0)

在這裡插入圖片描述

到此這篇關於OpenCV 圖像繪制的實現的文章就介紹到這瞭,更多相關OpenCV 圖像繪制內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: