91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 5.7MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-09-18
  • 語言: 其他
  • 標簽: opencv漢字??

資源簡介

自己改寫的中文漢字寫入到圖片Mat的程序

資源截圖

代碼片段和文件信息

#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;
}
}

//?恢復原始的字體設置??

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?CvPoint?&pos?CvScalar?color)
{
//?根據unicode生成字體的二

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-11-11?18:07??Opencv顯示中文\
?????文件???????10143??2016-11-10?19:42??Opencv顯示中文\1.jpg
?????文件????????4471??2016-11-11?18:00??Opencv顯示中文\Cv310Text.cpp
?????文件????????4226??2016-11-11?18:05??Opencv顯示中文\Cv310Text.h
?????文件????10576012??2016-07-17?06:33??Opencv顯示中文\simfang.ttf
?????文件?????????388??2016-11-11?18:05??Opencv顯示中文\源.cpp

評論

共有 條評論

相關資源