1. 程式人生 > >Pytohn OpenCV 繪圖函數

Pytohn OpenCV 繪圖函數

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 繪圖函數