本文將介紹基于米爾電子MYD-LT527開發(fā)板(米爾基于全志T527開發(fā)板)的OpenCV手勢識別方案測試。
摘自優(yōu)秀創(chuàng)作者-小火苗

米爾基于全志T527開發(fā)板
一、軟件環(huán)境安裝
1.安裝OpenCV
sudo apt-get install libopencv-dev python3-opencv

2.安裝pip
sudo apt-get install python3-pip

二、OpenCV手勢識別步驟
1.圖像獲取:從攝像頭或其他圖像源獲取手部圖像。使用OpenCV的VideoCapture類可以捕獲視頻流,或者使用imread函數(shù)加載圖像。
2.圖像預(yù)處理:對圖像進(jìn)行預(yù)處理,以提高特征提取的準(zhǔn)確性。常用的預(yù)處理操作包括灰度化、濾波、邊緣檢測、二值化、噪聲去除和形態(tài)學(xué)處理等。
- 灰度化:將彩色圖像轉(zhuǎn)換為灰度圖像,去除顏色信息,簡化圖像。
- 濾波:使用濾波器去除圖像中的噪聲。
- 邊緣檢測:使用邊緣檢測算法提取圖像中的邊緣信息。
- 二值化:將灰度圖像轉(zhuǎn)換為二值圖像,將像素值分為黑色和白色。
形態(tài)學(xué)處理:使用形態(tài)學(xué)操作增強(qiáng)手勢輪廓。
3.特征提取:從預(yù)處理后的圖像中提取手部特征。常用的特征包括形狀特征、紋理特征和運(yùn)動(dòng)軌跡特征等。
- 形狀特征:提取手部輪廓、面積、周長、質(zhì)心等形狀特征。
- 紋理特征:提取手部皮膚紋理、皺紋等紋理特征。
運(yùn)動(dòng)軌跡特征:提取手部運(yùn)動(dòng)軌跡、速度、加速度等運(yùn)動(dòng)軌跡特征。
4.分類和識別:使用機(jī)器學(xué)習(xí)算法對提取的特征進(jìn)行分類,以識別特定的手勢。
三、代碼實(shí)現(xiàn)
# -*- coding: utf-8 -*-import cv2def reg(x):o1 = cv2.imread('paper.jpg',1)o2 = cv2.imread('rock.jpg',1)o3 = cv2.imread('scissors.jpg',1) gray1 = cv2.cvtColor(o1,cv2.COLOR_BGR2GRAY)gray2 = cv2.cvtColor(o2,cv2.COLOR_BGR2GRAY)gray3 = cv2.cvtColor(o3,cv2.COLOR_BGR2GRAY)xgray = cv2.cvtColor(x,cv2.COLOR_BGR2GRAY)ret, binary1 = cv2.threshold(gray1,127,255,cv2.THRESH_BINARY)ret, binary2 = cv2.threshold(gray2,127,255,cv2.THRESH_BINARY)ret, binary3 = cv2.threshold(gray3,127,255,cv2.THRESH_BINARY)xret, xbinary = cv2.threshold(xgray,127,255,cv2.THRESH_BINARY)contours1, hierarchy = cv2.findContours(binary1,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE) contours2, hierarchy = cv2.findContours(binary2,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE) contours3, hierarchy = cv2.findContours(binary3,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE) xcontours, hierarchy = cv2.findContours(xbinary,cv2.RETR_LIST,cv2.CHAIN_APPROX_SIMPLE) cnt1 = contours1[0]cnt2 = contours2[0]cnt3 = contours3[0]x = xcontours[0]ret=[]ret.append(cv2.matchShapes(x,cnt1,1,0.0))ret.append(cv2.matchShapes(x,cnt2,1,0.0))ret.append(cv2.matchShapes(x,cnt3,1,0.0))max_index = ret.index(min(ret)) #計(jì)算最大值索引if max_index==0:r="paper"elif max_index==1:r="rock"else:r="sessiors"return rt1=cv2.imread('test1.jpg',1)t2=cv2.imread('test2.jpg',1)t3=cv2.imread('test3.jpg',1)# print(reg(t1))# print(reg(t2))# print(reg(t3))# ===========顯示處理結(jié)果==================org=(0,60)font = cv2.FONT_HERSHEY_SIMPLEXfontScale=2color=(255,255,255)thickness=3cv2.putText(t1,reg(t1),org,font,fontScale,color,thickness)cv2.putText(t2,reg(t2),org,font,fontScale,color,thickness)cv2.putText(t3,reg(t3),org,font,fontScale,color,thickness)cv2.imshow('test1',t1)cv2.imshow('test2',t2)cv2.imshow('test3',t3)cv2.waitKey()cv2.destroyAllWindows()
四、實(shí)踐
1.程序運(yùn)行
2、原始圖像包含訓(xùn)練圖像
3.識別結(jié)果
識別到了 剪刀 石頭 布
原始圖片
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
5260瀏覽量
99697 -
OpenCV
+關(guān)注
關(guān)注
31文章
637瀏覽量
41938 -
米爾電子
+關(guān)注
關(guān)注
0文章
123瀏覽量
611 -
全志T527
+關(guān)注
關(guān)注
0文章
17瀏覽量
265
發(fā)布評論請先 登錄
相關(guān)推薦
通過物聯(lián)網(wǎng)管理多臺(tái)MQTT設(shè)備-基于米爾T527開發(fā)板

全志T527國產(chǎn)核心板及米爾配套開發(fā)板批量上市!
米爾全志T527開發(fā)板開箱驗(yàn)機(jī)
國產(chǎn)芯,米爾基于全志T527的商顯主板及工業(yè)微型控制器
米爾T527系列加推工控板和工控機(jī),更多工業(yè)場景DEMO
【米爾首發(fā)-全志T527開發(fā)板-國產(chǎn)8核A55-免費(fèi)試用】米爾全志T527開發(fā)板開箱驗(yàn)機(jī)
【米爾首發(fā)-全志T527開發(fā)板-國產(chǎn)8核A55-免費(fèi)試用】米爾全志T527開發(fā)板上電與連接WIFI
飛凌全志T527開發(fā)板buildroot系統(tǒng)下擴(kuò)大rootfs分區(qū)
米爾這款首發(fā)的國產(chǎn)核心板批量上市了!全志T527

米粉派7折!米爾全志T527發(fā)布Linux系統(tǒng)

FacenetPytorch人臉識別方案--基于米爾全志T527開發(fā)板

評論