導航:首頁 > 網路連接 > mfc實現連接網路攝像頭

mfc實現連接網路攝像頭

發布時間:2023-02-03 07:48:04

『壹』 使用MFC獲取USB攝像頭圖像保存並在單窗口指定位置顯示

openCV採集攝像圖片並保存

我用代碼
#include "cv.h"
#include "highgui.h"
void main()
{
CvCapture* capture;
capture=cvCreateCameraCapture(0);
assert(capture!=NULL);
IplImage* frame;
cvNamedWindow("camera",1);
while(1)
{
frame=cvQueryFrame(capture);
if(!frame)
break;
cvShowImage("camera",frame);
if(cvWaitKey(33)>=0)
break;
}
cvReleaseImage(&frame);
cvDestroyWindow("camera");
}

連接攝像獲取數據保存作圖片呢(jpg)
一個界面顯示攝像頭採集的視頻就可以了?用MFC拖一個PICTURE控制項上去,另外再加幾句代碼就行。。我這邊有個,但是不知道仍哪裡了。。。就幾個函數。

『貳』 MFC 開啟遠程攝像頭怎麼把看到的內容傳回本地

要通過網路協議 或者是攝像頭廠家的SDK(廠家封裝的網路協議)

『叄』 mfc capDriverConnect函數連接攝像頭進行拍照,但是調用此函數總提示連接視頻源對話框

連接非返回bool類型-1 0表示成功了

『肆』 如何用DirectShow在MFC中作攝像頭捕獲程序

現在在vc上採集視頻常用的方法有三:vfw,directshow,opencv

你是要進行圖像處理的話推薦opencv(具體參考:於仕琪,opencv教程基礎篇中的例3-6,稍作修改,估計就能用於你的工程)

下面貼出我自己編的一個小工程:如有疑問,E-mail:[email protected]
進行opencv的預備操作你要看那本書和逛opencv中文網

如有問題可以和我討論(我也是菜鳥,剛為解決了這個問題竊喜不已)。
1.新建mfc對話框工程,在其中添加一個picture控制項,除了ID以外什麼都不用改

2.在對話框頭文件(沒有Dlg那個)中添加(最好是在「#include "resource.h" // main symbols之後」):
#include "cxcore.h"
#include "cvcam.h"
#include "windows.h"
#include "cv.h"
#include "highgui.h"
3.在工程-》設置-》選擇所有配置-》link(連接)-》對象/庫模塊-》中添加:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib cxcore.lib cv.lib ml.lib cvaux.lib highgui.lib cvcam.lib

4.在需要觸發攝像頭顯示的地方添加:
void CVideomfcDlg::OnButton1()
{
// TODO: Add your control notification handler code here

int ncams = cvcamGetCamerasCount( );//返回可以訪問的攝像頭數目
HWND MyWin=::GetDlgItem(m_hWnd,IDC_VIDEO); //獲得控制項句柄(IDC_VIDEO就是圖片控制項)
cvcamSetProperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE); //選擇第一個攝像頭
int width=240;
int height=240;

cvcamSetProperty(0,CVCAM_PROP_WINDOW, &MyWin); // Selects a window for
cvcamSetProperty(0,CVCAM_RNDWIDTH, &width);
cvcamSetProperty(0,CVCAM_RNDHEIGHT, &height);
cvcamSetProperty(0, CVCAM_PROP_CALLBACK, callback1);
//回調函數將處理每一幀

cvcamInit( );
cvcamStart( );

}
5.改變顯示的圖像序列大小,在窗口屬性設定了以後,添加如下代碼:
int width=320; //這個就是需要顯示的窗口大小
int height=240; //根據自己需要選擇
cvcamSetProperty(0,CVCAM_RNDWIDTH, &width);
cvcamSetProperty(0,CVCAM_RNDHEIGHT, &height);

6.在對話框類中添加callback成員函數(注意,在添加函數的時候,一定要選擇static,不選的話你就自己郁悶去吧,反正我是為了這個郁悶了2個禮拜)
void CVideomfcDlg::callback1(IplImage *image)
{

IplImage* image1 = image;
int i,j;

assert (image);
//獲取當前系統時間
SYSTEMTIME st2=;
GetLocalTime(&st2);
char sss[18]=; //這個是用來存儲所要保存的圖片名的,用的是一個笨辦法,先定義,再修改其中的數組值。

sss[7]=st2.wHour/10+48; //獲取系統當前小時
sss[8]=st2.wHour%10+48;

sss[9]=st2.wMinute/10+48; //獲取系統當前分鍾
sss[10]=st2.wMinute%10+48;

sss[11]=st2.wSecond/10+48; //獲取系統當前秒
sss[12]=st2.wSecond%10+48;

cvSaveImage(sss,image1); //使用系統當前時間為名稱(XXXXXX.jpg)存儲圖片
}
還需要在c盤根目錄下建立一個叫1的文件夾保存圖片。

『伍』 如何用mfc調用電腦上攝像頭並顯示在屏幕上

vc++就能做 ,一步一步根本說不清楚,首先你要完成 攝像頭顯示這個功能,然後就是數學方面的人臉識別的方法了,(其中包括人臉的矯正,和一些復雜區域的保留。)我曾經做過,不過代碼讓我給整丟了,當時我做了4天的時間,做程序記得要一步一步來 一個功能一個功能實現,完了再將功能拼接在一起,這才是面向對象的編程思想。

『陸』 MFC控制外設 舉個例子:怎麼通過MFC怎麼控制攝像頭,是不是和鍵盤一樣有消息相應函數啊或者有自己類封裝

mfc沒有封裝視頻捕獲的api函數,可以通過調用相應函數來實現。
參考
http://blog.csdn.net/byxdaz/article/details/4352778
另外,可通過DirectShow或OpenCV實現。具體資料自己搜吧

『柒』 關於MFC讀取攝像頭

你用的CCD攝像頭是USB么?同時有幾個USB攝像頭存在?
檢查一下cvCaptureFromCAM的參數是否正確。
還有就是不要對cvCapture 進行設置。試試先用默認設置試試看看能不能捕捉。

『捌』 MFC opencv 關於攝像頭的菜鳥問題!

你看看你開辟的動態內存,全部釋放了沒有?還有pFrame pFrame釋放了沒有,可能是內存占滿就就容易死機

閱讀全文

與mfc實現連接網路攝像頭相關的資料

熱點內容
網路用詞躺平怎麼翻譯 瀏覽:38
網路科技公司多少錢 瀏覽:651
宿舍用路由器怎麼共享網路 瀏覽:283
tplink怎麼連接電視跟網路 瀏覽:415
ps4網路運營商聯機哪個好 瀏覽:909
網路考試搜答案軟體 瀏覽:389
網路電視信號是怎麼採集的 瀏覽:896
華為手機玩游戲就沒有網路 瀏覽:198
路由器設置網路隔離 瀏覽:781
基於無線網路多點溫濕度採集系統 瀏覽:361
該微信因使用行為或網路環境異常 瀏覽:87
聯通寬頻電視無線網路連接不上 瀏覽:374
wifi設置好顯示網路不可用 瀏覽:482
無線網路不支持高版本手機 瀏覽:859
網路聊天對著手機傻笑 瀏覽:772
網路配線架和理線器如何打法 瀏覽:440
沃爾沃xc60網路異常 瀏覽:428
無線lan卡怎麼選網路 瀏覽:29
組織領導網路安全管理 瀏覽:959
華為穿戴app顯示網路異常 瀏覽:891

友情鏈接