Как я могу исправить ошибку камеры в Qt5.13.1? - PullRequest
0 голосов
/ 11 ноября 2019

Я хочу отрегулировать настройки, связанные с экспозицией в моей камере. Например, я пытаюсь использовать функцию camera.searchAndLock(), но она не работает.

Я пытался запустить пример камеры Qt, но для следующего кода у меня всегда статус Unlocked.

switch (m_camera->lockStatus()) {
    case QCamera::Searching:
    case QCamera::Locked:
        m_camera->unlock();
        break;
    case QCamera::Unlocked:
        m_camera->searchAndLock();
    }

Я пишу следующие коды QML, но следующий код всегда возвращает unlocking focus.

if (camera.lockStatus == Camera.Unlocked) {
    camera.searchAndLock();
    console.log("searching focus...")                                
   }                                 
   else {                           
        camera.unlock();                        
        console.log("unlocking focus...")                            
     }

Я хочу изменить настройки, связанные с экспозицией в моей камере, следующими кодами, но все они делаютне работает:

camera.searchAndLock()    
camera.exposure.exposureCompensation = value
camera.exposure.spotMeteringPoint.x=value
camera.exposure.spotMeteringPoint.y=value
camera.exposure.manualShutterSpeed = value
camera.exposure.iso  = value
camera.exposure.manualAperture=value

Я пытаюсь использовать функцию searchAndLock() для начала фокусировки, расчета экспозиции, но после запуска этой функции состояние моей камеры по-прежнему Unlocked, а не Searching.

Что я могу сделать с этой ошибкой? Какая версия Qt, которую я могу установить, не имеет этой ошибки?

Мне удалось исправить ошибку SerialPort, прочитав эту ссылку: Как заставить работать QSerialPort из Qt5.13.1?

Есть ли способ исправить эту ошибку мной?

Qt Версия: Qt 5.13.1 (MSVC 2017, 32 бит), Платформа: Windows 10

1 Ответ

0 голосов
/ 13 ноября 2019

Полагаю, вам следует проверить, что ваша камера действительно поддерживает любые поддерживаемые режимы фокусировки, и что это за режимы:

console.debug("supported focus modes: " + focus.supportedFocusModes
                              + ", FocusManual: " + CameraFocus.FocusManual
                              + ", FocusHyperfocal: " + CameraFocus.FocusHyperfocal
                              + ", FocusInfinity: " + CameraFocus.FocusInfinity
                              + ", FocusAuto: " + CameraFocus.FocusAuto
                              + ", FocusContinuous: " + CameraFocus.FocusContinuous
                              + ", FocusMacro: " + CameraFocus.FocusMacro
                              )

Используя информацию, представленную в результате этого, вы можете установить режим фокусировки. подходит для вашего оборудования камеры.

...