在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

454398 ? 來源:工程師吳畏 ? 2019-07-31 10:30 ? 次閱讀

Python代碼繪制幾何形狀

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

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

運行代碼將打開此輸出:

代碼細分

首先,我們導入所需的軟件包。 OpenCV包幫助我們繪制不同的幾何形狀,NumPy包允許我們創建一個空白圖像并進行其他數學運算。

import cv2

import numpy as np

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

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

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

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

圖像文件

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

結束點

顏色的行

行的粗細

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

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

現在,我們將在圖像的中心繪制兩個橢圓。要繪制橢圓,我們需要傳遞幾個參數:

圖像文件

中心位置(x,y)

主要和短軸長度

橢圓沿逆時針方向的旋轉角度

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

接下來,我們將在橢圓上繪制一個紅色圓圈。要畫一個圓,我們需要傳遞圖像文件,中心坐標,圓的半徑,(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)

要繪制多邊形,我們需要頂點的坐標。將這些點組成一個形狀為ROWS x 1 x 2的數組,其中ROWS是頂點數,它應該是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))

要將文本放入圖像中,我們需要提供想要寫入的文本數據,我們想要放置它的位置坐標(即數據開始的左下角),字體類型,字體比例(指定字體大小),顏色,粗細和線型。

#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代碼

現在我們將編寫將檢測面部中的面部的代碼圖像并在臉部周圍繪制圓圈。為了檢測面部,我們將使用Haar級聯分類器。 OpenCV已經包含許多面部,眼睛,微笑等預先訓練的分類器。我們將要使用的分類器將檢測面部。您可以獲得級聯文件。

將此文件保存在工作目錄中作為“ 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(

運行代碼后,程序會在圖像中檢測到的區域創建圓圈。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • OpenCV
    +關注

    關注

    32

    文章

    642

    瀏覽量

    42540
  • 樹莓派
    +關注

    關注

    121

    文章

    1963

    瀏覽量

    107081
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    樹莓派“定居”完全指南:一鍵設置靜態IP,穩定又高效!

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

    基于LockAI視覺識別模塊:C++輪廓檢測

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

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

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

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

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

    不要等Manus的邀請碼了,樹莓派上也能實現 AI Agent !

    本文討論了Manus、OpenManus、CrewAI這三款AIAgent產品的特點、適用場景,并重點介紹了如何用CrewAI樹莓派上運行多LLM代理,還探討了AIAgent發展帶來的思考。關鍵
    的頭像 發表于 03-25 09:19 ?629次閱讀
    不要等Manus的邀請碼了,<b class='flag-5'>樹莓</b><b class='flag-5'>派上</b>也能實現 AI Agent !

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

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

    GPIO樹莓派中的應用

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

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

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

    如何用OpenCV的相機捕捉視頻進行人臉檢測--基于米爾NXP i.MX93開發板

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

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

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

    OpenCV圖像識別C++代碼

    安裝OpenCV庫 首先,您需要在您的計算機上安裝OpenCV庫。您可以從OpenCV官網下載預編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項目中。
    的頭像 發表于 07-16 10:42 ?4093次閱讀

    opencv圖像識別有什么算法

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

    基于OpenCV的人臉識別系統設計

    基于OpenCV的人臉識別系統是一個復雜但功能強大的系統,廣泛應用于安全監控、人機交互、智能家居等多個領域。下面將詳細介紹基于OpenCV的人臉識別系統的基本原理、實現步驟,
    的頭像 發表于 07-11 15:37 ?2.6w次閱讀

    神經網絡圖像識別中的應用

    隨著人工智能技術的飛速發展,神經網絡圖像識別領域的應用日益廣泛。神經網絡以其強大的特征提取和分類能力,為圖像識別帶來了革命性的進步。本文將詳細介紹神經網絡
    的頭像 發表于 07-01 14:19 ?1135次閱讀
    主站蜘蛛池模板: 日本高清一区二区三区不卡免费 | 永久黄网站色视频免费 | 美女被曹| 久久精品国产精品亚洲红杏 | 国产亚洲高清在线精品不卡 | 国产亚洲一区二区三区啪 | ts人妖系列在线专区 | 色香天天 | 欧美成人影院免费观 | 欧美成人免费午夜全 | 一区二区三区网站在线免费线观看 | 久久午夜网 | 香蕉成人999视频 | 免费又爽又黄禁片视频在线播放 | 五月激情婷婷丁香 | 天堂中文资源网 | 亚洲精品一卡2卡3卡三卡四卡 | 亚欧人成精品免费观看 | 午夜精品福利影院 | 神马影院午夜在线 | 久久视频精品36线视频在线观看 | 种子天堂| 亚洲电影二区 | 黄色片网站日本 | 婷婷国产成人久久精品激情 | 成人免费看黄网站yyy456 | 最新久久免费视频 | 4438x成人全国 | 丁香五婷婷 | 夜夜春宵翁熄性放纵30 | 永久网站色视频在线观看免费 | 蜜桃五月天 | 男女交性拍拍拍高清视频 | 欧美色视频日本片免费高清 | 女人的天堂网站 | 欧美成人a | 一级特黄aaa大片大全 | 手机看片1024免费视频 | 国产69精品久久久久9牛牛 | 亚洲性夜 | 欧美 亚洲 国产 丝袜 在线 |