The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Рисование в Ubuntu (Qt, OpenCV), !*! Алексей, 09-Дек-16, 19:14  [смотреть все]
Доброго времени суток!

У меня, как выяснилось, весьма нетривиальная задача. Нужно под Ubuntu 14 написать приложение, которое автоматически создает графический файл (коллаж), включающий в себя фотографии и текстовые подписи. Сам коллаж я вполне успешно делаю на OpenCV. Но здесь встают следующие ограничения:
- надписи должны быть на русском языке;
- приложение должно быть консольным (должно работать без "иксов" в виде демона и запускаться через init.d).

Проблема началась тогда, когда обнаружилось, что OpenCV (как это ни странно) не дружит с UTF8, а следовательно, и с русским языком. Эту ветку развития пришлось забросить.

Тогда я пошел в обход, сделал проект в Qt5 и воспользовался классами QImage и QPainter, потом скопировал полученное изображение в матрицу OpenCV (благо, Qt с русским языком дружит). Но здесь не вышло с запуском приложения в виде демона: QPainter при запуске из-под консоли (класс QApplication был заменен на QCoreApplication) выдает ошибку сегментирования.

Когда не вышло здесь, я вернул QApplication на место и попробовал запустить своё приложение с ключом -platform offscreen, что исключило все вылеты программы, но возникла проблема со шрифтами: при старте приложения выдавалась ошибка QFontDatabase: Cannot find font directory, и приложение снова вываливалось с ошибкой сегментирования.

Тогда я установил переменную окружения QT_QPA_FONTDIR=/usr/share/fonts. Ошибка перестала возникать, но вместо русских символов на коллаже стали отображаться пустые квадратики.

Может быть, кто-нибудь мне сможет подсказать какую-то альтернативу, или то место, где я не додавил проблему до её логичного решения?

UPD: попробовал альтернативу - библиотеку CImg, но, как выяснилось, с русским языком не дружит и она...

  • Рисование в Ubuntu (Qt, OpenCV), !*! тень_pavel_simple, 19:30 , 13-Дек-16 (1)
    >[оверквотинг удален]
    > Когда не вышло здесь, я вернул QApplication на место и попробовал запустить
    > своё приложение с ключом -platform offscreen, что исключило все вылеты программы,
    > но возникла проблема со шрифтами: при старте приложения выдавалась ошибка QFontDatabase:
    > Cannot find font directory, и приложение снова вываливалось с ошибкой сегментирования.
    > Тогда я установил переменную окружения QT_QPA_FONTDIR=/usr/share/fonts. Ошибка перестала
    > возникать, но вместо русских символов на коллаже стали отображаться пустые квадратики.
    > Может быть, кто-нибудь мне сможет подсказать какую-то альтернативу, или то место, где
    > я не додавил проблему до её логичного решения?
    > UPD: попробовал альтернативу - библиотеку CImg, но, как выяснилось, с русским языком
    > не дружит и она...

    imagemagic/graphicsmagic

  • Рисование в Ubuntu (Qt, OpenCV), !*! _Mister, 05:46 , 28-Июн-17 (4)
    А как вы без X-ов сделаете. Только в Ncurses.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру