Pytohn OpenCV 繪圖函數
阿新 • • 發佈:2018-07-31
open 圖像 angle polyline 數據類型 圖片 右下角 字體大小 添加
繪圖函數都需要設置一些參數
img:想要繪制圖形的那個圖像
color:形狀的顏色。
thickness:線條的粗細(如果給一個閉合圖形設置為-1,那麽這個圖形會被填充)。默認值是1.
linetype:線條的類型,8連接,抗鋸齒等。默認情況是8連接。cv2.LINE_AA為抗鋸齒。
畫線
cv2.line(圖像,起點,終點,顏色,線條類型)
# -*- coding: utf-8 -*- 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.imshow(‘image‘, img) cv2.waitKey(0) cv2.destroyAllWindows()
畫矩形
cv2.rectangle(圖像,左上角頂點,右下角頂點, 顏色,線條類型)
#畫一個矩形 cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)
畫圓
cv2.circle(圖像, 圓心,半徑,顏色,線條類型)
#畫一個園 cv2.circle(img, (447, 63), 63, (0, 0, 255), -1)
畫橢圓
cv2.ellipse(圖像,中心點坐標,長軸短軸,逆時針方向旋轉角度,順時針方向起始角度,順時針方向結束角度,顏色, 線條類型)
#畫一個橢圓 cv2.ellipse(img, (256, 256), (100, 50), 0, 0, 180, (255, 0, 0), -1)
畫多邊形
需要指定每個頂點的坐標。
用坐標構造一個數組,行數就是點的數目。
數組的數據類型必須為int32
#畫一個多邊形 pts = np.array([[10,5], [20,30], [70,20], [50,10]], np.int32) pts = pts.reshape((-1, 1, 2)) cv2.polylines(img, [pts], True, (0,255, 255))
如果第三個參數時False,那麽多邊形是不閉合的(首尾不相接)
在圖片上添加文字
需要的參數:
要繪制的文字
繪制的位置
字體類型
字體大小
字體的屬性(顏色,粗細,線條類型等)
#添加文字 font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img, ‘OpenCV‘, (10, 500), font, 4, (255, 255, 255), 2)
綜合示例
# -*- coding: utf-8 -*- 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, 0, 0), -1) #畫一個多邊形 pts = np.array([[10,5], [20,30], [70,20], [50,10]], np.int32) pts = pts.reshape((-1, 1, 2)) cv2.polylines(img, [pts], True, (0, 255, 255)) #添加文字 font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img, ‘OpenCV‘, (10, 500), font, 4, (255, 255, 255), 2) winname = ‘example‘ cv2.namedWindow(winname) cv2.imshow(winname, img) cv2.waitKey(0) cv2.destroyAllWindows()
Pytohn OpenCV 繪圖函數