資源簡介
這是一個VS2017工程,可以直接編譯運行。實現(xiàn)了利用OpenCV來實時播放RTSP視頻流,并能過夠截取圖片保存為文件。為了不影響RTSP視頻流的獲取與播放,圖片的保存在另一個線程里實現(xiàn)。

代碼片段和文件信息
//?Opencv_RTSP.cpp?:?此文件包含?“main“?函數(shù)。程序執(zhí)行將在此處開始并結束。
//
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
using?namespace?cv;
HANDLE?g_mutex;
struct?MatNode
{
Mat?*pMat;
string?strtitle;
};
list?g_matList;
DWORD?WINAPI?threadproc(LPVOID?lpParam)
{
while?(1)
{
MatNode?*pNode?=?NULL;
WaitForSingleobject(g_mutex?INFINITE);
if?(g_matList.size()?>?0)
{
pNode?=?g_matList.front();
g_matList.pop_front();
}
ReleaseMutex(g_mutex);
if?(pNode)
{
imwrite(pNode->strtitle.c_str()?*(pNode->pMat));
delete?pNode->pMat;
delete?pNode;
}
else
{
Sleep(10);
}
}
}
int?main()
{
VideoCapture?cap;
cap.open(“rtsp://192.168.1.160:554/0“);//呵呵,就這一句關鍵
Mat?Camera_CImg;
Mat?Camera_GImg;
cap.set(CV_CAP_PROP_frame_HEIGHT?300);
cap.set(CV_CAP_PROP_frame_WIDTH?300);
if?(!cap.isOpened())
return?1024;
unsigned?int?count?=?0;
g_mutex?=?CreateMutex(NULL?FALSE?NULL);
HANDLE?hThread;
DWORD??threadId;
hThread?=?CreateThread(NULL?0?threadproc?NULL?0?&threadId);
while?(1)
{
cap?>>?Camera_CImg;
if?(Camera_CImg.empty())
break;
timeb?t;
ftime(&t);
struct?tm?*local;
local?=?localtime(&(t.time));
char?szTmp[200]?=?{?0?};
snprintf(szTmp?sizeof(szTmp)?-?1?“d:\\tmp\\%02d%02d%02d_%03d.jpg“?local->tm_hour?local->tm_min?local->tm_sec?t.millitm);
#if?0
Mat?*pMat?=?new?Mat();
Camera_CImg.copyTo(*pMat);
MatNode?*pNode?=?new?MatNode;
pNode->pMat?=?pMat;
pNode->strtitle?=?szTmp;
WaitForSingleobject(g_mutex?INFINITE);
g_matList.push_back(pNode);
ReleaseMutex(g_mutex);
#endif
#if?1
imshow(“input“?Camera_CImg);
if?(cvWaitKey(5)?==?‘q‘)
break;
#endif
}
system(“pause“);
return?0;
}
//?運行程序:?Ctrl?+?F5?或調試?>“開始執(zhí)行(不調試)”菜單
//?調試程序:?F5?或調試?>“開始調試”菜單
//?入門提示:?
//???1.?使用解決方案資源管理器窗口添加/管理文件
//???2.?使用團隊資源管理器窗口連接到源代碼管理
//???3.?使用輸出窗口查看生成輸出和其他消息
//???4.?使用錯誤列表窗口查看錯誤
//???5.?轉到“項目”>“添加新項”以創(chuàng)建新的代碼文件,或轉到“項目”>“添加現(xiàn)有項”以將現(xiàn)有代碼文件添加到項目
//???6.?將來,若要再次打開此項目,請轉到“文件”>“打開”>“項目”并選擇?.sln?文件
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-12-11?09:11??Opencv_RTSP\
?????文件????????2635??2018-12-10?12:31??Opencv_RTSP\Opencv_RTSP.cpp
?????文件????????8700??2018-12-11?09:11??Opencv_RTSP\Opencv_RTSP.vcxproj
?????文件?????????956??2018-12-11?09:11??Opencv_RTSP\Opencv_RTSP.vcxproj.filters
?????文件?????????165??2018-12-10?10:18??Opencv_RTSP\Opencv_RTSP.vcxproj.user
評論
共有 條評論