女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

接下來,我們創(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)

接下來,我們將在橢圓上繪制一個(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)注

    32

    文章

    642

    瀏覽量

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

    關(guān)注

    121

    文章

    1940

    瀏覽量

    106978
收藏 人收藏

    評(píng)論

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

    樹莓派“定居”完全指南:一鍵設(shè)置靜態(tài)IP,穩(wěn)定又高效!

    當(dāng)你為樹莓派設(shè)置靜態(tài)IP地址時(shí),實(shí)際上是為它分配了一個(gè)固定地址,該地址不會(huì)改變,而動(dòng)態(tài)IP地址則會(huì)在設(shè)備每次連接到網(wǎng)絡(luò)時(shí)發(fā)生變化。樹莓派上設(shè)置靜態(tài)IP地址有諸多好處:穩(wěn)定訪問使用靜態(tài)
    的頭像 發(fā)表于 05-25 08:32 ?497次閱讀
    <b class='flag-5'>樹莓</b>派“定居”完全指南:一鍵設(shè)置靜態(tài)IP,穩(wěn)定又高效!

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

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

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

    安裝樹莓派操作系統(tǒng)后,你就可以使用Python、Scratch、Java、C/C++等受Linux支持的多種編程語言進(jìn)行編程了。其中,Python是樹莓派上最受歡迎的編程語言。
    的頭像 發(fā)表于 05-15 16:20 ?128次閱讀
    從初學(xué)到進(jìn)階:<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 ?521次閱讀
    <b class='flag-5'>在</b><b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>設(shè)置 DeepSeek R1:2025 年離線人工智能的未來

    不要等Manus的邀請(qǐng)碼了,樹莓派上也能實(shí)現(xiàn) AI Agent !

    本文討論了Manus、OpenManus、CrewAI這三款A(yù)IAgent產(chǎn)品的特點(diǎn)、適用場(chǎng)景,并重點(diǎn)介紹了如何用CrewAI樹莓派上運(yùn)行多LLM代理,還探討了AIAgent發(fā)展帶來的思考。關(guān)鍵
    的頭像 發(fā)表于 03-25 09:19 ?571次閱讀
    不要等Manus的邀請(qǐng)碼了,<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>也能實(shí)現(xiàn) AI Agent !

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

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

    GPIO樹莓派中的應(yīng)用

    直接控制和讀取外部硬件設(shè)備的狀態(tài)。 1. GPIO簡(jiǎn)介 GPIO是樹莓派上用于與外部世界交互的一組引腳。這些引腳可以被配置為輸入或輸出模式,從而實(shí)現(xiàn)對(duì)外部設(shè)備的控制和數(shù)據(jù)讀取。樹莓派的GPIO引腳包括數(shù)字和模擬兩種類型,其中數(shù)字
    的頭像 發(fā)表于 01-09 09:41 ?709次閱讀

    AI模型部署邊緣設(shè)備的奇妙之旅:如何在邊緣端部署OpenCV

    使用,也可以組合起來解決更復(fù)雜的視覺問題。例如,預(yù)處理階段可能會(huì)包括去噪、邊緣檢測(cè)和形態(tài)學(xué)操作;而在后處理階段,則可能會(huì)涉及閾值操作和繪制幾何圖形來標(biāo)注或解釋結(jié)果。以上這些算子僅僅是OpenCV
    發(fā)表于 12-14 09:31

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

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

    如何在樹莓派上安裝Docker容器

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

    OpenCV圖像識(shí)別C++代碼

    安裝OpenCV庫 首先,您需要在您的計(jì)算機(jī)上安裝OpenCV庫。您可以從OpenCV官網(wǎng)下載預(yù)編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項(xiàng)目中。
    的頭像 發(fā)表于 07-16 10:42 ?3811次閱讀

    opencv圖像識(shí)別有什么算法

    圖像識(shí)別算法: 邊緣檢測(cè) :邊緣檢測(cè)是圖像識(shí)別中的基本步驟之一,用于識(shí)別圖像中的邊緣。常見的邊緣檢測(cè)算法有Canny邊緣檢測(cè)器、Sobel邊緣檢測(cè)器和Laplacian邊緣檢測(cè)器。 特征
    的頭像 發(fā)表于 07-16 10:40 ?1740次閱讀

    opencv-python和opencv一樣嗎

    -Python是OpenCV的一個(gè)Python語言接口,它允許開發(fā)者使用Python語言來調(diào)用OpenCV庫的功能。 雖然OpenCVOpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1923次閱讀

    基于OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì)

    基于OpenCV的人臉識(shí)別系統(tǒng)是一個(gè)復(fù)雜但功能強(qiáng)大的系統(tǒng),廣泛應(yīng)用于安全監(jiān)控、人機(jī)交互、智能家居等多個(gè)領(lǐng)域。下面將詳細(xì)介紹基于OpenCV的人臉識(shí)別系統(tǒng)的基本原理、實(shí)現(xiàn)步驟,
    的頭像 發(fā)表于 07-11 15:37 ?2.4w次閱讀

    神經(jīng)網(wǎng)絡(luò)圖像識(shí)別中的應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)圖像識(shí)別領(lǐng)域的應(yīng)用日益廣泛。神經(jīng)網(wǎng)絡(luò)以其強(qiáng)大的特征提取和分類能力,為圖像識(shí)別帶來了革命性的進(jìn)步。本文將詳細(xì)介紹神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-01 14:19 ?1093次閱讀