chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

怎樣在樹莓派上使用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)行代碼將打開此輸出:

代碼細(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è)的黑色圖像上畫一條藍(lán)線。

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

圖像文件

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

結(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í)針方向的旋轉(zhuǎn)角度

開始和結(jié)束角度(起始和結(jié)束角度表示橢圓弧的起點(diǎn)和終點(diǎn)從長(zhǎng)軸順時(shí)針方向,即給出值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è)紅色圓圈。要畫一個(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圈上畫一個(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ù)開始的左下角),字體類型,字體比例(指定字體大小),顏色,粗細(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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • OpenCV
    +關(guān)注

    關(guān)注

    33

    文章

    652

    瀏覽量

    44829
  • 樹莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2080

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    零成本鋼鐵俠手套!樹莓派+OpenCV 秒變手勢(shì)遙控器!

    大家好,這是一個(gè)樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實(shí)現(xiàn)姿態(tài)估計(jì)和面部特征點(diǎn)
    的頭像 發(fā)表于 08-16 16:16 ?1307次閱讀
    零成本鋼鐵俠手套!<b class='flag-5'>樹莓</b>派+<b class='flag-5'>OpenCV</b> 秒變手勢(shì)遙控器!

    如何使用樹莓派與OpenCV實(shí)現(xiàn)面部和運(yùn)動(dòng)追蹤的云臺(tái)系統(tǒng)?

    大家好,這是一個(gè)樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實(shí)現(xiàn)姿態(tài)估計(jì)和面部特征點(diǎn)
    的頭像 發(fā)表于 08-14 17:45 ?1685次閱讀
    如何使用<b class='flag-5'>樹莓</b>派與<b class='flag-5'>OpenCV</b>實(shí)現(xiàn)<b class='flag-5'>面部</b>和運(yùn)動(dòng)追蹤的云臺(tái)系統(tǒng)?

    如何使用樹莓派+OpenCV實(shí)現(xiàn)姿態(tài)估計(jì)和面部特征點(diǎn)追蹤?

    大家好,這是一個(gè)樹莓派和OpenCV的連載專題。使用樹莓派與OpenCV實(shí)現(xiàn)姿態(tài)估計(jì)和面部特征點(diǎn)
    的頭像 發(fā)表于 08-13 17:44 ?1324次閱讀
    如何使用<b class='flag-5'>樹莓</b>派+<b class='flag-5'>OpenCV</b>實(shí)現(xiàn)姿態(tài)估計(jì)和<b class='flag-5'>面部</b><b class='flag-5'>特征</b>點(diǎn)追蹤?

    如何在樹莓派上安裝Ubuntu MATE ?

    ,而非GNOME。本文中,我將介紹如何輕松地樹莓派上安裝它。UbuntuMATE官方支持樹莓派,因此每發(fā)布一個(gè)新版本,都會(huì)為
    的頭像 發(fā)表于 08-12 18:56 ?3291次閱讀
    如何在<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>安裝Ubuntu MATE ?

    這個(gè)套件讓樹莓派5運(yùn)行幾乎所有YOLO模型!Conda 與 Ultralytics!

    如何在樹莓派上設(shè)置YOLO計(jì)算機(jī)視覺?Conda與Ultralytics本指南中,我們將學(xué)習(xí)如何使用Conda樹莓
    的頭像 發(fā)表于 07-31 11:51 ?5326次閱讀
    這個(gè)套件讓<b class='flag-5'>樹莓</b>派5運(yùn)行幾乎所有YOLO模型!Conda 與 Ultralytics!

    樹莓派 + OpenCV 打造人臉識(shí)別技術(shù)!

    本指南中,我們將教您如何使用OpenCV面部識(shí)別庫(kù)(兩個(gè)出色的開源項(xiàng)目)設(shè)置樹莓派來(lái)檢測(cè)和識(shí)別
    的頭像 發(fā)表于 07-29 17:27 ?1388次閱讀
    用<b class='flag-5'>樹莓</b>派 + <b class='flag-5'>OpenCV</b> 打造人臉<b class='flag-5'>識(shí)別</b>技術(shù)!

    初學(xué)者指南:樹莓派上搭建虛擬環(huán)境!

    在這篇簡(jiǎn)明扼要的指南中,我們將探討如何在樹莓派上設(shè)置和使用虛擬環(huán)境(或稱為Venv)——包括終端和Thonny集成開發(fā)環(huán)境中。使用Bookworm操作系統(tǒng)或更高版本時(shí),或在嘗試安裝Python
    的頭像 發(fā)表于 07-27 13:24 ?969次閱讀
    初學(xué)者指南:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>搭建虛擬環(huán)境!

    如何在樹莓派上設(shè)置使用VNC?遠(yuǎn)程訪問完整指南!

    為什么要在樹莓派上使用VNC?使用VNC與樹莓派的主要優(yōu)勢(shì)在于其提供的靈活性。我們可以“無(wú)頭模式”(無(wú)物理顯示器)下運(yùn)行樹莓派,同時(shí)仍能完
    的頭像 發(fā)表于 07-26 20:42 ?5793次閱讀
    如何在<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>設(shè)置<b class='flag-5'>并</b>使用VNC?遠(yuǎn)程訪問完整指南!

    C++ 與 Python:樹莓派上哪種語(yǔ)言更優(yōu)?

    Python是樹莓派上的首選編程語(yǔ)言,我們的大部分教程都使用它。然而,C++物聯(lián)網(wǎng)項(xiàng)目中同樣廣受歡迎且功能強(qiáng)大。那么,樹莓派項(xiàng)目中選擇哪
    的頭像 發(fā)表于 07-24 15:32 ?967次閱讀
    C++ 與 Python:<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>哪種語(yǔ)言更優(yōu)?

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

    為什么要在樹莓派上運(yùn)行安卓系統(tǒng)?安卓系統(tǒng)以其龐大的應(yīng)用生態(tài)系統(tǒng)和用戶友好的界面而聞名,它能夠?qū)?b class='flag-5'>樹莓派轉(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 ?1444次閱讀
    釋放潛力:<b class='flag-5'>在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>運(yùn)行安卓系統(tǒng)實(shí)現(xiàn)多樣化應(yīng)用!

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

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

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

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

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

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

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

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

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

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