WedX - журнал о программировании и компьютерных науках

QML отображаемые фотографии камеры в ListView уничтожаются

Я делаю фотографии с помощью компонента Camera и добавляю их в ListView. Проблема в том, что из определенного количества фотографий, около 10 в моих тестах, некоторые фотографии в списке уничтожаются, и я получаю следующую ошибку:

QML Image: Failed to get image from provider: image://camera/preview_7
QML Image: Failed to get image from provider: image://camera/preview_4

На картинке видно, что изображения с индексом 3 и 6, соответствующие превью 4 и 7, не отображаются, но делегат все еще присутствует, поскольку создается текстовый элемент, содержащий индекс.

введите здесь описание изображения

Вот код:

//the Camera
Camera{
  id:camera
  imageCapture {
    onImageCaptured: {
      addPhotoInModel(preview);
    }
  }
}

VideoOutput {
  source: camera
  anchors.fill: parent
}

//the ListView
function addPhotoInModel(image_url)
{
  var imgId= calculateRandomId();

  imagesListModel.append({"photoId": imgId, 
  "value":Qt.resolvedUrl(image_url)});
}

ListView{
  ....
  model:imagesListModel

  delegate:
  Rectangle{
    width:311; height:175;
    Image{
      width:parent.width; height:parent.height
      source:model.value
    }
    Text{anchors.centerIn:parent; text:index}
  }
}

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

Спасибо.

19.03.2018

  • Исправьте пример кода with:311:height:175; 19.03.2018

Ответы:


1

Я решил это, используя изображения, которые сохраняются на диске с помощью camera.imageCapture:

Camera{
  id:camera
  imageCapture {
    onImageSaved: {
      addPhotoInModel("file:///"+camera.imageCapture.capturedImagePath);
    }
  }
}
20.03.2018
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]