在 Termux 中使用手機攝像頭運行 YOLO 目標(biāo)檢測,核心是調(diào)用手機攝像頭采集圖像/視頻流 + 部署 YOLO 模型推理 ,以下是可直接實踐的步驟:
1. 環(huán)境準(zhǔn)備(Termux 內(nèi)執(zhí)行)
升級 Termux 包并安裝依賴
pkg update && pkg upgrade -y pkg install python python-pip git ffmpeg libjpeg-turbo libopencv -y安裝 Python 核心庫
pip install numpy opencv-python ultralytics pillowultralytics是 YOLOv8 官方庫,支持一鍵調(diào)用模型;opencv-python用于攝像頭調(diào)用和圖像處理。
2. 授權(quán)手機攝像頭訪問
Termux 需獲取攝像頭權(quán)限,執(zhí)行以下命令:
termux-camera-photo test.jpg
- 首次執(zhí)行會彈出權(quán)限請求,選擇 允許 ;若命令生成
test.jpg文件,說明攝像頭授權(quán)成功。
3. 運行 YOLO 實時檢測代碼
創(chuàng)建 Python 腳本 yolo_camera.py:
nano yolo_camera.py
粘貼以下代碼(支持實時攝像頭流檢測):
from ultralytics import YOLO
import cv2
# 加載 YOLOv8n 輕量化模型(自動下載)
model = YOLO("yolov8n.pt")
# 調(diào)用手機攝像頭(Termux 中攝像頭索引通常為 0)
cap = cv2.VideoCapture(0)
# 設(shè)置分辨率(可選,根據(jù)手機性能調(diào)整)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# 模型推理(stream=True 提升實時性)
results = model(frame, stream=True)
# 繪制檢測框和標(biāo)簽
for r in results:
boxes = r.boxes
for box in boxes:
x1, y1, x2, y2 = map(int, box.xyxy[0])
conf = box.conf[0].item()
cls = int(box.cls[0])
label = f"{model.names[cls]} {conf:.2f}"
# 畫框 + 標(biāo)簽
cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.putText(frame, label, (x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0,255,0), 2)
# 顯示檢測結(jié)果
cv2.imshow("YOLO Camera Detection", frame)
# 按 q 退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
保存退出(Ctrl+O → 回車 → Ctrl+X)
4. 啟動檢測程序
python yolo_camera.py
- 首次運行會自動下載 YOLOv8n 模型(約 6MB);
- 若彈出實時畫面并顯示目標(biāo)檢測框,說明運行成功。
常見問題排查
- 攝像頭無法調(diào)用 :
- 執(zhí)行
termux-setup-storage重新授權(quán),或在手機設(shè)置 → 應(yīng)用 → Termux → 權(quán)限 中手動開啟攝像頭權(quán)限。
- 執(zhí)行
- 推理卡頓 :
- 改用更小模型(如
yolov8n.pt),或降低分辨率(設(shè)為 480x320); - 關(guān)閉其他后臺程序,Termux 中可執(zhí)行
renice -n -10 -p $$提升進程優(yōu)先級。
- 改用更小模型(如
- 缺少依賴報錯 :
- 執(zhí)行
pip install --upgrade ultralytics opencv-python重裝庫。
- 執(zhí)行
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
模型
+關(guān)注
關(guān)注
1文章
3789瀏覽量
52217 -
目標(biāo)檢測
+關(guān)注
關(guān)注
0文章
234瀏覽量
16528
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
米爾RK3576+Hailo-8突破6 TOPS極限,讓高幀率攝像頭真正“實時”
in streaming mode (average) = 3.07729 W
(max) = 3.13305 W
7毫秒的推理延遲意味著:即使是 120fps的高速攝像頭 ,系統(tǒng)也能輕松應(yīng)對,做到逐幀實時處理
發(fā)表于 04-02 18:03
YOLO5目標(biāo)檢測方案-基于米爾RK3576開發(fā)板
實時性:完成從攝像頭采集→NPU推理→屏幕顯示的完整流程,耗時不超過攝像頭一幀的時間。
輸入/輸出:盡可能提高攝像頭
發(fā)表于 01-22 19:21
基于米爾MYC-LR3576開發(fā)板的實時視頻識別系統(tǒng)設(shè)計與實現(xiàn)
實時性視頻識別系統(tǒng)。重點解決了多路視頻流處理、NPU加速模型部署、低延遲推理等關(guān)鍵問題,在工業(yè)安
發(fā)表于 12-01 21:23
單板挑戰(zhàn)4路YOLOv8!米爾瑞芯微RK3576開發(fā)板性能實測
4.YOLOv8s-obb.float 旋轉(zhuǎn)目標(biāo)檢測模型
上面已經(jīng)看到了單獨解析視頻時,每一種模型效果,接下來演示MYD-LR3576通過4路攝像頭同時推導(dǎo)效果。
實現(xiàn)方式如下:MY
發(fā)表于 09-12 17:52
如何在大核rtt上把kd_mpi_vicap_start_stream三個攝像頭各自出的流拼成一個流呢?
我要3個攝像頭在同一個畫面,目前vi采集部分跑的配置攝像頭各自出的流就已經(jīng)是960*540,最后啟動kd_mpi_vicap_start_stream。
四宮格排列剛好是1080p,就
發(fā)表于 09-09 07:20
【EASY EAI Orin Nano開發(fā)板試用體驗】使用stream推流代碼和WEB服務(wù)器代碼實現(xiàn)在客戶端網(wǎng)頁上查看攝像頭圖像
重點。在嵌入式系統(tǒng)中,對攝像頭圖像的推流可以用兩種方式,第一種是直接使用液晶顯示屏顯示攝像頭圖像,第二種就是在WEB服務(wù)器網(wǎng)頁上推
發(fā)表于 08-11 23:15
紅外攝像頭模組是什么?科技時代的眼睛
深入探討紅外攝像頭模組的工作原理、應(yīng)用領(lǐng)域以及選擇紅外攝像頭時需要考慮的因素。什么是紅外攝像頭模組?紅外攝像頭模組是一種能夠捕捉紅外線圖像的
360環(huán)視技術(shù)推薦的硬件平臺:支持多攝像頭與三屏異顯的理想選擇
硬件平臺選型360環(huán)視的落地并不簡單。它不僅需要多個高清攝像頭的數(shù)據(jù)輸入,還需要穩(wěn)定的圖像處理能力、強大的AI推理能力,以及足夠多的視頻輸出接口支持顯示需求。很多開發(fā)者在選型時會遇到一
發(fā)表于 07-30 17:32
【正點原子STM32MP257開發(fā)板試用】基于 DeepLab 模型的圖像分割
== \'__main__\':
main()
效果
USB 攝像頭采集實時畫面的圖像分割推理效果
終端打印信息
動態(tài)識別效果見頂部視頻
發(fā)表于 06-21 21:11
K230micropython下能實現(xiàn)同時用USB攝像頭和板載攝像頭YOLO識別并顯示在IDE上嗎?
K230micropython下能實現(xiàn)同時用USB攝像頭和板載攝像頭YOLO識別并顯示在IDE上嗎?以及如何提高USB進行YOLO識別的幀數(shù)?
發(fā)表于 06-20 06:35
usb攝像頭輸入的圖像,哪種格式才能讓yolo正常檢測?
= yolo.run(img)這一步會導(dǎo)致系統(tǒng)卡死,應(yīng)該是圖片格式不符合
yolo用的自訓(xùn)練yolov11模型,使用默認(rèn)的板載攝像頭沒有問題。
軟硬件版本信息
立創(chuàng)廬山派CANMV
發(fā)表于 06-13 07:55
請問K230D怎么將攝像頭采集的視頻數(shù)據(jù)通過串口輸出?
我連了個WiFi模塊,想要將攝像頭采集的視頻數(shù)據(jù)通過串口發(fā)送出去。之前都是用的STM32,不太會MicroPython,搞不懂對象的數(shù)據(jù)結(jié)構(gòu),求教。
發(fā)表于 04-28 06:16
Termux手機攝像頭采集圖像/視頻流 部署 YOLO 模型推理
評論