OpenCV Freetype2 getTextSize всегда возвращает 1 высоту - PullRequest
1 голос
/ 15 апреля 2020

Я пытаюсь сгенерировать изображения на NanoPi NEO, используя OpenCV. В настоящее время используется Armbian bioni c и OpenCV 4.3.0 (собран из исходников с модулем freetype2). Проблема в том, что метод Freetype2 :: getTextSize () всегда возвращает 1 как высоту текста. Но ширина, кажется, рассчитывается хорошо. И на рабочем столе P C тот же код работает, как и ожидалось.

#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/freetype.hpp>

int main() {
    cv::Ptr<cv::freetype::FreeType2> ft2;
    int baseline = 0;

    ft2 = cv::freetype::createFreeType2();
    ft2->setSplitNumber( 8 );
    ft2->loadFontData("../gobold.ttf", 0);

    cv::Size textSize = ft2->getTextSize("asdfg", 20, -1, &baseline);
    std::cout << "Height = " << textSize.height << " Width = " << textSize.width << std::endl;
    return 0;
}

Этот код возвращает «Высота = 1 Ширина = 49» на Raspberry и «Высота = 18 Ширина = 49» на рабочем столе с тем же .ttf файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...