回答
您可以使用Windows Image Acquisition (WIA)或/和DirectShow。另一個不錯的選擇是Microsoft Media Foundation(關於capturing video的章節)。
請注意,這是繁瑣的apis,這使得這不是一件容易的事,你可能會更好地使用OpenCV。
至於網絡部分,這取決於您的設計和偏好。
我只是完成了一個類似的任務,我花了好幾天的時間看着各種工具/庫。
DirectShow是Windows的默認API,但它對於簡單任務來說很複雜。 OpenCV在其設備支持方面滯後,videoInput(插件/插件)改進了OpenCV。
我能得到一個簡單的顯示和運行:
http://www.aishack.in/2010/03/capturing-images-with-directx/
使用videoInput庫和OpenCV:
http://muonics.net/school/spring05/videoInput/
OpenCV的可能看起來複雜,但作爲第一鏈接僅顯示其一頁代碼:
#include "stdafx.h"
#include "videoInput.h"
#include "cv.h"
#include "highgui.h"
int main()
{
videoInput VI;
int numDevices = VI.listDevices();
int device1= 0;
VI.setupDevice(device1);
int width = VI.getWidth(device1);
int height = VI.getHeight(device1);
IplImage* image= cvCreateImage(cvSize(width, height), 8, 3);
unsigned char* yourBuffer = new unsigned char[VI.getSize(device1)];
cvNamedWindow("test");
while(1)
{
VI.getPixels(device1, yourBuffer, false, false);
image->imageData = (char*)yourBuffer;
cvConvertImage(image, image, CV_CVTIMG_FLIP);
cvShowImage("test", image);
if(cvWaitKey(15)==27) break;
}
VI.stopDevice(device1);
cvDestroyWindow("test");
cvReleaseImage(&image);
return 0;
}
videoInput.h是您啓動並運行所需的文檔,您可以從中閱讀OpenCV文檔以獲取更多高級功能。在上面的例子中,你會想要拍攝「圖像」,並以某種方式通過網絡傳播。這取決於您的通信協議。
的Windows典型的方法:使用DirectShow從凸輪捕捉視頻,使用RTP protocol(基於UDP)的實時流,也許與live555 library幫助。
DirectShow方式: 實現將音頻/視頻流式傳輸到網絡的源渲染過濾器,以及從網絡接收音頻/視頻的源過濾器。數據流:
web-cam source filter -> your renderer filter -> [network] -> your source filter -> video renderer filter
-> audio renderer filter
Skype使用DirectShow捕獲和DirectX進行繪製。他們使用proprietery網絡協議的安全(我懷疑你需要這樣的東西)
- 1. 從網絡攝像頭捕捉圖像
- 2. 從網絡攝像頭捕捉圖像
- 3. 網絡攝像頭捕捉
- 4. 有沒有辦法從網絡攝像頭捕捉圖像?
- 5. 面部捕捉從網絡攝像頭
- 6. 使用圖片框從網絡攝像頭捕捉圖像
- 7. 從網絡攝像頭捕捉特定尺寸的圖像
- 8. 從網絡攝像頭捕獲圖像
- 9. 從網絡攝像頭捕捉靜態圖像(DirectSHowLib,VB.NET)
- 10. 需要從網絡攝像頭捕捉圖像
- 11. C#從網絡攝像頭捕捉圖像
- 12. 如何在python2中從網絡攝像頭捕捉圖像?
- 13. 從網絡攝像頭「靜止針」捕捉圖像?
- 14. FMJ網絡攝像頭捕捉示例
- 15. 禁用網絡攝像頭圖像捕捉設置彈出
- 16. C#.net - 網絡攝像頭圖像捕捉
- 17. 從網絡攝像頭捕捉單張圖片
- 18. HTML5:如何從網絡攝像頭捕捉圖片?
- 19. 使用html5從網絡攝像頭捕捉音頻和視頻
- 20. 從網絡攝像頭本地捕捉視頻和音頻?
- 21. 我的網絡攝像頭到本地網站(實時流和圖像捕捉)
- 22. 如何從.Net世界的網站捕捉攝像頭圖像?
- 23. 從網絡攝像頭和商店捕獲圖像
- 24. 網絡攝像頭捕捉網絡應用程序
- 25. 你能捕捉從網絡攝像頭的圖像在iphone上的iPhone?
- 26. 網絡攝像頭捕捉有時只有作品
- 27. 從VC++的網絡攝像頭捕捉視頻
- 28. java捕捉攝像頭圖像macbook
- 29. 從網絡攝像頭捕獲圖像,並將其發送到手機
- 30. 如何在linux上從網絡攝像頭捕捉靜態圖像
那麼你推薦我使用OpenCV?在你看來,methos確實使用了像MSN和Skype這樣的程序?感謝:) – xRobot 2011-02-04 11:05:53