本章節(jié)將介紹 OpenCV 的移植方法,及結合 Qt 例程去進一步學習 OpenCV 識別圖像。本章節(jié)使用的資料已經放到了開發(fā)板網盤資料中,路徑為:“11_Linux 系統(tǒng)開發(fā)進階\86_章節(jié)_移植 OpenCv3.4.1 使用資料”。
2.安裝 cmake 和 cmake-gui 工具 安裝完成提示安裝成功,作者是已經安裝過了,如圖 86.2.3 所示: 3. 進入 build 目錄下,執(zhí)行指令 cmake-gui,開始配置 OpenCV 的環(huán)境執(zhí)行完成后會出現圖形化工具cmake-gui。指定我們源碼的所在路徑和構建目錄。勾選 Advanced,再點擊 Configure 或者 Generate。 圖 86.2.4 4.選擇 Unix Makefiles,然后選擇 Specify options for cross-compiling,再點擊 Next。 5.填寫交叉編譯器的路徑,注意紅色部分請?zhí)顚懽约旱慕徊婢幾g器路徑。 6. 我們還需要配置一些信息,點擊如下圖 CMAKE 處,在 CMAKE_EXE_LINKER_FLAGS 處添加上-lpthread -lrt -ldl。添加這些是指定依賴庫的鏈接參數。 7.再在 CMAKE_INSTALL_PREFIX 處指定安裝目錄,我們在上面已經新建了 install 安裝目錄。我們直接指定到該目錄即可。如果不指定,它會默認安裝到 Ubuntu 系統(tǒng)目錄/usr/local 下。這樣會直接替換我們/usr/local 下的庫。 8.至此我們配置完,現在我們需要生成 Makefile 等文件,我們先點擊 Configure,再點擊 Generat 就可以生成了。點擊了 Generate 后看到信息像如圖 86.2.10 一樣,表明生成成功。若出現報錯,請根據對話框里的內容指定的文件去自行去檢查錯誤!一般都是交叉編譯器路徑不對造成的。配置完成生成文件后,我們點擊左上角關閉這個圖形化配置界面即可。 86.3 譯 編譯 OpenCV 源碼 2.修改完成后,返回于是 build 目錄下,可以看到 bulid 目錄下已經準備了構建文件。 3.我們直接輸入 make -j 16 構建即可。 4.編譯完成如圖 86.3.4,如果有出錯,先刪除 build 目錄下的所有文件,按第 2 節(jié)重新再來一次! 5.輸入 make install 安裝到指定目錄 安裝成功如圖 6.進入 install 目錄下有如下幾個目錄表明成功。到此完成編譯! 86.4 打包文件系統(tǒng) 2.搭建完成后。在 Ubuntu 終端執(zhí)行下面的指令來使能 Qt 交叉編譯的環(huán)境變量。Ubuntu# source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi 3.再執(zhí)行 make 編譯 Qt 工程,編譯完成如圖 4.編譯完成后在當前目錄生成可執(zhí)行文件 opencv_pic,如圖 所示。 5.我們需要把 opencv_pic 和 1.bmp 圖片拷貝到開發(fā)板的/home/root/目錄下。 然后把 home/topeet/opencv/install/lib 目錄下也就是 opencv 的安裝目錄下的 lib 下的庫文件拷貝到開發(fā)板 Yocto 系統(tǒng)的 lib/目錄下,如圖 86.4.6 所示。 6.然后我們使用命令 tar -vcjf ./rootfs.tar.bz2 .將文件系統(tǒng)打包 86.5 燒寫文件系統(tǒng) 如果您的板子是 NAND 的,修改 cfg.init 如圖所示: 2.將 rootfs.tar.bz2 通過 ssh 軟件放入 mfgtools 燒寫目錄 mfgtools_for_6ULL\Profiles\Linux\OSFirmware\files\linux 下面,uboot 和 kernel 使用 i.MX6ULL 終結者光盤資料里開發(fā)板系統(tǒng)鏡像下面的鏡像,如圖 所示路徑的文件 3.撥碼開關 2 鍵撥為 1,其他鍵為 0,設置成 USB 串行啟動,然后點擊下圖按鈕進行燒寫。 燒寫完成進度條會變成綠色,如圖所示: 86.6 測試開發(fā)板 如果您的板子是 NAND 的,撥碼開關撥成如圖 所指箭頭 然后啟動進入 uboot 模式,設置選擇屏幕 最終在屏幕上顯示圖像 |