2012-09-07 42 views
2

最近我被開啓了圖像和數據處理的opencv編程庫,並試圖讓軟件工作的過程中,我已經決定簡單地厭倦了讓庫到底有多複雜我的電腦。是否有另一個庫或框架允許用戶使用C++與攝像頭和圖像處理進行交互,但是不需要這麼繁瑣的工作來獲取和安裝OpenCV?使用C++進入圖像處理的有效方法?

編輯:我與opencsv很難的原因是因爲我不想用IDE來開發我的任何程序,我試圖學習如何使用gdb從cmd行和vim編輯

+1

Eclipse有插件和安裝與更新。 C++,java,... http://opencv.willowgarage.com/wiki/Eclipse http://docs.opencv.org/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html –

+0

誰說你需要一個IDE來使用OpenCV? – Sassa

+0

我知道你不知道,但是在沒有IDE的情況下安裝和使用opencv的方法非常複雜 – imkendal

回答

1

您可以使用此in 8-steps

#include <cv.h> 
#include <highgui.h> 

using namespace cv; 

int main(int argc, char** argv) 
{ 
    Mat image; 
    image = imread(argv[1], 1); 

    if(argc != 2 || !image.data) 
    { 
     printf("No image data \n"); 
     return -1; 
    } 

    namedWindow("Display Image", CV_WINDOW_AUTOSIZE); 
    imshow("Display Image", image); 

    waitKey(0); 

    return 0; 
} 
在Linux中

Windows also needs 8-steps.

You can call MATLAB engine from C/C++ . Matlab has image-processing too!

+0

我不希望爲我的編程使用IDE,但是如果我要通過eclipse安裝opencv插件和庫,那麼我能夠從命令行編輯和編譯我的程序嗎? – imkendal

+0

有許多命令行選項/參數,Eclipse使用它們。但設置路徑變量可能令人沮喪。 –

2

你可以指定你正在使用的平臺,你遇到了哪些問題?

我懷疑你的許多問題本身並沒有涉及到OpenCV,而是你在任何C++ lib中都會遇到的一般問題。例如。獲得一個64位編譯器,一個體面的IDE,編譯OpenCV,如果需要的話還有一些依賴。這實際上確實可以成爲一種創新。你在使用什麼平臺?我發現具有良好軟件包存儲庫的Linux發行版使這種方式更容易,因爲您可以非常輕鬆地設置所需的工具,並且通常通過存儲庫安裝許多構建依賴項,而無需自己編譯它們。

如果確實有嚴格的OpenCV相關問題,ITK(http://www.itk.org/)可能是一個很好的選擇。

最好,

+0

我正在使用Windows 7。在閱讀本文之前,我發現了一種讓程序正常工作的方法,但它仍然不是我想要的。我確實有一臺Linux機器,我可以嘗試在另一個位置開始工作,過去我也發現,在Linux上安裝某些軟件可以更輕鬆無憂。感謝ITK參考。 – imkendal

0

當我做了很多圖像處理,我會處理位圖。將文件讀入內存並記下BITMAPFILEHEADER。有更多的信息,但您可以查找像素數據的偏移量。你也可以使用Directshow來從網絡攝像頭獲取幀。

創建包裝,露出像getPixel()等

一些用戶友好的功能,然後我會看一些文件,+博客等,看看我是否可以寫算法自己,有時實在是太容易通過一些圖片說一個FaceTracking(ImageData數據)函數。