99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣在樹(shù)莓派上使用OpenCV繪制不同的幾何形狀并識(shí)別面部特征

454398 ? 來(lái)源:工程師吳畏 ? 2019-07-31 10:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python代碼繪制幾何形狀

下面的代碼將在黑色圖像上繪制線條,橢圓,圓形,矩形,折線和文字。復(fù)制此代碼并執(zhí)行它。我們將詳細(xì)介紹代碼如何在下面工作。

import cv2

import numpy as np

# Create a black image

img = np.zeros((512, 512, 3), np.uint8)

# img = cv2.line(image, (starting point), (Ending point), (color), line thickness)

img = cv2.line(img, (0, 256), (512, 256), (255, 0, 0), 10)

# cv2.Ellipse(img, center, axes, angle, start_angle, end_angle, color, thickness=1)

img = cv2.ellipse(img,(256,256),(50,50),180,0,180,(255, 255, 0),-1)

img = cv2.ellipse(img,(256,256),(50,50),0,0,180,(0, 255, 0),-1)

# cv2.Circle(img, center, radius, color, thickness)

img = cv2.circle(img, (256, 256), 56, (0, 0, 255), 10)

# img = cv2.rectangle(image, (Top Left Corner), (Bottom Right Corner), (color), thickness)

img = cv2.rectangle(img, (189, 189), (323, 323), (0, 255, 0), 10)

# cv2.PolyLine(img, polys, is_closed, color, thickness=1)

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)

pts = pts.reshape((-1,1,2))

img = cv2.polylines(img,[pts],True,(0,255,255))

# cv2.PutText(img, text, org, fontFace, fontScale, color, thickness, line type)

font = cv2.FONT_HERSHEY_SIMPLEX

cv2.putText(img,‘OpenCV’,(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)

# Create the resizeable window

cv2.namedWindow(‘image’, cv2.WINDOW_NORMAL)

cv2.imshow(‘image’, img)

cv2.waitKey(0)

cv2.destroyAllWindows()

運(yùn)行代碼將打開(kāi)此輸出:

代碼細(xì)分

首先,我們導(dǎo)入所需的軟件包。 OpenCV包幫助我們繪制不同的幾何形狀,NumPy包允許我們創(chuàng)建一個(gè)空白圖像并進(jìn)行其他數(shù)學(xué)運(yùn)算。

import cv2

import numpy as np

接下來(lái),我們創(chuàng)建一個(gè)黑色圖像,我們可以在其上繪制幾何圖形形狀。

img = np.zeros((512, 512, 3), np.uint8)

然后我們使用 cv2.line() 函數(shù)繪制一條厚度為5像素的藍(lán)色對(duì)角線。我們將在中心左側(cè)到中間右側(cè)的黑色圖像上畫(huà)一條藍(lán)線。

cv2.line() 函數(shù)有五個(gè)參數(shù):

圖像文件

起點(diǎn)(圖像線上將開(kāi)始的位置)

結(jié)束點(diǎn)

顏色的行

行的粗細(xì)

#img = cv2.line(image, (starting point), (Ending point), (color), line thickness)

img = cv2.line(img, (0, 256), (512, 256), (255, 0, 0), 10)

現(xiàn)在,我們將在圖像的中心繪制兩個(gè)橢圓。要繪制橢圓,我們需要傳遞幾個(gè)參數(shù):

圖像文件

中心位置(x,y)

主要和短軸長(zhǎng)度

橢圓沿逆時(shí)針?lè)较虻男D(zhuǎn)角度

開(kāi)始和結(jié)束角度(起始和結(jié)束角度表示橢圓弧的起點(diǎn)和終點(diǎn)從長(zhǎng)軸順時(shí)針?lè)较?,即給出值0和360給出完整的橢圓)

橢圓的顏色

橢圓的厚度(-1表示它將填充形狀)

#cv2.ellipse(img, center, axes, angle, start angle, end angle, color, thickness=1)

img = cv2.ellipse(img,(256,256),(50,50),180,0,180,(255, 255, 0),-1)

img = cv2.ellipse(img,(256,256),(50,50),0,0,180,(0, 255, 0),-1)

接下來(lái),我們將在橢圓上繪制一個(gè)紅色圓圈。要畫(huà)一個(gè)圓,我們需要傳遞圖像文件,中心坐標(biāo),圓的半徑,(B,G,R)格式的顏色和圓的厚度。

#cv2.Circle(img, center, radius, color, thickness)

img = cv2.circle(img, (256, 256), 56, (0, 0, 255), 10)

之后,我們?cè)趫A圈上畫(huà)一個(gè)綠色矩形。要繪制矩形,您需要矩形的左上角和右下角。

#img = cv2.rectangle(image, (Top Left Corner), (Bottom Right Corner), (color), thickness)

img = cv2.rectangle(img, (189, 189), (323, 323), (0, 255, 0), 10)

要繪制多邊形,我們需要頂點(diǎn)的坐標(biāo)。將這些點(diǎn)組成一個(gè)形狀為ROWS x 1 x 2的數(shù)組,其中ROWS是頂點(diǎn)數(shù),它應(yīng)該是int32類型。

這里我們繪制一個(gè)帶有四個(gè)黃色頂點(diǎn)的小多邊形。

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)

pts = pts.reshape((-1,1,2))

# cv2.PolyLine(img, polys, is_closed, color, thickness=1)

img = cv2.polylines(img,[pts],True,(0,255,255))

要將文本放入圖像中,我們需要提供想要寫入的文本數(shù)據(jù),我們想要放置它的位置坐標(biāo)(即數(shù)據(jù)開(kāi)始的左下角),字體類型,字體比例(指定字體大?。伾?,粗細(xì)和線型。

#cv2.PutText(img, text, org, fontFace, fontScale, color, thickness, line type)

font = cv2.FONT_HERSHEY_SIMPLEX

cv2.putText(img,‘OpenCV’,(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)

用于檢測(cè)面部和在面上繪制圓形的Python代碼

現(xiàn)在我們將編寫將檢測(cè)面部中的面部的代碼圖像并在臉部周圍繪制圓圈。為了檢測(cè)面部,我們將使用Haar級(jí)聯(lián)分類器。 OpenCV已經(jīng)包含許多面部,眼睛,微笑等預(yù)先訓(xùn)練的分類器。我們將要使用的分類器將檢測(cè)面部。您可以獲得級(jí)聯(lián)文件。

將此文件保存在工作目錄中作為“ haarcascade_frontalface_default.xml ”。

Python代碼如下:

# Import OpenCV library

import cv2

# Load a cascade file for detecting faces

faceCascade = cv2.CascadeClassifier(“haarcascade_frontalface_default.xml”);

# Load image

image = cv2.imread(‘obamafamily.jpg’)

# Convert into grayscale

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# Look for faces in the image using the loaded cascade file

faces = faceCascade.detectMultiScale(gray, 1.2, 5)

for (x,y,w,h) in faces:

# Create circle around faces

cv2.circle(image, (int((x + x + w)/2), int((y + y + h)/2)), int(h/2), (0, 255, 0), 5)

# Create the resizeable window

cv2.namedWindow(‘Obama’, cv2.WINDOW_NORMAL)

# Display the image

cv2.imshow(‘Obama’, image)

# Wait until we get a key

k=cv2.waitKey(0)

# If pressed key is ‘s’

if k == ord(‘s’):

# Save the image

cv2.imwrite(‘convertedimage.jpg’, image)

# Destroy all windows

cv2.destroyAllWindows()

# If pressed key is ESC

elif k == 27:

# Destroy all windows

cv2.destroyAllWindows(

運(yùn)行代碼后,程序會(huì)在圖像中檢測(cè)到的區(qū)域創(chuàng)建圓圈。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42914
  • 樹(shù)莓派
    +關(guān)注

    關(guān)注

    121

    文章

    2009

    瀏覽量

    107482
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    樹(shù)莓派5上開(kāi)啟YOLO姿態(tài)估計(jì)識(shí)別之旅!

    大家好,接下來(lái)會(huì)為大家開(kāi)一個(gè)樹(shù)莓派5和YOLO的連載文章。內(nèi)容包括四個(gè)部分:樹(shù)莓派5上使用YOLO進(jìn)行物體和動(dòng)物識(shí)別-入門指南
    的頭像 發(fā)表于 07-18 15:31 ?79次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>樹(shù)莓</b>派5上開(kāi)啟YOLO姿態(tài)估計(jì)<b class='flag-5'>識(shí)別</b>之旅!

    樹(shù)莓派5上使用YOLO進(jìn)行物體和動(dòng)物識(shí)別-入門指南

    大家好,接下來(lái)會(huì)為大家開(kāi)一個(gè)樹(shù)莓派5和YOLO的專題。內(nèi)容包括四個(gè)部分:樹(shù)莓派5上使用YOLO進(jìn)行物體和動(dòng)物識(shí)別-入門指南
    的頭像 發(fā)表于 07-17 17:16 ?150次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>樹(shù)莓</b>派5上使用YOLO進(jìn)行物體和動(dòng)物<b class='flag-5'>識(shí)別</b>-入門指南

    精通樹(shù)莓派桌面:遠(yuǎn)程桌面解決方案全指南!

    遠(yuǎn)程桌面技術(shù)允許通過(guò)網(wǎng)絡(luò)從一臺(tái)計(jì)算機(jī)或設(shè)備連接到另一臺(tái)計(jì)算機(jī)或設(shè)備并進(jìn)行控制。這意味著你可以訪問(wèn)遠(yuǎn)程計(jì)算機(jī)的圖形用戶界面(GUI),像坐在其前面一樣使用它。為何要在樹(shù)莓派上使用遠(yuǎn)程桌面?
    的頭像 發(fā)表于 07-15 18:34 ?97次閱讀
    精通<b class='flag-5'>樹(shù)莓</b>派桌面:遠(yuǎn)程桌面解決方案全指南!

    釋放潛力:樹(shù)莓派上運(yùn)行安卓系統(tǒng)實(shí)現(xiàn)多樣化應(yīng)用!

    為什么要在樹(shù)莓派上運(yùn)行安卓系統(tǒng)?安卓系統(tǒng)以其龐大的應(yīng)用生態(tài)系統(tǒng)和用戶友好的界面而聞名,它能夠?qū)?b class='flag-5'>樹(shù)莓派轉(zhuǎn)變?yōu)楣δ軓?qiáng)大的設(shè)備,能夠處理從媒體消費(fèi)到輕量級(jí)計(jì)算和物聯(lián)網(wǎng)應(yīng)用等各種任務(wù)。優(yōu)勢(shì)高度定制化:
    的頭像 發(fā)表于 07-05 08:33 ?209次閱讀
    釋放潛力:<b class='flag-5'>在</b><b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>運(yùn)行安卓系統(tǒng)實(shí)現(xiàn)多樣化應(yīng)用!

    如何在樹(shù)莓派上安裝運(yùn)行 Arduino 集成開(kāi)發(fā)環(huán)境!

    ,我們將介紹如何在樹(shù)莓派上安裝運(yùn)行ArduinoIDE。所需物品要在樹(shù)莓派上運(yùn)行ArduinoIDE,你需要以下組件:配備適當(dāng)電源的
    的頭像 發(fā)表于 07-01 17:41 ?1178次閱讀
    如何在<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>安裝<b class='flag-5'>并</b>運(yùn)行 Arduino 集成開(kāi)發(fā)環(huán)境!

    基于LockAI視覺(jué)識(shí)別模塊:C++人臉識(shí)別

    基本知識(shí)講解 1.1 人臉識(shí)別簡(jiǎn)介 人臉識(shí)別是一種利用人的臉部特征進(jìn)行身份識(shí)別的生物識(shí)別技術(shù)。它通過(guò)檢測(cè)圖像或視頻中的人臉,提取如眼睛、鼻
    發(fā)表于 07-01 12:01

    基于LockAI視覺(jué)識(shí)別模塊:手寫數(shù)字識(shí)別

    1.1 手寫數(shù)字識(shí)別簡(jiǎn)介 手寫數(shù)字識(shí)別是一種利用計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)技術(shù)自動(dòng)識(shí)別手寫數(shù)字的過(guò)程。它通過(guò)圖像預(yù)處理、特征提取和模型訓(xùn)練來(lái)實(shí)現(xiàn)高效準(zhǔn)確的數(shù)字
    發(fā)表于 06-30 16:45

    低功耗+AI識(shí)別:基于樹(shù)莓派的 LoRa 神經(jīng)網(wǎng)絡(luò)安防系統(tǒng)!

    這篇博客展示了如何使用樹(shù)莓派上的神經(jīng)網(wǎng)絡(luò)USB插件來(lái)檢測(cè)或“推斷”一個(gè)人的位置,從而構(gòu)建一個(gè)安全系統(tǒng)。Arduino型接收器從零開(kāi)始構(gòu)建,通過(guò)遠(yuǎn)程LoRa射頻協(xié)議從樹(shù)莓派發(fā)射器獲取數(shù)據(jù),
    的頭像 發(fā)表于 06-24 16:24 ?1049次閱讀
    低功耗+AI<b class='flag-5'>識(shí)別</b>:基于<b class='flag-5'>樹(shù)莓</b>派的 LoRa 神經(jīng)網(wǎng)絡(luò)安防系統(tǒng)!

    itop-3568開(kāi)發(fā)板機(jī)器視覺(jué)opencv開(kāi)發(fā)手冊(cè)-圖像繪制-畫(huà)線

    本小節(jié)代碼配套資料“iTOP-3568 開(kāi)發(fā)板\\\\03_【iTOP-RK3568 開(kāi)發(fā)板】指南教程 \\\\04_OpenCV 開(kāi)發(fā)配套資料\\\\11”目錄下,如下圖所示: cv2.line
    發(fā)表于 06-04 10:38

    基于LockAI視覺(jué)識(shí)別模塊:C++輪廓檢測(cè)

    本文檔展示了如何使用 OpenCV 進(jìn)行圖像處理和特征檢測(cè),包括邊緣檢測(cè)、直線檢測(cè)、圓檢測(cè)以及多邊形擬合。通過(guò)這些技術(shù),可以實(shí)現(xiàn)對(duì)攝像頭捕獲的實(shí)時(shí)視頻流進(jìn)行分析,標(biāo)記出檢測(cè)到的特征
    發(fā)表于 05-22 10:05

    從初學(xué)到進(jìn)階:樹(shù)莓派上最適合你的代碼編輯器推薦!

    安裝樹(shù)莓派操作系統(tǒng)后,你就可以使用Python、Scratch、Java、C/C++等受Linux支持的多種編程語(yǔ)言進(jìn)行編程了。其中,Python是樹(shù)莓派上最受歡迎的編程語(yǔ)言。
    的頭像 發(fā)表于 05-15 16:20 ?221次閱讀
    從初學(xué)到進(jìn)階:<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>最適合你的代碼編輯器推薦!

    樹(shù)莓派上設(shè)置 DeepSeek R1:2025 年離線人工智能的未來(lái)

    概述《樹(shù)莓派上設(shè)置DeepSeekR1:2025年離線人工智能的未來(lái)》是一份前瞻性技術(shù)指南,聚焦中國(guó)AI初創(chuàng)公司DeepSeek于2023年底推出的開(kāi)源模型DeepSeekR1。該模型旨在通過(guò)提供
    的頭像 發(fā)表于 03-25 09:20 ?685次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>設(shè)置 DeepSeek R1:2025 年離線人工智能的未來(lái)

    人臉識(shí)別指南:如何在樹(shù)莓派上安裝和設(shè)置 Dlib

    學(xué)習(xí)如何在樹(shù)莓派上安裝Dlib配置人臉識(shí)別功能,為您的AI項(xiàng)目奠定基礎(chǔ)。樹(shù)莓
    的頭像 發(fā)表于 03-24 17:31 ?776次閱讀
    人臉<b class='flag-5'>識(shí)別</b>指南:如何在<b class='flag-5'>樹(shù)莓</b><b class='flag-5'>派上</b>安裝和設(shè)置 Dlib

    如何用OpenCV的相機(jī)捕捉視頻進(jìn)行人臉檢測(cè)--基于米爾NXP i.MX93開(kāi)發(fā)板

    功能,首先要進(jìn)行人臉檢測(cè),判斷出圖片中人臉的位置,才能進(jìn)行下一步的操作。 OpenCV人臉檢測(cè)方法 OpenCV中主要使用了兩種特征(即兩種方法)進(jìn)行人臉檢測(cè),Haar
    發(fā)表于 11-15 17:58

    如何在樹(shù)莓派上安裝Docker容器

    Pi官網(wǎng) 下載最新版本的Raspberry Pi OS。 使用SD卡寫入工具將鏡像寫入SD卡:可以使用 Etcher 等工具。 將SD卡插入樹(shù)莓啟動(dòng)。 2. 更新系統(tǒng) 安裝Docker之前
    的頭像 發(fā)表于 11-11 11:38 ?1942次閱讀