资源简介

对工业相机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.embed.manifest
     文件         472  2016-03-12 23:09  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\OpenVideo.exe.embed.manifest.res
     文件         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\link-cvtres.read.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link-cvtres.write.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.4476-cvtres.read.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.4476-cvtres.write.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.4476.read.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.4476.write.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.6300-cvtres.read.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.6300-cvtres.write.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.6300.read.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.6300.write.1.tlog
     文件           2  2016-03-13 13:17  IDS_ueye相机二次开发\IDS_ueye\OpenVideo\Debug\link.6540-cvtres.read.1.tlog
............此处省略85个文件信息

评论

共有 条评论