一碗酸梅湯 作品

第330章 小孔成像和PNP問題

    要想利用“人工神經網絡”處理圖像識別問題,需要事先收集到大量的數據。

    可是倉促之間,上哪去弄數據?

    倒是可以給“戰神一號”拍一些“寫真”,來充當訓練集,反正所有的參賽機器人,外形都差不多。

    這樣做倒也不是不行,但時間太倉促了,數據的量級達不到要求,訓練效果應該不會太好。

    而且,就算拼著一夜不睡,東拼西湊出一點訓練數據,也很可能來不及訓練了。

    訓練“人工神經網絡”,畢竟是一件比較消耗時間的事情。

    而現在最大的問題,就是缺少時間,明天就要正式上場了的說……

    何況,“人工神經網絡”的優勢在於通用性和準確率,在特定問題上的識別速度,還真不見得能比得上精心優化過的“笨辦法”。

    所以江寒仔細思考了一番之後,還是決定採用“幾何形狀匹配”的思路來做圖像識別。

    這種辦法的優點是識別速度比較快,更容易獲得高幀率。

    編程的複雜度可能稍微高了一點,但這對江寒來說,並不是什麼太大的問題。

    他先新建一個.cpp文件,以及對應的.h頭文件,然後創建一個新的類,用於容納自己的圖像識別算法。

    接下來就可以正式編碼了。

    江寒一邊思考,一邊編寫代碼,靳雪雯在一邊安靜地看著。

    兩人偶爾也交流一兩句,討論一下編程思路、函數的功能之類的問題。

    “江寒哥哥,這幾個語句是做什麼用的啊?”

    “這個是圖像預處理,按照自定義的閾值,將每個像素二值化……”

    “那江寒哥哥,這個函數呢?我有點看不懂……”

    “哦,這個叫膨脹處理,可以讓圖像的輪廓更加明顯……”

    ……

    二十多分鐘後,江寒搞定了圖像預處理的相關代碼。

    這部分要做的事情很簡單,就是將攝像頭拍到的圖像,先處理成灰度圖,然後二值化,只留下led燈部分。

    接下來,要在圖像中遍歷像素、尋找led燈的輪廓。

    這是整個算法中計算量最大的部分。

    好在江寒對圖片的預處理,做得相當到位,將這一步所消耗的時間,基本上壓縮到了極限。

    找到led燈後,下面的事情就簡單了,遍歷輪廓、提取led燈,再匹配篩選、找到機體輪廓,然後就可以鎖定目標攻擊了。

    在做機體輪廓分析時,江寒考慮了一下,使用了模板匹配技術。