資源簡介
對工業相機IDS—ueye使用opencv進行的二次開發,基于Windows,用于圖像的存儲顯示處理
代碼片段和文件信息
#include“Idscam.h“
#include?
#include?
using?namespace?std;
?Idscam::Idscam(){
m_pcImageMemory?=?NULL;
m_lMemoryId?=?0;
m_hCam?=?0;???//初始化相機句柄為0
????m_nRenderMode?=?IS_RENDER_FIT_TO_WINDOW;??//設置顯示模式為適應窗口大小
????m_nPosX?=?0;
????m_nPosY?=?0;
????m_nFlipHor?=?0;
????m_nFlipVert?=?0;
????iplImg=cvCreateImageHeader(?cvSize(19361216)84?);
OpenCamera();
}
bool?Idscam::OpenCamera(){
????INT?nRet?=?IS_NO_SUCCESS;
????ExitCamera();
m_hCam?=?(HIDS)?0; ????
nRet?=?InitCamera(&m_hCam?m_hWndDisplay);??//??1.初始化相機
if?(nRet?==?IS_SUCCESS)???//??打開相機成功
{
????????//?查詢相機所用傳感器的類型
is_GetSensorInfo(m_hCam?&m_sInfo);?????//2.查詢信息
GetMaxImageSize(&m_nSizeX?&m_nSizeY);
?????????nRet?=?InitDisplayMode();?????????????//3.選擇顯示模式(位圖)
????????if?(nRet?==?IS_SUCCESS)
????????{
????//?允許接受消息
????is_EnableMessage(m_hCam?IS_DEVICE_REMOVED?NULL);
????is_EnableMessage(m_hCam?IS_DEVICE_RECONNECTED?NULL);
????is_EnableMessage(m_hCam?IS_frame?NULL);
?????is_CaptureVideo(?m_hCam?IS_WAIT?);???//4.設定捕捉模式:自由運行模式下的實時模式
}
????????else
?? ????printf(“初始化顯示模式失敗!“);
return?true;
}
else
{
printf(“沒有發現uEye相機!“);
????return?false;
????}
}
void?Idscam::?ExitCamera()
{
if(?m_hCam?!=?0?)?
{
//?調用?hWnd?=?NULL函數禁用Windows消息
is_EnableMessage(?m_hCam?IS_frame?NULL?);
//?在曝光未開始時停止實時模式或取消硬件觸發的圖像捕捉
is_StopLiveVideo(?m_hCam?IS_WAIT?);
//?釋放分配的圖像內存
if(?m_pcImageMemory?!=?NULL?)
?? is_FreeImageMem(?m_hCam?m_pcImageMemory?m_lMemoryId?);
????????
m_pcImageMemory?=?NULL;
//?關閉相機
is_ExitCamera(?m_hCam?);
????????m_hCam?=?NULL;
}
}
//1.初始化相機
INT?Idscam::InitCamera?(HIDS?*hCam?HWND?hWnd)
{
????INT?nRet?=?is_InitCamera?(hCam?hWnd);
????/************************************************************************************************/
????/*??????????????????????????????????????????????????????????????????????????????????????????????*/
????/*??若相機返回?“IS_STARTER_FW_UPLOAD_NEEDED“表明相機的啟動程序固件和驅動不兼容需要更新固件版本?*/
????/* 這將占用一段時間,可以用?is_GetDuration()來進行該過程的時間預估。??????? ?????????*/
????/*??????????????????????????????????????????????????????????????????????????????????????????????*/????????????????????????
????/************************************************************************************************/
????if?(nRet?==?IS_STARTER_FW_UPLOAD_NEEDED)
????{
??
????????INT?nUploadTime?=?25000;?//默認更新時間為25S
????????is_GetDuration?(*hCam?IS_STARTER_FW_UPLOAD?&nUploadTime);
????????printf(“This?camera?requires?a?new?firmware?!\n“);
????????printf(“The?upload?will?take?about?%f?seconds.?Please?wait?...\n“nUploadTime/1000);
//再次打開相機并自動更新固件
????????*hCam?=?(HIDS)?(((INT)*hCam)?|?IS_ALLOW_STARTER_FW_UPLOAD);?
????????nRet?=?is_InitCamera?(hCam?NULL);?
????}
????printf(“初始化相機成功?!\n“);
????return?nRet;
}
int?Idscam::InitDisplayMode()
{
????INT?nRet?=?IS_NO_SUCCESS;
????
????if?(m_hCam?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-12?09:52??IDS_ueye相機二次開發\
?????目錄???????????0??2016-03-13?15:17??IDS_ueye相機二次開發\IDS_ueye\
?????目錄???????????0??2016-03-13?13:16??IDS_ueye相機二次開發\IDS_ueye\Debug\
?????文件???????38400??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\Debug\OpenVideo.exe
?????文件??????407040??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\Debug\OpenVideo.ilk
?????文件?????1444864??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\Debug\OpenVideo.pdb
?????目錄???????????0??2016-03-13?15:18??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\
?????目錄???????????0??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\
?????文件???????58276??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\CL.read.1.tlog
?????文件?????????928??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\CL.write.1.tlog
?????文件???????88907??2016-03-12?23:08??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\Idscam.obj
?????文件??????????48??2016-03-12?23:08??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo.Build.CppClean.log
?????文件???????46592??2015-11-10?12:08??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo.exe
?????文件?????????406??2016-03-12?23:09??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo.exe.em
?????文件?????????472??2016-03-12?23:09??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo.exe.em
?????文件?????????381??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo.exe.intermediate.manifest
?????文件??????????54??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo.lastbuildstate
?????文件????????2838??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo.log
?????文件?????????208??2016-03-12?23:08??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\OpenVideo_manifest.rc
?????文件????????1458??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\cl.command.1.tlog
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
?????文件???????????2??2016-03-13?13:17??IDS_ueye相機二次開發\IDS_ueye\OpenVideo\Debug\li
............此處省略85個文件信息
- 上一篇:agv小車教學文件
- 下一篇:Unity 科幻風格的全息交互界面UI內含多個Demo
評論
共有 條評論