91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

opencv+udp+c++的攝像頭實時傳輸顯示源碼,里面包括client server兩個c++源代碼。用的時候需要導入opencv庫和附加依賴項WS2_32.lib。在開發板也測試過。只需在開發板上移植opencv的動態鏈接庫(該庫我已經上傳)和修改client.cpp中的一些函數就可以獲取開發板上攝像頭視頻并實時顯示。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?<./opencv/cv.h>??
#include?<./opencv/cxcore.h>??
#include?<./opencv/highgui.h>??
?

void?main()
{
?WORD?wVersionRequested;
?WSADATA?wsaData;
?int?err;
?
?const?int?blocksize=28880;
?//定義包結構??
?struct?recvbuf//包格式??
?{??
?????char?buf[blocksize];//存放數據的變量??
?????int?flag;//標志??????????
??};?
?struct?recvbuf?data;?

?
?wVersionRequested?=?MAKEWORD(?2?0?);
?
?err?=?WSAStartup(?wVersionRequested?&wsaData?);
?if?(?err?!=?0?)?{
??return;
?}
?
?if?(?LOBYTE(?wsaData.wVersion?)?!=?2||HIBYTE(?wsaData.wVersion?)?!=?0?)?{
??WSACleanup(?);
??return;
?}
?SOCKET?sockClient=socket(AF_INETSOCK_DGRAM0);
?
?SOCKADDR_IN?addrSrv;
?addrSrv.sin_addr.S_un.S_addr=inet_addr(“127.0.0.1“);
?addrSrv.sin_family=AF_INET;
?addrSrv.sin_port=htons(6000);

?int?nRecvBuf=1024*1024*10;//接收緩存10M??
?setsockopt(sockClientSOL_SOCKETSO_RCVBUF(const?char*)&nRecvBufsizeof(int));
??//聲明IplImage指針??
??IplImage*?pframe?=?NULL*frame_copy=0;??
??
?//獲取攝像頭??
??CvCapture*?pCapture?=?cvCreateCameraCapture(0);??
?
??//創建窗口??
??//cvNamedWindow(“video“?1);??
???
??//顯示視屏??
??/*while(1)??
??{??
??????pframe=cvQueryframe(?pCapture?);??
??????if(!pframe)break;??
??????cvShowImage(“video“pframe);??
??????char?c=cvWaitKey(33);??
??????if(c==27)break;??
??}??
?*/

//IplImage?*frame=NULL?*frame_copy=0;

while(1){
//memset(data.buf?0?sizeof(char)*blocksize);

pframe=cvQueryframe(pCapture);????????????????????????????//取幀操作??
//printf(“the?deeps?is?%d;?the?channel?is?:%d\n“pframe->depthpframe->nChannels);
if(!pframe)break;??
//cvShowImage(“video“frame);

if(pframe)??
????{?
char*?img=pframe->imageData;????????????????????????//指向該幀的數據矩陣??
????????????for(int?i=0;i<32;i++)????????????????????//640*480*3=?921600?
{
for(int?k=0;k????????????????????{?
data.buf[k]=img[i*blocksize+k];???????
?}??
????????????????????if(i==31)?????????????????????????//標識一幀中最后一個數據包?????????????
????????????????????{??
data.flag=2;???
}??
????????????????????else??
????????????????????{??
data.flag=1;??
????????????????????}??
?sendto(sockClient(char*)(&data)sizeof(data)0(SOCKADDR*)&addrSrvsizeof(SOCKADDR));?
}??????
cvReleaseImage(?&frame_copy?);???//?退出之前結束底層api的捕獲操作
Sleep(25);

}
}
?cvReleaseCapture(&pCapture);
?closesocket(sockClient);
?WSACleanup();
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????目錄??????????0??2016-01-21?18:52??opencv+UDP的攝像頭視頻實時傳輸

?????文件???????2532??2016-01-21?16:53??opencv+UDP的攝像頭視頻實時傳輸\client.cpp

?????文件???????3163??2016-01-21?17:08??opencv+UDP的攝像頭視頻實時傳輸\server.cpp

-----------?---------??----------?-----??----

?????????????????5695????????????????????3


評論

共有 條評論