欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

Vision Board 輕松完成【電賽E題】

RT-Thread官方賬號(hào) ? 2024-08-01 10:00 ? 次閱讀

題目簡(jiǎn)述

一、 任務(wù)

設(shè)計(jì)并制作三子棋游戲裝置,能夠控制機(jī)械臂或其他機(jī)構(gòu)放置棋子,實(shí)現(xiàn)人 機(jī)對(duì)弈。圖 1 所示的三子棋棋盤(pán)和棋子位置示意圖中,棋盤(pán)由黑色實(shí)線圍成 9 個(gè)方格,人、機(jī)分別從棋子放置處拾取棋子并放置到方格中,先將己方的 3 個(gè)棋 子連成一線(橫連、豎連、斜連皆可)即獲勝。

c7abedb4-4fa9-11ef-817b-92fbcf53809c.png

二、 要求

(1)裝置能將任意 1 顆黑棋子放置到 5 號(hào)方格中。(5 分)

(2)裝置能將任意 2 顆黑棋子和 2 顆白棋子依次放置到指定方格中。(20 分)

(3)將棋盤(pán)繞中心±45°范圍內(nèi)旋轉(zhuǎn)后,裝置能將任意 2 顆黑棋子和 2 顆 白棋子依次放置到指定方格中。(20 分)

(4)裝置執(zhí)黑棋先行與人對(duì)弈(第 1 步方格可設(shè)置),若人應(yīng)對(duì)的第 1 步白 棋有錯(cuò)誤,裝置能獲勝。(20 分)

(5)人執(zhí)黑棋先行,裝置能正確放置白棋子以保持不輸棋。(20 分)

(6)對(duì)弈過(guò)程中,若人將裝置下過(guò)的 1 顆棋子變動(dòng)位置,裝置能自動(dòng)發(fā)現(xiàn) 并將該棋子放置回原來(lái)位置。(10 分)

Vision Broad開(kāi)發(fā)板簡(jiǎn)述

開(kāi)發(fā)板描述:Vision Board搭載全球首顆 480 MHz Arm Cortex-M85芯片,擁有Helium和TrustZone技術(shù)的加持。SDK包里集成了OpenMV機(jī)器視覺(jué)例程,配合MicroPython 解釋器,使其可以流暢地開(kāi)發(fā)機(jī)器視覺(jué)應(yīng)用。Vision Board具有以下主要特點(diǎn):

強(qiáng)大的處理性能:Vision Board搭載了全球首款基于 ARM Cortex-M85 架構(gòu)的瑞薩電子RA8 MCU,6.39 CoreMark/MHz,可以快速而高效地運(yùn)行機(jī)器視覺(jué)算法,實(shí)現(xiàn)圖像處理、等功能。

完整支持OpenMV生態(tài):Vision Board完全兼容OpenMV開(kāi)發(fā)平臺(tái),用戶可以直接使用OpenMV IDE進(jìn)行編程和開(kāi)發(fā),利用豐富的API和庫(kù)函數(shù)進(jìn)行圖像處理和計(jì)算機(jī)視覺(jué)任務(wù)。

友好的學(xué)習(xí)環(huán)境:提供簡(jiǎn)潔易用的開(kāi)發(fā)環(huán)境和示例項(xiàng)目,帶領(lǐng)初學(xué)者快速上手機(jī)器視覺(jué)、GUI等應(yīng)用。同時(shí)具有豐富的文檔資料供給開(kāi)發(fā)者學(xué)習(xí)。

可擴(kuò)展性:豐富的擴(kuò)展接口,如攝像頭、MIPI-DSI、RGB666、樹(shù)莓派兼容IO、BTB拓展接口等,用戶可以根據(jù)自己的需求連接其他外設(shè)或模塊,如以太網(wǎng)、CAN/LIN、傳感器、執(zhí)行器等,實(shí)現(xiàn)更復(fù)雜的應(yīng)用場(chǎng)景。

c7bc77ba-4fa9-11ef-817b-92fbcf53809c.png

板載資源:

c7dad534-4fa9-11ef-817b-92fbcf53809c.png

外設(shè)支持情況:

c7ea1f62-4fa9-11ef-817b-92fbcf53809c.png

支持的 IDE:RT-Thread Studio、MDKV538。OpenMV工程目前僅支持MDK開(kāi)發(fā)

三子棋思路

找棋盤(pán)

生成居中的九宮格區(qū)域

函數(shù) generate_centered_rois 的目的是生成一個(gè)九宮格的區(qū)域,每個(gè)區(qū)域都包含棋盤(pán)上的一個(gè)方塊,并且這些區(qū)域在整個(gè)圖像中居中。函數(shù)的參數(shù)包括圖像的寬度和高度、每個(gè)方塊的邊長(zhǎng) b 以及感興趣區(qū)域(ROI)的邊長(zhǎng) k。

函數(shù)定義

c7fb5746-4fa9-11ef-817b-92fbcf53809c.png

步驟解析

1.初始化區(qū)域列表:

c836aad0-4fa9-11ef-817b-92fbcf53809c.png

rois 是一個(gè)列表,用于存儲(chǔ)每個(gè) ROI 的坐標(biāo)和大小。

2.計(jì)算每個(gè) ROI 中心的位置偏移:

c84a3b40-4fa9-11ef-817b-92fbcf53809c.png

偏移量 offset 是為了確保 ROI 在每個(gè)方塊的中心。b 是方塊的邊長(zhǎng),而 k 是 ROI 的邊長(zhǎng)。

3.計(jì)算整個(gè)九宮格的總寬度和高度:

c85ebaac-4fa9-11ef-817b-92fbcf53809c.png

因?yàn)榫艑m格有 3 行 3 列,每個(gè)方塊的邊長(zhǎng)為 b,所以總寬度和高度分別是 3 * b。

4.計(jì)算左上角的起始點(diǎn):

c86d508a-4fa9-11ef-817b-92fbcf53809c.png

為了使九宮格在圖像中居中,我們計(jì)算左上角的起始點(diǎn) start_x 和 start_y。它們分別是圖像寬度和高度減去九宮格的總寬度和高度的一半。

5.生成九宮格區(qū)域:

c87f93bc-4fa9-11ef-817b-92fbcf53809c.png

使用雙重循環(huán)生成每個(gè) ROI 的坐標(biāo)。

x_center 和 y_center 計(jì)算每個(gè)方塊的中心位置。

x 和 y 是 ROI 的左上角坐標(biāo),減去 k // 2 是為了將 ROI 的中心對(duì)齊到方塊的中心。

最后,將每個(gè) ROI 添加到 rois 列表中。

6.返回 ROI 列表:

c88a2a48-4fa9-11ef-817b-92fbcf53809c.png

視覺(jué)化解釋

假設(shè)圖像的寬度和高度分別為 320 和 240,每個(gè)方塊的邊長(zhǎng) b 為 43,每個(gè) ROI 的邊長(zhǎng) k 為 10。九宮格將會(huì)在圖像中居中,每個(gè) ROI 將位于方塊的中心,形成一個(gè)規(guī)則的 3x3 矩陣。

找棋子

棋子識(shí)別的關(guān)鍵在于處理圖像并根據(jù)灰度值來(lái)判斷每個(gè)方塊中是否存在棋子,以及棋子的顏色是黑色還是白色。這個(gè)過(guò)程在 while 循環(huán)中進(jìn)行。

代碼段

c8946832-4fa9-11ef-817b-92fbcf53809c.png

步驟解析

1.抓取圖像和鏡頭矯正:

c8a56bb4-4fa9-11ef-817b-92fbcf53809c.png

使用 Vision Broad的攝像頭捕獲當(dāng)前圖像,并進(jìn)行鏡頭矯正,以減少鏡頭畸變。

2.遍歷所有 ROI(感興趣區(qū)域):

c8b801e8-4fa9-11ef-817b-92fbcf53809c.png

使用雙重循環(huán)遍歷之前生成的九宮格區(qū)域 rois。

3.計(jì)算灰度值的平均值:

c8ce1ffa-4fa9-11ef-817b-92fbcf53809c.png

對(duì)每個(gè) ROI 計(jì)算灰度值的平均值。img.get_statistics(roi=rois[y][x]) 返回一個(gè)統(tǒng)計(jì)對(duì)象,包含了該 ROI 內(nèi)的像素統(tǒng)計(jì)數(shù)據(jù)。通過(guò) mean() 方法可以得到該區(qū)域的平均灰度值。

4.判斷灰度值來(lái)確定棋子:

c8daf3e2-4fa9-11ef-817b-92fbcf53809c.png

如果灰度值小于 100,則認(rèn)為該區(qū)域有一個(gè)黑色棋子("X")。

如果灰度值大于 200,則認(rèn)為該區(qū)域有一個(gè)白色棋子("O")。

否則,該區(qū)域?yàn)榭眨? ")。

博弈策略計(jì)算

minimax 函數(shù)

minimax 函數(shù)使用遞歸的方法評(píng)估所有可能的棋步,并為每個(gè)棋步計(jì)算一個(gè)分?jǐn)?shù),以確定最佳移動(dòng)。

c8ed3e26-4fa9-11ef-817b-92fbcf53809c.png

步驟解析

1.定義變量:

c9336f18-4fa9-11ef-817b-92fbcf53809c.png

定義機(jī)器人棋子為 ‘X’,玩家棋子為 ‘O’。

2.檢查終止條件:

c93e548c-4fa9-11ef-817b-92fbcf53809c.png

如果機(jī)器人贏了,返回一個(gè)正分(10 減去深度,越快贏分?jǐn)?shù)越高)。

如果玩家贏了,返回一個(gè)負(fù)分(深度減去 10,越快輸分?jǐn)?shù)越低)。

如果平局,返回 0 分。

遞歸搜索:

機(jī)器人最大化得分:

c94e9f40-4fa9-11ef-817b-92fbcf53809c.png

初始化 best_score 為負(fù)無(wú)窮。

遍歷每個(gè)空位置,模擬機(jī)器人下棋。

遞歸調(diào)用 minimax 計(jì)算對(duì)方的最佳應(yīng)對(duì)分?jǐn)?shù)。

恢復(fù)棋盤(pán)狀態(tài),更新 best_score。

返回最佳分?jǐn)?shù)。

玩家最小化得分:

c96a749a-4fa9-11ef-817b-92fbcf53809c.png

初始化 best_score 為正無(wú)窮。

遍歷每個(gè)空位置,模擬玩家下棋。

遞歸調(diào)用 minimax 計(jì)算機(jī)器人的最佳應(yīng)對(duì)分?jǐn)?shù)。

恢復(fù)棋盤(pán)狀態(tài),更新 best_score。

返回最佳分?jǐn)?shù)。

computer_move 函數(shù)

computer_move 函數(shù)用來(lái)確定機(jī)器人下一步應(yīng)該下到哪里。

c97cb24a-4fa9-11ef-817b-92fbcf53809c.png

步驟解析

1.初始化變量:

c98d4812-4fa9-11ef-817b-92fbcf53809c.png

初始化 best_score 為負(fù)無(wú)窮,用來(lái)追蹤最佳分?jǐn)?shù)。move 用來(lái)記錄最佳移動(dòng)位置。

2.遍歷棋盤(pán)找空位:

c996bbb8-4fa9-11ef-817b-92fbcf53809c.png

遍歷每個(gè)位置,如果是空位,模擬機(jī)器人在此下棋。

調(diào)用 minimax 計(jì)算此移動(dòng)的分?jǐn)?shù)。

恢復(fù)棋盤(pán)狀態(tài)。

如果當(dāng)前移動(dòng)的分?jǐn)?shù)大于 best_score,更新 best_score 和 move。

3.返回最佳移動(dòng)位置:

c9a32d9e-4fa9-11ef-817b-92fbcf53809c.png

如果找到最佳移動(dòng)位置,返回該位置的坐標(biāo)。

總結(jié)

Minimax 算法:通過(guò)遞歸搜索所有可能的棋步,評(píng)估每個(gè)棋步的得分,最大化機(jī)器人的得分,最小化玩家的得分。

確定最佳移動(dòng):遍歷所有可能的移動(dòng),調(diào)用 minimax 算法計(jì)算每個(gè)移動(dòng)的得分,并選擇得分最高的移動(dòng)。

贏者檢測(cè)

贏者檢測(cè)是通過(guò) check_win 函數(shù)實(shí)現(xiàn)的。該函數(shù)會(huì)檢查棋盤(pán)的行、列和對(duì)角線,判斷某個(gè)玩家是否已經(jīng)獲勝。

check_win 函數(shù)

c9ab09f6-4fa9-11ef-817b-92fbcf53809c.png

步驟解析

1.檢查行和列:

c9c1fff8-4fa9-11ef-817b-92fbcf53809c.png

遍歷每一行,檢查該行是否全部是當(dāng)前玩家的棋子。如果是,返回 True。

遍歷每一列,檢查該列是否全部是當(dāng)前玩家的棋子。如果是,返回 True。

2.檢查對(duì)角線:

c9cdac2c-4fa9-11ef-817b-92fbcf53809c.png

檢查主對(duì)角線(從左上到右下),是否全部是當(dāng)前玩家的棋子。如果是,返回 True。

檢查副對(duì)角線(從右上到左下),是否全部是當(dāng)前玩家的棋子。如果是,返回 True。

3.未找到獲勝者:

c9dec25a-4fa9-11ef-817b-92fbcf53809c.png

如果沒(méi)有找到任何一行、一列或?qū)蔷€全部是當(dāng)前玩家的棋子,返回 False。

c9ef77ee-4fa9-11ef-817b-92fbcf53809c.gif

完整代碼:

c9feb344-4fa9-11ef-817b-92fbcf53809c.pngca0bcbb0-4fa9-11ef-817b-92fbcf53809c.pngca179b02-4fa9-11ef-817b-92fbcf53809c.pngca332412-4fa9-11ef-817b-92fbcf53809c.pngca47de0c-4fa9-11ef-817b-92fbcf53809c.png

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

    關(guān)注

    25

    文章

    5124

    瀏覽量

    98276
  • board
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

    19810
  • Vision
    +關(guān)注

    關(guān)注

    1

    文章

    199

    瀏覽量

    18264
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    2013全國(guó)電子預(yù)測(cè)

    2013預(yù)測(cè)
    發(fā)表于 08-20 22:25

    歷年元器件清單與賽

    2003--2013年歷年元器件清單與賽,可以幫助分析預(yù)測(cè),很全
    發(fā)表于 08-08 13:05

    ` 本帖最后由 1767802879 于 2015-8-6 10:49 編輯 猜:1.視頻傳輸:針對(duì)今年提供的器件攝像頭,它的規(guī)定很奇怪,指定為AV輸出。這也就意味著,攝像頭和數(shù)字電路相關(guān)
    發(fā)表于 08-06 10:46

    天津ti

    天津ti。。。
    發(fā)表于 07-25 08:24

    浙江

    一共七,一樣的吧
    發(fā)表于 07-25 10:25

    2017年全國(guó)E如何實(shí)現(xiàn)?

    今年的已經(jīng)公布,對(duì)于E大家有何想法?
    發(fā)表于 08-09 10:53

    2017全國(guó)I如何實(shí)現(xiàn)?

    2017全國(guó)I如何實(shí)現(xiàn)?
    發(fā)表于 08-09 11:17

    2020E復(fù)盤(pán)相關(guān)資料分享

    其實(shí)對(duì)于大二的我來(lái)說(shuō)也還好啦,也可以為2021的國(guó)備戰(zhàn)起著指導(dǎo)作用了。第一次接觸電還是在大一下的暑假,當(dāng)時(shí)的在我們學(xué)校舉辦,而我的學(xué)長(zhǎng)們也在
    發(fā)表于 02-14 07:54

    2014??齐娮?b class='flag-5'>賽(J、I、G

    專用資料,很詳細(xì),2014??齐娮?b class='flag-5'>賽(J、I、G)題目,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 11:37 ?0次下載

    2019年H電磁炮實(shí)錄

    2019年H電磁炮實(shí)錄你好學(xué)弟!這里...
    發(fā)表于 11-10 09:05 ?44次下載
    2019年<b class='flag-5'>電</b><b class='flag-5'>賽</b>H<b class='flag-5'>題</b>電磁炮實(shí)錄

    梁山派開(kāi)發(fā)板-21年F-送藥小車(chē)-分析

    全國(guó)產(chǎn)開(kāi)源開(kāi)發(fā)板,基于GD32F4系列,21F-送藥小車(chē)分析
    的頭像 發(fā)表于 07-31 10:13 ?1316次閱讀
    梁山派開(kāi)發(fā)板-21年<b class='flag-5'>電</b><b class='flag-5'>賽</b>F<b class='flag-5'>題</b>-送藥小車(chē)-<b class='flag-5'>賽</b><b class='flag-5'>題</b>分析

    2023年E國(guó)獎(jiǎng)開(kāi)源分享

    2023年E開(kāi)源分享,主控為CW32!
    的頭像 發(fā)表于 10-09 16:18 ?7334次閱讀
    2023年<b class='flag-5'>電</b><b class='flag-5'>賽</b><b class='flag-5'>E</b><b class='flag-5'>題</b>國(guó)獎(jiǎng)開(kāi)源分享

    2023A國(guó)獎(jiǎng)CW32 開(kāi)源分享

    A開(kāi)源分享,主控為CW32
    的頭像 發(fā)表于 11-02 10:16 ?2558次閱讀
    2023<b class='flag-5'>電</b><b class='flag-5'>賽</b>A<b class='flag-5'>題</b>國(guó)獎(jiǎng)CW32 開(kāi)源分享

    Vision_Board_schematic

    Vision_Board_schematic
    發(fā)表于 03-20 09:59 ?9次下載

    Vision Board 創(chuàng)客營(yíng)】Vision Board上的DAC實(shí)踐

    1、概述 感謝官方舉辦【Vision Board 創(chuàng)客營(yíng)】活動(dòng),使得我有機(jī)會(huì)試用Vision Board開(kāi)發(fā)板,體驗(yàn)嵌入式AI的快樂(lè)。在此,再次感謝官方以及導(dǎo)師們的熱情幫助。在本次活動(dòng)
    的頭像 發(fā)表于 04-24 21:55 ?675次閱讀
    【<b class='flag-5'>Vision</b> <b class='flag-5'>Board</b> 創(chuàng)客營(yíng)】<b class='flag-5'>Vision</b> <b class='flag-5'>Board</b>上的DAC實(shí)踐