Я пытаюсь сгенерировать изображения на 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 файл.