• 大小: 24.23MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-10
  • 语言: 其他
  • 标签: OpenCV中文  

资源简介

OpenCV两种方法显示中文(一种配置CvxText和FreeType库,一种不需要配置库),默认环境VS2012+OpenCV249。

资源截图

代码片段和文件信息

#include   
#include   
#include   
#include   
#include “Cv310Text.h“  

Cv310Text::Cv310Text(const char *freeType)
{
assert(freeType != NULL);

// 打开字库文件 创建一个字体  

if (FT_Init_FreeType(&m_library)) throw;
if (FT_New_Face(m_library freeType 0 &m_face)) throw;

// 设置字体输出参数  

restoreFont();

// 设置C语言的字符集环境  

setlocale(LC_ALL ““);
}

// 释放FreeType资源  

Cv310Text::~Cv310Text()
{
FT_Done_Face(m_face);
FT_Done_FreeType(m_library);
}

// 设置字体参数:  
//  
// font         - 字体类型 目前不支持  
// size         - 字体大小/空白比例/间隔比例/旋转角度  
// underline   - 下画线  
// diaphaneity   - 透明度  

void Cv310Text::getFont(int *type CvScalar *size bool *underline float *diaphaneity)
{
if (type) *type = m_fontType;
if (size) *size = m_fontSize;
if (underline) *underline = m_fontUnderline;
if (diaphaneity) *diaphaneity = m_fontDiaphaneity;
}

void Cv310Text::setFont(int *type CvScalar *size bool *underline float *diaphaneity)
{
// 参数合法性检查  

if (type)
{
if (type >= 0) m_fontType = *type;
}
if (size)
{
m_fontSize.val[0] = fabs(size->val[0]);
m_fontSize.val[1] = fabs(size->val[1]);
m_fontSize.val[2] = fabs(size->val[2]);
m_fontSize.val[3] = fabs(size->val[3]);
}
if (underline)
{
m_fontUnderline = *underline;
}
if (diaphaneity)
{
m_fontDiaphaneity = *diaphaneity;
}
FT_Set_Pixel_Sizes(m_face (int)m_fontSize.val[0] 0);
}

// 恢复原始的字体设置  

void Cv310Text::restoreFont()
{
m_fontType = 0;            // 字体类型(不支持)  

m_fontSize.val[0] = 20;      // 字体大小  
m_fontSize.val[1] = 0.5;   // 空白字符大小比例  
m_fontSize.val[2] = 0.1;   // 间隔大小比例  
m_fontSize.val[3] = 0;      // 旋转角度(不支持)  

m_fontUnderline = false;   // 下画线(不支持)  

m_fontDiaphaneity = 1.0;   // 色彩比例(可产生透明效果)  

   // 设置字符大小  

FT_Set_Pixel_Sizes(m_face (int)m_fontSize.val[0] 0);
}

// 输出函数(颜色默认为黑色)  

int Cv310Text::putText(cv::Mat &frame const char    *text CvPoint pos)
{
return putText(frame text pos CV_RGB(255 255 255));
}
int Cv310Text::putText(cv::Mat &frame const wchar_t *text CvPoint pos)
{
return putText(frame text pos CV_RGB(255 255 255));
}

//  

int Cv310Text::putText(cv::Mat &frame const char    *text CvPoint pos CvScalar color)
{



if (frame.empty()) return -1;
if (text == NULL) return -1;

//  

int i;
for (i = 0; text[i] != ‘\0‘; ++i)
{
wchar_t wc = text[i];

// 解析双字节符号  

if (!isascii(wc)) mbtowc(&wc &text[i++] 2);

// 输出当前的字符  

putWChar(frame wc pos color);
}
return i;
}
int Cv310Text::putText(cv::Mat &frame const wchar_t *text CvPoint pos CvScalar color)
{

if (frame.empty()) return -1;
if (text == NULL) return -1;

//  

int i;
for (i = 0; text[i] != ‘\0‘; ++i)
{
// 输出当前的字符  

putWChar(frame text[i] pos color);
}
return i;
}

// 输出当前字符 更新m_pos位置  

void Cv310Text::putWChar(cv::Mat &frame wchar_t wc 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      177628  2015-11-15 13:24  1.jpg
     文件        4524  2017-10-07 16:21  Cv310Text.cpp
     文件        4226  2016-11-11 18:05  Cv310Text.h
     文件        5103  2017-10-07 14:58  CvxText.cpp
     文件        4988  2017-10-07 15:09  CvxText.h
     文件        1259  2016-12-26 15:11  OpenCV2.4.9Debug.props
     文件        1240  2017-01-01 20:36  OpenCV2.4.9Release.props
     文件    42860544  2017-10-07 16:29  OpenCVTest.sdf
     文件         886  2016-12-26 15:00  OpenCVTest.sln
     文件        3663  2017-10-07 15:34  OpenCVTest.vcxproj
     文件        1337  2017-10-07 15:34  OpenCVTest.vcxproj.filters
     文件         772  2017-10-07 15:52  freeType2_6_2_Release.props
     文件        2066  2017-10-07 16:48  main.cpp
     文件        4249  2017-10-07 15:13  putText.cpp
     文件         383  2017-10-07 15:13  putText.h
     文件    10576012  2016-07-17 06:33  simfang.ttf
     目录           0  2017-10-07 16:46  配置请先看这里\
     文件     2402662  2017-10-07 16:44  配置请先看这里\【方法一:需配置库】OpenCV 显示中文汉字,未使用CvxText和FreeType库 - wanggao_1990的.png
     文件     4113345  2017-10-07 16:44  配置请先看这里\【方法二:不需要配置库】基于OpenCV 2.4.9 3.1的汉字显示(FreeType 2.6.2) - 综合编程类其他综.png

评论

共有 条评论