日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【opencv系列04】OpenCV4.X图形绘制

發(fā)布時間:2025/1/21 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【opencv系列04】OpenCV4.X图形绘制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“AI搞事情”關注我們


一、 基本圖形繪制

1. 基本函數與參數

cv2.line(): 線
cv2.circle(): 圓
cv2.rectangle(): 矩形
cv2.ellipse(): 橢圓
cv2.putText(): 文字

  • img:需要繪制形狀的圖像。

  • color:顏色的形式,對于BGR,將作為元組傳遞比如(255,0,0)表示藍色;對于灰度圖,只需要傳遞標量值。

  • thickness: 線或圓形等圖像的厚度,如果對閉合圖像像圓形傳遞“-1”,它將填充形狀, 默認厚度 = 1。

  • lineType:線的類型,默認情況下為8連接,cv2.LINE_AA 是適合曲線的抗鋸齒線。


?

2. 畫線

line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)

  • pt1:直線起點

  • pt2:直線終點

創(chuàng)建一個白色圖像,并在其上從左上角到右下角繪制一條藍線。

代碼

import numpy as np import cv2# 創(chuàng)建黑底圖像(像素值【0,255】,白色為255) img = np.ones((512, 512, 3), np.uint8) * 255# 繪制寬度為 5 px 的藍線(B,G,R) cv2.line(img, (0, 0), (511, 511), (255, 0, 0), 5) cv2.imshow('line', img) cv2.waitKey()
?

3. 矩形

rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)

  • pt1:矩形左上角坐標

  • pt2:矩形右下角坐標

在圖像的右上角繪制一個綠色矩形。

代碼

import numpy as np import cv2# Create a black image img = np.zeros((512, 512, 3), np.uint8)cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)cv2.imshow('rectangle', img) cv2.waitKey()
?

4. 畫圓

circle(img, center, radius, color, thickness=None, lineType=None, shift=None)

  • center:圓心位置

  • radius:半徑

在圖像的右上角繪制一個綠色矩形。

代碼

import numpy as np import cv2# Create a black image img = np.zeros((512, 512, 3), np.uint8)cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3) cv2.circle(img, (447, 63), 63, (0, 0, 255), -1)cv2.imshow('circle',img) cv2.waitKey()
?

5. 橢圓

ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness=None, lineType=None, shift=None)

  • center:中心位置

  • axes:軸長度(長軸長度,短軸長度)

  • angle:橢圓在逆時針方向上的旋轉角度

  • startAngle:主軸順時針方向測量的橢圓弧的起點

  • endAngle:主軸順時針方向測量的橢圓弧的終點

在圖像的右上角繪制一個綠色矩形。

代碼

import numpy as np import cv2# Create a black image img = np.zeros((512, 512, 3), np.uint8)cv2.ellipse(img, (256, 256), (100, 50), 0, 0, 180, 255, -1)cv2.imshow('ellipse', img) cv2.waitKey()
?

6. 多邊形

polylines(img, pts, isClosed, color, thickness=None, lineType=None, shift=None)

要繪制多邊形,首先需要頂點坐標.將這些點轉換為ROWSx1x2形狀的數組,其中ROWS是頂點數,它應該是int32類型.

繪制一個帶有四個黃色頂點的小多邊形。

代碼

import numpy as np import cv2# Create a black image img = np.zeros((512, 512, 3), np.uint8)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))cv2.imshow('polylines',img) cv2.waitKey()

Note:
如果第三個參數為False,您將獲得連接所有點的折線,而不是閉合形狀。
cv2.polylines() 可用于繪制多條線,只需創(chuàng)建要繪制的所有行的列表并將其傳遞給函數, 所有線條都將單獨繪制,繪制一組行比為每行調用cv2.line() 要好得多,速度更快。


?

7. 添加文字

putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)
要將文本放入圖像中,您需要指定以下內容。

  • text:要寫入的文本數據

  • org:您想要放置它的位置坐標(即數據開始的左下角)。

  • fontFace:字體類型(檢查cv2.putText() 文檔以獲取支持的字體)

  • fontScale:字體比例(指定字體大小)

常規(guī)的東西,如顏色,粗細,線型等。為了更好看,建議使用lineType = cv.LINE_AA。

圖像上寫白色的opencv幾個字母

代碼

import numpy as np import cv2# Create a black image img = np.zeros((512, 512, 3), np.uint8)font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img, 'OpenCV', (10, 500), font, 4, (255, 255, 255), 2 , cv2.LINE_AA)cv2.imshow('text', img) cv2.waitKey()

長按二維碼關注我們

有趣的靈魂在等你

總結

以上是生活随笔為你收集整理的【opencv系列04】OpenCV4.X图形绘制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。