通過前面13天的學習,對Dart基礎有了系統的熟悉,今天我們開始學習Dart類和對象,本文主要學習Dart類,包括類方法,構造器,對象類型,實例變數,隱性介面,類變數和類方法等…… ...
使用Qt Creator調用opencv
本案例使用Visual Studio 2015+Opencv4.6.0+Qt Creator 5.9.1
一、構建套件
在構建套件之前,需正確安裝Visual Studio、Opencv和WindowsSDK,可參考博客1、博客2
當正確安裝後,一般情況下,在Qt Creator會自動識別到VS的編譯器和調試器,並會自動構建好。若調試器未能自動識別,可自行找到相關的安裝路徑(cdb.exe文件),然後添加,自行命名好即可。
圖1 自動識別的編譯器 圖2 自動識別的調試器及路徑同理,若套件未能自動構建,則自己手動選擇編譯器和調試器。
圖3當未構建好或構建的路徑不正確時會顯示紅色感嘆號,若沒有調試器則會顯示黃色感嘆號(此時可以編譯運行,但無法調試)。
二、創建一個項目或載入已有項目
2.1創建項目
為簡單起見,案例將創建一個Qt的控制台應用,如圖4所示:
圖4 圖5根據提示依次輸入相關信息,在套件選擇頁面中選擇自己構建的套件。本案例將選擇MSVC 2015 x64的套件,其為VS2015的編譯器,同時對應的opencv也應當是支持VS2015的動態庫(什麼編譯器編譯出的動態庫就用什麼編譯器,有不少人是用MinGW,看個人喜好)。接著根據提示進行相關操作即可。
註意:選擇MSVC系列編譯器需要註意編碼問題(針對源文件,如main.cpp等文件),網路有很多相關的解決辦法,可自行查找。我認為一個很方便的做法是通過其他文本編輯器(如notepad++)將源文件轉為utf-8-bom格式(如圖6所示),然後在Qt Creator中重新載入。
圖62.2添加opencv庫
第一種方式,採用自動添加庫,第二種和方式是直接在pro文件中寫LIBS、INCLUDEPATH相關代碼,後續複製即可。
採用自動添加庫時,右擊項目->選擇添加庫->選擇windows、動態庫、為debug版本添加‘d’作為尾碼->分別選擇對應的庫文件和include文件夾->依次操作點擊完成。
如
庫文件路徑:H:\Opencv460\opencv\build\x64\vc14\lib
包含路徑:H:\Opencv460\opencv\build\include
圖7
圖8 圖9 圖10 圖11 圖12自此添加完成,自動在pro文件夾添加相關代碼,如圖13所示。
圖13
註意,如果在添加庫之前已經進行了構建(或運行),生成了“build-untitled1-Desktop_Qt_5_9_1_MSVC2015_64bit-Debug”文件夾,這通常會導致找不到“opencv.hpp”文件夾等錯誤,此時需要刪除該文件夾重新構建(很多情況下只要是編輯了pro文件,就需要刪除該生成文件夾再運行)。
圖14如果未在之前將源文件轉為utf-8-bom格式,這將導致中文字元亂碼,從而可能導致imread函數讀取含中文路徑的圖片失敗等問題。
在一些情況下,點擊運行後,界面一直顯示如圖13所示,往控制臺中按回車會關閉並停止運行,該類問題暫不知道什麼原因,而再重新創建工程又無該問題。
圖15