天天看點

basler相機參數設定

static void SetupCamera( Pylon::CInstantCamera& camera, int index)

{  

     using namespace GenApi;

     //擷取裝置節點清單,用于擷取節點指針并指派

     INodeMap &cameraNodeMap = camera.GetNodeMap();

    if(index == 0)

    {

        CEnumerationPtr  ptrTriggerSel = cameraNodeMap.GetNode ("TriggerSelector");

        ptrTriggerSel->FromString("FrameStart");

        CEnumerationPtr  ptrTrigger  = cameraNodeMap.GetNode ("TriggerMode");

         ptrTrigger->SetIntValue(0);

    }

    else if(index == 1)

    {

        //設定為外觸發,并指定觸發源

        CEnumerationPtr  ptrTriggerSel = cameraNodeMap.GetNode ("TriggerSelector");

        ptrTriggerSel->FromString("FrameStart");

        CEnumerationPtr  ptrTrigger  = cameraNodeMap.GetNode ("TriggerMode");

        ptrTrigger->SetIntValue(1);

        CEnumerationPtr  ptrTriggerSource = cameraNodeMap.GetNode ("TriggerSource");

        ptrTriggerSource->FromString("Line1");

    }

    else if(index == 2)

    {

        const CFloatPtr exposureTime = cameraNodeMap.GetNode("ExposureTimeAbs");

        exposureTime->SetValue(theApp.m_iExposeTime);

    }

    else if(index == 3)

    {

        const CIntegerPtr cameraGen = cameraNodeMap.GetNode("GainRaw");

        cameraGen->SetValue(theApp.m_iGain);

    }

    else if(index == 4)

    {

        const CBooleanPtr frameRate = cameraNodeMap.GetNode("AcquisitionFrameRateEnable");

        frameRate->SetValue(TRUE);

        const CFloatPtr frameRateABS = cameraNodeMap.GetNode("AcquisitionFrameRateAbs");

        frameRateABS->SetValue(theApp.m_iHZ);

    }

    else if(index == 5)

    {

        const CIntegerPtr widthPic = cameraNodeMap.GetNode("Width");

        widthPic->SetValue(theApp.m_Width);

    }

    else if(index == 6)

    {

        const CIntegerPtr heightPic = cameraNodeMap.GetNode("Height");

        heightPic->SetValue(theApp.m_Height);

    }

    else if(index == 7)

    {

        CEnumerationPtr  ptrLineSource = cameraNodeMap.GetNode ("LineSource");

        ptrLineSource->SetIntValue(2);

    }

}

繼續閱讀