国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【CV 向】OpenCV 圖形繪制指南

這篇具有很好參考價(jià)值的文章主要介紹了【CV 向】OpenCV 圖形繪制指南。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

引言

Python OpenCV 是一個(gè)功能強(qiáng)大的計(jì)算機(jī)視覺庫,除了圖像處理和計(jì)算機(jī)視覺任務(wù)外,它還提供了豐富的功能來繪制各種圖形。無論是在計(jì)算機(jī)視覺應(yīng)用中標(biāo)記感興趣區(qū)域,還是在圖像上繪制幾何形狀或文本,OpenCV 都為我們提供了簡(jiǎn)單易用的方法。本文將介紹如何利用 Python OpenCV 進(jìn)行圖形繪制。

1. 創(chuàng)建畫布

在開始圖形繪制之前,我們首先需要?jiǎng)?chuàng)建一個(gè)空白的畫布。在 OpenCV 中,我們可以使用 cv2.imread() 函數(shù)加載圖像,或使用 np.zeros() 創(chuàng)建一個(gè)空白的圖像作為畫布。

示例代碼:

import cv2
import numpy as np

# 創(chuàng)建一張空白的畫布
canvas = np.zeros((500, 500, 3), dtype=np.uint8)

cv2.imshow('Canvas', canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代碼中,我們使用 np.zeros() 函數(shù)創(chuàng)建了一個(gè)形狀為 (500, 500, 3) 的零數(shù)組,表示畫布的寬度、高度和通道數(shù)。然后,我們使用 cv2.imshow() 函數(shù)顯示畫布。

【CV 向】OpenCV 圖形繪制指南

2. 繪制線段

繪制線段是圖形繪制中的基本操作之一。在 OpenCV 中,我們可以使用 cv2.line() 函數(shù)繪制線段。

示例代碼:

import cv2

# 在畫布上繪制一條線段
start_point = (100, 100)
end_point = (400, 400)
color = (0, 0, 255)  # 紅色線段
thickness = 3

cv2.line(canvas, start_point, end_point, color, thickness)

cv2.imshow('Canvas', canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代碼中,我們使用 cv2.line() 函數(shù)在畫布上繪制了一條從 (100, 100) 到 (400, 400) 的紅色線段。我們還可以通過調(diào)整 thickness 參數(shù)來設(shè)置線段的粗細(xì)。

【CV 向】OpenCV 圖形繪制指南

3. 繪制矩形

繪制矩形是常見的圖形繪制操作之一。在 OpenCV 中,我們可以使用 cv2.rectangle() 函數(shù)繪制矩形。

示例代碼:

import cv2

# 在畫布上繪制一個(gè)矩形
top_left = (200, 200)
bottom_right = (400, 400)
color = (0, 255, 0)  # 綠色矩形
thickness = 2

cv2.rectangle(canvas, top_left, bottom_right, color, thickness)

cv2.imshow('Canvas', canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代碼中,我們使用 cv2.rectangle() 函數(shù)在畫布上繪制了一個(gè)從 (200, 200) 到 (400, 400) 的綠色矩形。我們可以通過調(diào)整 thickness 參數(shù)來設(shè)置矩形的邊框粗細(xì)。

【CV 向】OpenCV 圖形繪制指南

4. 繪制圓

繪制圓形也是常見的圖形繪制操作之一。在 OpenCV 中,我們可以使用 cv2.circle() 函數(shù)繪制圓形。

示例代碼:

import cv2

# 在畫布上繪制一個(gè)圓形
center = (300, 300)
radius = 100
color = (255, 0, 0)  # 藍(lán)色圓形
thickness = -1  # 填充圓形

cv2.circle(canvas, center, radius, color, thickness)

cv2.imshow('Canvas', canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代碼中,我們使用 cv2.circle() 函數(shù)在畫布上繪制了一個(gè)以 (300, 300) 為圓心、半徑為 100 的藍(lán)色填充圓形。我們可以通過調(diào)整 thickness 參數(shù)來設(shè)置圓形的邊框粗細(xì),負(fù)值表示填充圓形。

【CV 向】OpenCV 圖形繪制指南

5. 繪制橢圓

繪制橢圓也是常見的圖形繪制操作之一。在 OpenCV 中,我們可以使用 cv2.ellipse() 函數(shù)繪制橢圓。

示例代碼:

import cv2

# 在畫布上繪制一個(gè)橢圓
center = (250, 250)
axes = (150, 100)
angle = 0
start_angle = 0
end_angle = 360
color = (0, 255, 255)  # 黃色橢圓
thickness = 2

cv2.ellipse(canvas, center, axes, angle, start_angle, end_angle, color, thickness)

cv2.imshow('Canvas', canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代碼中,我們使用 cv2.ellipse() 函數(shù)在畫布上繪制了一個(gè)以 (250, 250) 為中心、長(zhǎng)軸為 150、短軸為 100 的黃色橢圓。我們可以通過調(diào)整 thickness 參數(shù)來設(shè)置橢圓的邊框粗細(xì)。

【CV 向】OpenCV 圖形繪制指南

6. 繪制多邊形

繪制多邊形是繪制復(fù)雜形狀的常見操作。在 OpenCV 中,我們可以使用 cv2.polylines() 函數(shù)繪制多邊形。

示例代碼:

import cv2

# 在畫布上繪制一個(gè)多邊形
points = np.array([[100, 100], [200, 50], [300, 150], [250, 200]], np.int32)
points = points.reshape((-1, 1, 2))
color = (255, 255, 0)  # 青色多邊形
thickness = 2

cv2.polylines(canvas, [points], True, color, thickness)

cv2.imshow('Canvas', canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代碼中,我們使用 cv2.polylines() 函數(shù)在畫布上

繪制了一個(gè)由多個(gè)頂點(diǎn)構(gòu)成的青色多邊形。points 是一個(gè)包含多個(gè)頂點(diǎn)坐標(biāo)的數(shù)組,我們可以根據(jù)需要添加更多的頂點(diǎn)。我們可以通過調(diào)整 thickness 參數(shù)來設(shè)置多邊形的邊框粗細(xì)。

【CV 向】OpenCV 圖形繪制指南

7. 繪制字體

在圖形繪制中,有時(shí)需要在圖像上添加文本標(biāo)簽。在 OpenCV 中,我們可以使用 cv2.putText() 函數(shù)在圖像上繪制文本。

示例代碼:

import cv2

# 在畫布上繪制文本
text = 'OpenCV'
position = (200, 250)
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 1.5
color = (255, 255, 255)  # 白色文本
thickness = 2

cv2.putText(canvas, text, position, font, font_scale, color, thickness)

cv2.imshow('Canvas', canvas)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上述代碼中,我們使用 cv2.putText() 函數(shù)在畫布上繪制了一個(gè)白色文本 “OpenCV”,位于 (200, 250) 的位置。我們可以通過調(diào)整 font_scale 參數(shù)來設(shè)置文本的大小,通過調(diào)整 thickness 參數(shù)來設(shè)置文本的粗細(xì)。

【CV 向】OpenCV 圖形繪制指南

結(jié)論

通過本文的介紹,我們了解了如何使用 Python OpenCV 進(jìn)行圖形繪制。我們可以創(chuàng)建一個(gè)畫布,并利用 cv2.line()、cv2.rectangle()、cv2.circle()cv2.ellipse()、cv2.polylines()cv2.putText() 函數(shù)繪制線段、矩形、圓形、橢圓、多邊形和文本。這些圖形繪制操作在計(jì)算機(jī)視覺任務(wù)和圖像處理中非常有用。希望本文能夠幫助您掌握 Python OpenCV 的圖形繪制功能,并在實(shí)際項(xiàng)目中應(yīng)用它們。文章來源地址http://www.zghlxwxcb.cn/news/detail-500389.html

到了這里,關(guān)于【CV 向】OpenCV 圖形繪制指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python-OpenCV按住鼠標(biāo)左鍵繪制圖形

    ? event判斷鼠標(biāo)是否是移動(dòng)狀態(tài)(event == cv.EVENT_MOUSEMOVE),flags判斷鼠標(biāo)是否處于左鍵按下并拖動(dòng)的狀態(tài)(flags == cv.EVENT_FLAG_LBUTTON),當(dāng)滿足這兩個(gè)條件之后,按住左鍵并移動(dòng)鼠標(biāo)可以實(shí)現(xiàn)繪制功能 雙擊鼠標(biāo)左鍵可以清除畫板上的所有圖形(event == cv.EVENT_LBUTTONDBLCLK) ? 完整代

    2024年02月15日
    瀏覽(19)
  • opencv圖形繪制2

    opencv圖形繪制2

    目錄 制作宣傳語(中文) 制作宣傳語(英文) 繪制標(biāo)記 鼠標(biāo)交互繪制十字線 鼠標(biāo)交互繪制圖形 鼠標(biāo)交互制作幾何畫板 滾動(dòng)條控制 鼠標(biāo)事件練習(xí) # cv2.putText函數(shù)在圖像上添加文本 # cv2.putText(img, text, org, font, fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]]) \\\'\\\'\\\' ??? img:圖像

    2024年02月20日
    瀏覽(18)
  • 使用OpenCV繪制圖形

    使用OpenCV繪制圖形

    繪制黃色的線: 繪制矩形: 繪制圓形: 繪制多邊形: 繪制文字:

    2024年01月22日
    瀏覽(19)
  • OpenCV基礎(chǔ)知識(shí)4 — 繪制圖形

    OpenCV基礎(chǔ)知識(shí)4 — 繪制圖形

    前言: Hello大家好,我是小哥談。 OpenCV提供了許多用于繪制圖形的方法,包括繪制線段的line()方法、繪制矩形的retangle()方法、繪制圓形的circle()方法、繪制多邊形的polylines()方法和繪制文字的putText()方法。本節(jié)課將依次對(duì)上述各個(gè)方法進(jìn)行講解,并使用上述方法繪制相應(yīng)的圖

    2024年02月13日
    瀏覽(63)
  • OpenCV 04(通道分離與合并 | 繪制圖形)

    OpenCV 04(通道分離與合并 | 繪制圖形)

    - split(mat)分割圖像的通道 - merge((ch1,ch2, ch3)) 融合多個(gè)通道 利用OpenCV提供的繪制圖形API可以輕松在圖像上繪制各種圖形, 比如直線, 矩形, 圓, 橢圓等圖形. - line(img, pt1, pt2, color, thickness, lineType, shift) 畫直線 ? - img: 在哪個(gè)圖像上畫線 ? - pt1, pt2: 開始點(diǎn), 結(jié)束點(diǎn). 指定線的開始與結(jié)

    2024年02月09日
    瀏覽(22)
  • c++ 使用opencv來繪制各種圖形(持續(xù)更新)

    ?OpenCV中并沒有現(xiàn)成的函數(shù),因此可以通過繪制兩條相互垂直的直線來實(shí)現(xiàn)十字絲的繪制。

    2024年02月13日
    瀏覽(29)
  • opencv進(jìn)階02-在圖像上繪制多種幾何圖形

    opencv進(jìn)階02-在圖像上繪制多種幾何圖形

    OpenCV 提供了方便的繪圖功能,使用其中的繪圖函數(shù)可以繪制直線、矩形、圓、橢圓等多種幾何圖形,還能在圖像中的指定位置添加文字說明。 OpenCV 提供了繪制直線的函數(shù) cv2.line()、繪制矩形的函數(shù) cv2.rectangle()、繪制圓的函數(shù)cv2.circle()、繪制橢圓的函數(shù)cv2.ellipse()、繪制多邊形

    2024年02月12日
    瀏覽(17)
  • opencv基礎(chǔ)48-繪制圖像輪廓并切割示例-cv2.drawContours()

    opencv基礎(chǔ)48-繪制圖像輪廓并切割示例-cv2.drawContours()

    在 OpenCV 中,可以使用函數(shù) cv2.drawContours()繪制圖像輪廓。該函數(shù)的語法格式是: image=cv2.drawContours( image, contours, contourIdx, color[, thickness[, lineType[, hierarchy[, maxLevel[, offset]]]]] ) 其中,函數(shù)的返回值為 image,表示目標(biāo)圖像,即繪制了邊緣的原始圖像。 該函數(shù)有如下參數(shù): image:待

    2024年02月13日
    瀏覽(33)
  • OpenCV筆記:模板匹配 cv2.matchTemplate()、cv2.minMaxLoc() 與 繪制矩形 cv2.rectangle() 方法介紹

    OpenCV筆記:模板匹配 cv2.matchTemplate()、cv2.minMaxLoc() 與 繪制矩形 cv2.rectangle() 方法介紹

    ????????模板匹配是用來在一副大圖中搜尋查找模版圖像位置的方法。繪制矩形是用來將模版圖像的匹配結(jié)果展示出來的方法。 ????????模板匹配實(shí)現(xiàn)簡(jiǎn)單(2~3行代碼),計(jì)算效率高,不需要執(zhí)行閾值化、邊緣檢測(cè)等操作來生成二值化圖像。 但是: 如果輸入圖像中存

    2024年02月04日
    瀏覽(94)
  • 【opencv+圖像處理】Image Processing in OpenCV 1-2基本圖形繪制

    【opencv+圖像處理】Image Processing in OpenCV 1-2基本圖形繪制

    ?? 博主微信 cvxiayixiao ?? 【Segment Anything Model】計(jì)算機(jī)視覺檢測(cè)分割任務(wù)專欄。 鏈接 ?? 【公開數(shù)據(jù)集預(yù)處理】特別是醫(yī)療公開數(shù)據(jù)集的接受和預(yù)處理,提供代碼講解。鏈接 ?? 【opencv+圖像處理】opencv代碼庫講解,結(jié)合圖像處理知識(shí),不僅僅是調(diào)庫。鏈接 本專欄代碼地址

    2024年02月08日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包