mirror of
https://github.com/nihui/opencv-mobile.git
synced 2025-10-09 10:30:11 +08:00
121 lines
3.6 KiB
Diff
121 lines
3.6 KiB
Diff
diff -Nuarp opencv-2.4.13.7.orig/modules/core/src/drawing.cpp opencv-2.4.13.7/modules/core/src/drawing.cpp
|
|
--- opencv-2.4.13.7.orig/modules/core/src/drawing.cpp 2018-07-02 20:41:56.000000000 +0800
|
|
+++ opencv-2.4.13.7/modules/core/src/drawing.cpp 2023-12-09 15:52:28.808104579 +0800
|
|
@@ -40,6 +40,8 @@
|
|
//M*/
|
|
#include "precomp.hpp"
|
|
|
|
+#include "draw_text.h"
|
|
+
|
|
namespace cv
|
|
{
|
|
|
|
@@ -1992,6 +1994,7 @@ void polylines( Mat& img, const Point**
|
|
}
|
|
|
|
|
|
+#if 0
|
|
enum { FONT_SIZE_SHIFT=8, FONT_ITALIC_ALPHA=(1 << 8),
|
|
FONT_ITALIC_DIGIT=(2 << 8), FONT_ITALIC_PUNCT=(4 << 8),
|
|
FONT_ITALIC_BRACES=(8 << 8), FONT_HAVE_GREEK=(16 << 8),
|
|
@@ -2204,12 +2207,41 @@ inline void readCheck(int &c, int &i, co
|
|
if(c >= rightBoundary || c < leftBoundary)
|
|
c = '?';
|
|
}
|
|
+#endif
|
|
|
|
void putText( Mat& img, const string& text, Point org,
|
|
int fontFace, double fontScale, Scalar color,
|
|
int thickness, int line_type, bool bottomLeftOrigin )
|
|
|
|
{
|
|
+ const int fontpixelsize = 8 * fontScale;
|
|
+ const int base_line = 4 * fontScale;
|
|
+ const int yoffset = bottomLeftOrigin ? img.rows - org.y - fontpixelsize * 2 + base_line : org.y - fontpixelsize * 2 + base_line;
|
|
+
|
|
+ unsigned int _color = 0;
|
|
+ unsigned char* border_color = (unsigned char*)&_color;
|
|
+
|
|
+ if (img.channels() == 1)
|
|
+ {
|
|
+ border_color[0] = color[0];
|
|
+ draw_text_c1(img.data, img.cols, img.rows, text.c_str(), org.x, yoffset, fontpixelsize, _color);
|
|
+ }
|
|
+ else if (img.channels() == 3)
|
|
+ {
|
|
+ border_color[0] = color[0];
|
|
+ border_color[1] = color[1];
|
|
+ border_color[2] = color[2];
|
|
+ draw_text_c3(img.data, img.cols, img.rows, text.c_str(), org.x, yoffset, fontpixelsize, _color);
|
|
+ }
|
|
+ else if (img.channels() == 4)
|
|
+ {
|
|
+ border_color[0] = color[0];
|
|
+ border_color[1] = color[1];
|
|
+ border_color[2] = color[2];
|
|
+ border_color[3] = color[3];
|
|
+ draw_text_c4(img.data, img.cols, img.rows, text.c_str(), org.x, yoffset, fontpixelsize, _color);
|
|
+ }
|
|
+#if 0
|
|
const int* ascii = getFontData(fontFace);
|
|
|
|
double buf[4];
|
|
@@ -2264,10 +2296,21 @@ void putText( Mat& img, const string& te
|
|
}
|
|
view_x += dx;
|
|
}
|
|
+#endif
|
|
}
|
|
|
|
Size getTextSize( const string& text, int fontFace, double fontScale, int thickness, int* _base_line)
|
|
{
|
|
+ const int fontpixelsize = 8 * fontScale;
|
|
+
|
|
+ int w;
|
|
+ int h;
|
|
+ get_text_drawing_size(text.c_str(), fontpixelsize, &w, &h);
|
|
+
|
|
+ *_base_line = 4 * fontScale;
|
|
+
|
|
+ return Size(w, h);
|
|
+#if 0
|
|
Size size;
|
|
double view_x = 0;
|
|
const char **faces = cv::g_HersheyGlyphs;
|
|
@@ -2294,6 +2337,7 @@ Size getTextSize( const string& text, in
|
|
if( _base_line )
|
|
*_base_line = cvRound(base_line*fontScale + thickness*0.5);
|
|
return size;
|
|
+#endif
|
|
}
|
|
|
|
}
|
|
@@ -2679,7 +2723,7 @@ cvInitFont( CvFont *font, int font_face,
|
|
{
|
|
CV_Assert( font != 0 && hscale > 0 && vscale > 0 && thickness >= 0 );
|
|
|
|
- font->ascii = cv::getFontData(font_face);
|
|
+ font->ascii = 0;
|
|
font->font_face = font_face;
|
|
font->hscale = (float)hscale;
|
|
font->vscale = (float)vscale;
|
|
diff -Nuarp opencv-2.4.13.7.orig/modules/core/src/tables.cpp opencv-2.4.13.7/modules/core/src/tables.cpp
|
|
--- opencv-2.4.13.7.orig/modules/core/src/tables.cpp 2018-07-02 20:41:56.000000000 +0800
|
|
+++ opencv-2.4.13.7/modules/core/src/tables.cpp 2023-12-09 14:51:50.948704080 +0800
|
|
@@ -204,6 +204,7 @@ const uchar g_Saturate8u[] =
|
|
255
|
|
};
|
|
|
|
+#if 0
|
|
const char* g_HersheyGlyphs[] = {
|
|
"",
|
|
"MWRMNV RMVV PSTS",
|
|
@@ -3506,6 +3507,7 @@ const char* g_HersheyGlyphs[] = {
|
|
"",
|
|
"",
|
|
0 };
|
|
+#endif
|
|
|
|
}
|
|
|