一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

【Sipeed M2 Dock開發(fā)板試用體驗】圖傳功能使用與魔方色塊尋找

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-28 15:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2290503_1_1.html


根據(jù)最近官方MaixPy3和M2 Dock的知識,參考官方文檔和樣例,在官方大牛的支持下,學(xué)習(xí)了基礎(chǔ)的魔方色塊的尋找功能,并以此分享給大家。

目錄:

  • 基礎(chǔ)知識普及:圖傳與Lab顏色系統(tǒng)
  • M2 Dock圖傳功能開啟
  • 圖傳功能使用
  • Lab閾值獲取
  • 魔方色塊尋找

一、基礎(chǔ)知識普及

  1. 圖傳:
    圖傳的概念,在無人機中非常常見,簡單來講,就是把攝像頭拍攝的實時視頻,又快又好的傳遞到終端設(shè)備上呈現(xiàn),既要速度,不能卡,卡了沒意思,也要質(zhì)量,清晰度不能低,低了沒得玩。而傳輸速度快,質(zhì)量高,又可能占用較多的設(shè)備資源,以及需要較大的帶寬,所以設(shè)計一個上好的圖傳方案和系統(tǒng),是很多該行業(yè)廠家的重大追求目標(biāo)之一。
  2. Lab:
    Lab是一種用數(shù)字化的方法來描述人的視覺感應(yīng)的顏色系統(tǒng)。它是一種設(shè)備無關(guān)的、基于生理特征的顏色系統(tǒng)。在機器視覺中,Lab的概念會經(jīng)常提及。
    可以用一張圖,來詳細(xì)描述Lab顏色空間:
    image.png
    上述圖,是從人的視覺感應(yīng)角度來看的。
    首先是L:表示亮度,從純黑到純白,取值可以從 0 -> 100
    然后是a:表示從紅色到綠色的范圍,取值可以從 -128 -> 127
    最后是b:表示從藍(lán)色到黃色的范圍,取值可以從 -128 -> 127
    通常,Lab會以范圍的形式來表示,也就是Lab閾值,因為因為現(xiàn)場環(huán)境的不同,我們看到的顏色,不可能是完完全全的理論純色,所以給出一定的容錯范圍;
    例如:[(0, 100, 21, 127, -128, -9)],分別表示:L-min、L-max、a-min、a-max、b-min、b-max,機器視覺就根據(jù)這個范圍,來進(jìn)行顏色判斷。

二、M2 Dock圖傳功能開啟

了解了以上的基礎(chǔ)概念后,我們就可以進(jìn)入正題,在M2 Dock上,具體使用相關(guān)的功能。

得益于MaixPy3的強大,不用10行代碼,就能開啟M2 Dock的圖傳功能,以下為實際的代碼:

from maix import camera, mjpg, utils, display

queue = mjpg.Queue(maxsize=8)
mjpg.MjpgServerThread("0.0.0.0", 18811, mjpg.BytesImageHandlerFactory(q=queue)).start()

while True:
    img = camera.capture()
    jpg = utils.rgb2jpg(img.convert("RGB").tobytes(), img.width, img.height)
    queue.put(mjpg.BytesImage(jpg))
    display.show(img)

要運行上述代碼,方法很多:

  1. MaixPy3的網(wǎng)頁編輯界面中,運行上述代碼:
    image.png
  2. 可以用adb shell或者ssh連接到M2 Dock后,運行python后,再輸入代碼運行
  3. 也可以用adb shell或者ssh連接到M2 Dock后,用vim編輯tuchuan.py并保存后,再執(zhí)行python ./tuchuan.py運行

方式1最方便,方式2最麻煩,方式3運行效率最好。

建議一般玩家,選用方式1最合適了。

正確運行以上代碼后,就能正常開啟圖傳功能了。

二、圖傳功能使用

要訪問M2 Dock提供的圖傳功能,可以有幾種方式:

  1. MaixPy3的網(wǎng)頁編輯界面中,運行了圖傳功能開啟,運行界面直接就調(diào)用了圖傳數(shù)據(jù)并呈現(xiàn)出來了,如上面的圖所示;
  2. 如果是通過adb shell連接到M2 Dock執(zhí)行啟動圖傳的代碼,那么可以使用http://127.0.0.1:18811直接訪問,如:
    image.png
  3. 如果是通過adb shell連接到M2 Dock執(zhí)行啟動圖傳的代碼,且已經(jīng)聯(lián)網(wǎng)了,那么可以使用http://設(shè)備ip地址:18811直接訪問,如:
    image.png
  4. 還可以寫一個簡單的網(wǎng)頁,打開網(wǎng)頁直接訪問(地址請參考2、3),如:
<img src="http://127.0.0.1:188811">

image.png

M2 Dock的這個圖傳地址http://127.0.0.1:18811的實際處理,使用的是在 MaixPy3 中內(nèi)置的 mjpg 包來進(jìn)行的。MJPG 編碼是一種常見且簡易的視頻編碼方案,只需要將每一幀壓縮成 jpg 圖片后不斷發(fā)送給客戶端就行。

三、Lab閾值獲取

前面說過,機器視覺中會利用到Lab,同樣的,MaixPy3也提供了很簡單的方法來應(yīng)用Lab閾值。

我們先想辦法,來得到一組合適的閾值,這可以使用HonestQiao/thresholding-filter-browser-html: Browser HTML opencv.js thresholding filter lab hsv binarize (github.com)工具。這個工具由Sipeed的大牛JunhuanChen提供,我fork源碼后做了一點點小修改,方便使用。

然后,開啟命令行,在上述下載的代碼目錄中,執(zhí)行如下命令,啟動本地web服務(wù):

python -m SimpleHTTPServer 8888

如果執(zhí)行后提示:

No module named SimpleHTTPServer

那就換一條指令:

python -m http.server 8888

成功運行后,會出現(xiàn)提示信息:

Serving HTTP on :: port 8888 (http://[::]:8888/) ...

然后,通過網(wǎng)頁訪問 http://127.0.0.1:8888/即可打開在線獲取Lab閾值頁面:

image.png

在該界面上,提供了一個默認(rèn)的色塊圖片;

你也可以上傳已有的圖片來進(jìn)行處理;

image.png

如果前面開啟了圖傳,那么可以設(shè)置圖傳地址:

image.png

根據(jù)使用的經(jīng)驗,我一般會這么進(jìn)行調(diào)整,來獲取需要的閾值。

例如,我想要獲取橙色色塊的閾值,那么,我會先調(diào)整a,達(dá)到如下的效果:

image.png

在上圖中,可以看到紅色色塊與橙色色塊接近,所以先讓這兩個色塊在右圖上,都呈現(xiàn)出白色區(qū)塊。而其他部分,都呈現(xiàn)為黑色。

然后,再調(diào)整L,使得顏色暗一些的紅色,被排除掉:

image.png

然后可以切換到魔方的其他面,并進(jìn)行微調(diào),確保能夠較好的識別各個面的橙色塊:

image.png

注意,獲取Lab閾值的時候,不要像下面這樣,把同一種顏色都擰到一面來:

image.png

這樣確實很整齊,但是,我們不僅僅要獲取這種顏色的閾值,同時,還得把其他干擾的顏色,給排除出去。

所以,把魔方打亂了去識別,效果會更好。

通過以上的方式,我們就能得到魔方六面6種顏色格子對應(yīng)的Lab閾值了。

but,but,but,經(jīng)過實際測試發(fā)現(xiàn),我手頭這個三階魔方,是比賽用的,貼紙半光高亮的,紅色和橙色,人看著挺好,但攝像頭不好區(qū)分。

于是,我把家里的魔方擺出來,仔細(xì)挑了挑:
image.png

最后選擇了金字塔魔方,這個魔方是黑底的,顏色為紅黃藍(lán)綠四色,顏色分明,底色也不會干擾。
而白底的魔方,通常都有白色色塊,會造成干擾。
另外咱們現(xiàn)在還是做很基礎(chǔ)的實驗,所以也不能用純色的魔方。

挑選出來的金字塔魔方真身如下:
image.png
image.png

在我挑選魔方的時候,孩子很好奇我在干嘛,于是湊過來。
然后,然后孩子就占了主場,不出一分鐘,就理解了Lab閾值的概念,并學(xué)會了怎么獲取Lab閾值:
image.png

所以下面的部分,主要由孩子完成,我提供技術(shù)支持和指導(dǎo)。

我們用一個手機支架,把M2 Dock支起來,攝像頭對準(zhǔn)魔方:

image.png

然后在Lab閾值獲取界面,進(jìn)行閾值的調(diào)整查看:
image.png

最終,獲得了四組顏色對應(yīng)的嗯Lab閾值:

[(0, 100, -128, -23, -128, 127)], #綠色
[(10, 100, 30, 127, -37, 127)], #紅色
[(40, 100, -25, 42, 7, 127)], #黃色
[(0, 100, -128, 127, -128, -46)], #藍(lán)色

并參考官方的例子,編寫了下面的程序:

from maix import image, display, camera
color = [
        [(0, 100, -128, -23, -128, 127)], #綠色
        [(10, 100, 30, 127, -37, 127)], #紅色
        [(40, 100, -25, 42, 7, 127)], #黃色
        [(0, 100, -128, 127, -128, -46)], #藍(lán)色
        ]  # 0.5.0 以后藍(lán)色的 lab 閾值,0.4.9 之前為 [(13, 11, -91, 54, 48, -28)]
font_color = [ # 邊框和文字顏色,暫時都用白色
    (255,255,255), # 綠色
    (255,255,255), # 紅色
    (255,255,255), # 黃色
    (255,255,255)  # 白色
]
name_color = ('green', 'red', 'yellow', 'blue')
while True:
    img = camera.capture()
    for n in range(0,4):
        blobs = img.find_blobs(color[n])    #在圖片中查找lab閾值內(nèi)的顏色色塊
        if blobs:
            for i in blobs:
                if i["w"]>15 and i["h"]>15:
                    img.draw_rectangle(i["x"], i["y"], i["x"] + i["w"], i["y"] + i["h"], 
                                       color=font_color[n], thickness=1) #將找到的顏色區(qū)域畫出來
                    img.draw_string(i["x"], i["y"], name_color[n], scale = 0.8, 
                              color = font_color[0], thickness = 1) #在紅色背景圖上寫下hello worl
    display.show(img)

運行上述代碼后,識別的效果如下:
image.png

image.png

從中可以看到,M2 Dock又快又好的識別出來了對應(yīng)的魔方色塊顏色。
當(dāng)然,因為背景顏色和黃色接近,所以也被識別了。
可以找一張大的黑色膠片或者黑色紙,墊在下面和支在背后,這樣子就能消除干擾了。

識別視頻,詳見作者原帖子文章。

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

    關(guān)注

    3

    文章

    302

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    Sipeed MaixCAM Pro開發(fā)板試用體驗】+ 01 + MaixCAM Pro開箱

    會能夠去體驗這款高性能 AI 視覺處理--MaixCAM Pro 。 二、開箱 1.開箱視頻 開箱視頻見頂部。 2.包裝內(nèi)容 (1)MaixCAMPro 開發(fā)板2)杜邦
    發(fā)表于 07-04 10:51

    有獎丨米爾 瑞芯微RK3506開發(fā)板免費試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3506應(yīng)用處理器的MYD-YR3506開發(fā)板免費試用名額來啦~~米爾提供了3價值299元的MYD-YR3506開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-19 08:04 ?357次閱讀
    有獎丨米爾 瑞芯微RK3506<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>

    基于RK3576處理器,米爾RK3576開發(fā)板免費試用

    年7月19日 ? 評測數(shù)量: 3 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級
    的頭像 發(fā)表于 06-09 15:00 ?499次閱讀
    基于RK3576處理器,米爾RK3576<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>

    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA開發(fā)板免費試用

    : 10 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板
    的頭像 發(fā)表于 06-05 16:45 ?512次閱讀
    搭載OpenHarmony操作系統(tǒng),視美泰SC-3568HA<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>

    基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗

    數(shù)量: 10 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級
    的頭像 發(fā)表于 06-05 16:31 ?432次閱讀
    基于RK處理器,創(chuàng)龍TL3562-MiniEVM<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    性能強悍!合眾HZ-RK3568開發(fā)板試用體驗

    月19日 ? 評測數(shù)量: 10 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級
    的頭像 發(fā)表于 06-05 16:30 ?521次閱讀
    性能強悍!合眾HZ-RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗
    的頭像 發(fā)表于 05-27 08:05 ?218次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>體驗

    RA-Eco-RA4M2開發(fā)板免費試用啦 #開發(fā)板試用

    開發(fā)板
    ElecFans小喇叭
    發(fā)布于 :2025年04月02日 16:56:25

    免費丨米爾 STM32MP257開發(fā)板有獎試用

    米爾與ST合作發(fā)布的新品基于STM32MP257應(yīng)用處理器的MYD-LD25X開發(fā)板免費試用活動來啦~~米爾提供了2價值488元的MYD-LD25X
    的頭像 發(fā)表于 03-20 08:05 ?486次閱讀
    免費丨米爾 STM32MP257<b class='flag-5'>開發(fā)板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微YR3562開發(fā)板免費試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費試用活動來啦~~米爾提供了3價值599元的MYD-YR3562開發(fā)板發(fā)起
    的頭像 發(fā)表于 03-20 08:05 ?516次閱讀
    有獎丨米爾 瑞芯微YR3562<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>

    有獎試用?。A-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動報名

    RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動
    的頭像 發(fā)表于 03-13 12:10 ?500次閱讀
    有獎<b class='flag-5'>試用</b>??!RA-Eco-RA4<b class='flag-5'>M2</b>-100PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動報名

    有獎丨米爾 全志T536開發(fā)板免費試用

    米爾與全志合作發(fā)布的新品基于全志T536應(yīng)用處理器的MYD-LT536-GK開發(fā)板免費試用活動來啦~~米爾提供了3價值750元的MYD-LT536-GK開發(fā)板發(fā)起
    的頭像 發(fā)表于 12-26 08:05 ?879次閱讀
    有獎丨米爾 全志T536<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>

    追加名額丨米爾瑞芯微RK3576開發(fā)板有獎試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費試用活動加碼啦~~米爾追加了2價值849元的MYD-LR3576
    的頭像 發(fā)表于 11-22 01:00 ?633次閱讀
    追加名額丨米爾瑞芯微RK3576<b class='flag-5'>開發(fā)板</b>有獎<b class='flag-5'>試用</b>

    有獎丨米爾 瑞芯微RK3576開發(fā)板免費試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3576應(yīng)用處理器的MYD-LR3576開發(fā)板免費試用活動來啦~~米爾提供了7價值849元的MYD-LR3576開發(fā)板發(fā)起
    的頭像 發(fā)表于 11-12 01:00 ?802次閱讀
    有獎丨米爾 瑞芯微RK3576<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>

    有獎試用?。A-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動開始報名

    有獎試用?。A-Eco-RA4E2-64PIN-V1.0開發(fā)板試用活動開始報名
    的頭像 發(fā)表于 11-09 01:02 ?591次閱讀
    有獎<b class='flag-5'>試用</b>??!RA-Eco-RA4E<b class='flag-5'>2</b>-64PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動開始報名