1. 程式人生 > >計算機視覺與影象處理學習筆記(二)win32+mingw+opencv搭建

計算機視覺與影象處理學習筆記(二)win32+mingw+opencv搭建

本來是想接著第二章學習的,但是感覺理論性有點強,瞭解基本概念後還是從Opencv來,遇到問題再切換。

關於opencv的下載與配置參考:

配置的過程真是困難重重,許多教程就是睜著眼睛說瞎話,我配置的主要流程如下:

1.下載解壓opencv;

2.下載安裝cmake;

由於最新版本的opencv只有vs10,vs11,vs12,所以需要用cmake自己製作mingw版本的opencv庫。

3.使用cmake呼叫mingw去編譯下載下來的OpenCV原始碼,詳細步驟參見上一步的部落格連結。

這裡遇到的主要問題是在configure的時候無法通過,要注意mingw版本和opencv版本的一致

,我剛開始就是因為mingw版本太老搞了好久。還有就是路徑不要包含中文。最後如果在mingw32-make的時候發現'BTNS_AUTOSIZE' was not declared in this scope這種錯誤,需要在mingw的bin資料夾下修改commctrl.h檔案。

我發現網上的許多教程在這一步都有意無意的帶過許多重要細節,並不敢確信“寫”這些教程的人真的是原創的文章。

4.做到這裡成功用mingw編譯了opencv庫,後面就是按照網上的傳統教程進行下去,主要是環境變數的設定和庫的新增,並沒有遇到太大的困難。

#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
    // 讀入一張圖片(遊戲原畫),可自己設定路徑
    Mat img=imread("C:\\Users\\Administrator\\Desktop\\psb.jpg");
    // 建立一個名為 "遊戲原畫"視窗
    namedWindow("遊戲原畫");
    // 在視窗中顯示遊戲原畫
    imshow("遊戲原畫",img);
    // 等待60000 ms後窗口自動關閉
    waitKey(60000);
}
最後效果如圖

說實話,用mingw學習opencv的人本來就少,配置的過程中也看了很多部落格、論壇什麼的,之所以看了這麼多,就是因為很多作者並不負責,不知從哪裡拉了一段過來就說自己原創,導致我們這些初學者實踐起來並不是這麼回事,走了很多彎路。

希望大家都能從這篇文章中受益。