/include/boost/thread/pthread/mutex.hpp:111: boost :: mutex :: ~ mutex (): утверждение `! res 'не удалось - PullRequest
0 голосов
/ 05 марта 2020

в Ubuntu 16.04, я скомпилировал spinnaker SDK src / Acquisition / make, получил «Acquisition» в bin / Когда я его запускаю, я получил ошибку: Количество обнаруженных камер: 1

Работает пример для камеры 0 ...

* ИНФОРМАЦИЯ ОБ УСТРОЙСТВЕ *

DeviceID: 18073382 DeviceSerialNumber: 18073382 DeviceVendorName: Point Grey Research DeviceModelName: Grasshopper3 GS3-U3-32S4M DeviceType: U3V DeviceDisplayName: Point Grey Research DeviceAccessStatus: OpenReadWrite DeviceVersion: FW: v2.25.3.00 FPGA: v2.02 DeviceDriverVersion: нет: 0.0.0.0 DeviceUserID: DeviceIsUpdater: 0 DeviceInstanceId: 0113C726 Расположение устройства: Тип устройства: Скорость использования объекта: Ускор. xml GenICamXMLLРасположение: Device GenICamXMLPath: DeviceU3VProtocol: 1

* ПОЛУЧЕНИЕ ИЗОБРАЖЕНИЯ *

Режим захвата установлен на непрерывный ... Невозможно начать получение изображения. Отмена с ошибкой -1010 ...

Пример камеры 0 завершен ...

Готово! Нажмите Enter, чтобы выйти ...

Acquisition_ C: /softwarelib/Boost/boost_1_60_0/GCC_5_3_1/linux_cpp11/release/amd64/include/boost/thread/pthread/mutex.hpp:111: boost :: mutex :: ~ mutex (): утверждение `! res 'не удалось

Сам пример кода вообще не использует mutex.

1 Ответ

0 голосов
/ 05 марта 2020

Эта ошибка вызвана недостаточным выделением памяти usbfs. Информацию о том, как увеличить значение до 1000, см. В разделе 3 файла readme для спинакера:

===================== ================================================== =======

3. ПРИМЕЧАНИЯ, КАСАЮЩИЕСЯ USB

В Linux системах объем памяти USB-FS по умолчанию ограничен 16 МБ или меньше. Чтобы увеличить этот предел для использования всех возможностей аппаратного обеспечения обработки изображений, в систему необходимо внести незначительные изменения.

Чтобы ПОСТОЯННО изменить память USB-FS:

1. Open the /etc/default/grub file in any text editor. Find and replace:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

with this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=1000"

2. Update grub with these settings:
$ sudo update-grub

3. Reboot and test a USB 3.1 camera.

Если этот метод не может установить ограничение памяти, чтобы ВРЕМЕННО изменить память USB-FS до следующей перезагрузки, выполните следующую команду: $ sudo sh - c 'echo 1000> / sys / module / usbcore / parameters / usbfs_memory_mb '

Чтобы убедиться, что лимит памяти был успешно обновлен, выполните следующую команду: $ cat / sys / module / usbcore / parameters / usbfs_memory_mb

Если используется несколько камер USB3, USB- Ограничение памяти FS может превышать 1000. Более подробную информацию об этих изменениях можно найти по адресу: https://www.flir.com/support-center/iis/machine-vision/application-note/understanding-usbfs-on-linux

...