mirror of
https://github.com/opencv/opencv.git
synced 2025-06-08 01:53:19 +08:00
Merge pull request #10575 from ioxp:getFontScale
This commit is contained in:
commit
59915a3fc9
@ -4730,6 +4730,20 @@ CV_EXPORTS_W Size getTextSize(const String& text, int fontFace,
|
|||||||
double fontScale, int thickness,
|
double fontScale, int thickness,
|
||||||
CV_OUT int* baseLine);
|
CV_OUT int* baseLine);
|
||||||
|
|
||||||
|
|
||||||
|
/** @brief Calculates the font-specific size to use to achieve a given height in pixels.
|
||||||
|
|
||||||
|
@param fontFace Font to use, see cv::HersheyFonts.
|
||||||
|
@param pixelHeight Pixel height to compute the fontScale for
|
||||||
|
@param thickness Thickness of lines used to render the text.See putText for details.
|
||||||
|
@return The fontSize to use for cv::putText
|
||||||
|
|
||||||
|
@see cv::putText
|
||||||
|
*/
|
||||||
|
CV_EXPORTS_W double getFontScaleFromHeight(const int fontFace,
|
||||||
|
const int pixelHeight,
|
||||||
|
const int thickness = 1);
|
||||||
|
|
||||||
/** @brief Line iterator
|
/** @brief Line iterator
|
||||||
|
|
||||||
The class is used to iterate over all the pixels on the raster line
|
The class is used to iterate over all the pixels on the raster line
|
||||||
|
@ -2364,6 +2364,17 @@ Size getTextSize( const String& text, int fontFace, double fontScale, int thickn
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double getFontScaleFromHeight(const int fontFace, const int pixelHeight, const int thickness)
|
||||||
|
{
|
||||||
|
// By https://stackoverflow.com/a/27898487/1531708
|
||||||
|
const int* ascii = getFontData(fontFace);
|
||||||
|
|
||||||
|
int base_line = (ascii[0] & 15);
|
||||||
|
int cap_line = (ascii[0] >> 4) & 15;
|
||||||
|
|
||||||
|
return static_cast<double>(pixelHeight - static_cast<double>((thickness + 1)) / 2.0) / static_cast<double>(cap_line + base_line);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user