Exemple #1
0
//////////////////////////////////////////////////////////////////////////////////
// getFPSStep --------------------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////
double ofxUeye::getFPSStep()
{
	double min, max, step;
	is_GetFrameTimeRange  (m_hCam, &min, &max, &step);
	return step;
}
INT UEyeCamDriver::setFrameRate(bool& auto_frame_rate, double& frame_rate_hz) {
    if (!isConnected())
        return IS_INVALID_CAMERA_HANDLE;

    INT is_err = IS_SUCCESS;

    double pval1 = 0, pval2 = 0;
    double minFrameTime, maxFrameTime, intervalFrameTime, newFrameRate;

    // Make sure that auto shutter is enabled before enabling auto frame rate
    bool autoShutterOn = false;
    is_SetAutoParameter(cam_handle_, IS_GET_ENABLE_AUTO_SENSOR_SHUTTER, &pval1, &pval2);
    autoShutterOn |= (pval1 != 0);
    is_SetAutoParameter(cam_handle_, IS_GET_ENABLE_AUTO_SHUTTER, &pval1, &pval2);
    autoShutterOn |= (pval1 != 0);
    if (!autoShutterOn) {
        auto_frame_rate = false;
    }

    // Set frame rate / auto
    pval1 = auto_frame_rate;
    if ((is_err = is_SetAutoParameter(cam_handle_, IS_SET_ENABLE_AUTO_SENSOR_FRAMERATE,
                                      &pval1, &pval2))
        != IS_SUCCESS) {
        if ((is_err = is_SetAutoParameter(cam_handle_, IS_SET_ENABLE_AUTO_FRAMERATE,
                                          &pval1, &pval2))
            != IS_SUCCESS) {
            std::cerr << "Auto frame rate mode is not supported for UEye camera '"
                      << cam_name_ << "' (" << err2str(is_err) << ")"
                      << std::endl;
            auto_frame_rate = false;
        }
    }
    if (!auto_frame_rate) {
        // Make sure that user-requested frame rate is achievable
        if ((is_err = is_GetFrameTimeRange(cam_handle_, &minFrameTime,
                                           &maxFrameTime, &intervalFrameTime))
            != IS_SUCCESS) {
            std::cerr << "Failed to query valid frame rate range from UEye camera '"
                      << cam_name_ << "'" << std::endl;
            return is_err;
        }
        CAP(frame_rate_hz, 1.0 / maxFrameTime, 1.0 / minFrameTime);

        // Update frame rate
        if ((is_err = is_SetFrameRate(cam_handle_, frame_rate_hz, &newFrameRate))
            != IS_SUCCESS) {
            std::cerr << "Failed to set frame rate to " << frame_rate_hz
                      << " MHz for UEye camera '" << cam_name_ << "'" << std::endl;
            return is_err;
        } else if (frame_rate_hz != newFrameRate) {
            frame_rate_hz = newFrameRate;
        }
    }

    std::cout << "Updated frame rate: "
              << ((auto_frame_rate) ? "auto" : to_string(frame_rate_hz))
              << " Hz" << std::endl;

    return is_err;
}
Exemple #3
0
//////////////////////////////////////////////////////////////////////////////////
// getFPSMax ---------------------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////
double ofxUeye::getFPSMax()
{
	double min, max, step;
	is_GetFrameTimeRange  (m_hCam, &min, &max, &step);
	return (1.0 / min);
}