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

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

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

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

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

454398 ? 來源:工程師吳畏 ? 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()

運行代碼將打開此輸出:

代碼細(xì)分

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

import cv2

import numpy as np

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

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

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

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

圖像文件

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

結(jié)束點

顏色的行

行的粗細(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)在,我們將在圖像的中心繪制兩個橢圓。要繪制橢圓,我們需要傳遞幾個參數(shù):

圖像文件

中心位置(x,y)

主要和短軸長度

橢圓沿逆時針方向的旋轉(zhuǎn)角度

開始和結(jié)束角度(起始和結(jié)束角度表示橢圓弧的起點和終點從長軸順時針方向,即給出值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)

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

#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)

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

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

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)

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

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

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

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

    關(guān)注

    33

    文章

    651

    瀏覽量

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

    關(guān)注

    122

    文章

    2070

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

    這個套件讓樹莓派5運行幾乎所有YOLO模型!Conda 與 Ultralytics!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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