chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于RK3576開發(fā)板的字庫引擎

ljx2016 ? 來源:ljx2016 ? 作者:ljx2016 ? 2025-05-12 11:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 字庫引擎簡介

在某些應(yīng)用場景中,會有在圖像中打上水印的情況,特別是要寫上【中文水印】,而opencv又無法做到支持中文。針對這種情況,EASY EAI api封裝了一個字庫引擎,專門用于給圖像寫上文字。

例如圖中的綠色文字:

2. 快速上手

如果您初次閱讀此文檔,請閱讀:《入門指南/源碼管理及編程介紹/源碼工程管理》,按需管理自己工程源碼(注:此文檔必看,并建議采用【遠(yuǎn)程掛載管理】方式,否則有代碼丟失風(fēng)險?。。。?。

2.1 源碼工程下載

先在PC虛擬機(jī)定位到nfs服務(wù)目錄,再在目錄中創(chuàng)建存放源碼倉庫的管理目錄:

cd ~/nfsroot
mkdir GitHub
cd GitHub

再通過git工具,在管理目錄內(nèi)克隆遠(yuǎn)程倉庫(需要設(shè)備能對外網(wǎng)進(jìn)行訪問)

git clone https://github.com/EASY-EAI/EASY-EAI-Toolkit-3576.git
wKgZPGghaqCAMGT6AAFHkLhl81w594.png

注:

* 此處可能會因網(wǎng)絡(luò)原因造成卡頓,請耐心等待。

* 如果實(shí)在要在gitHub網(wǎng)頁上下載,也要把整個倉庫下載下來,不能單獨(dú)下載本實(shí)例對應(yīng)的目錄。

2.2 開發(fā)環(huán)境搭建

通過adb shell進(jìn)入板卡開發(fā)環(huán)境,如下圖所示。

wKgZO2ghaqCAEKE2AAC7JgRVz1M342.png

通過以下命令,把nfs目錄掛載上nfs服務(wù)器。

mount -t nfs -o nolock : /home/orin-nano/Desktop/nfs/
wKgZPGghaqCAUeVbAAD6_a7KK6A633.png

2.3 例程編譯

然后定位到nfs的掛載目錄,再在目錄中創(chuàng)建存放源碼倉庫的管理目錄:

cd /home/orin-nano/Desktop/nfs/GitHub

進(jìn)入到對應(yīng)的例程目錄執(zhí)行編譯操作,具體命令如下所示:

cd EASY-EAI-Toolkit-3576/Demos/common-font_engine/
./build.sh
wKgZO2ghaqCATymHAAHekQCm3SE527.png

2.4 例程運(yùn)行及效果

進(jìn)入Release目錄執(zhí)行下方命令,運(yùn)行示例程序:

cd ./Release
./test-font_engine

執(zhí)行效果如下所示。

wKgZPGghaqGACrTiAAB7x0jTn1c543.png

就可看到在原圖基礎(chǔ)上,打上了【中文水印】。

wKgZO2ghaqGAAXWxAAEDI9fGNY4899.png

API的詳細(xì)說明,以及API的調(diào)用(本例程源碼),詳細(xì)信息見下方說明。

3. 字符串操作API說明

3.1 引用方式

EASY EAI api庫位于本倉庫的easyeai-api目錄中。為方便客戶在本地工程中直接調(diào)用我們的EASY EAI api庫,此處列出工程中需要鏈接的庫以及頭文件等,方便用戶直接添加。

描述 CMake寫法 Makefile寫法
api.cmake ${common_root}/font_engine/api.cmake
頭文件目錄 ${FONT_ENGINE_INCLUDE_DIRS} -I ../../easyeai-api/common/font_engine
源文件目錄 ${FONT_ENGINE_SOURCE_DIRS} ../../easyeai-api/common/font_engine
庫文件目錄
庫鏈接參數(shù) ${FONT_ENGINE_LIBS}

API源代碼路徑為EASY-EAI-Toolkit-3576/easyeai-api/common/font_engine/。用戶可通過源代碼了解接口實(shí)現(xiàn),甚至可對源碼進(jìn)行修改。

3.2 創(chuàng)建全局字體對象

函數(shù)原型如下所示。

int32_t global_font_create(const char *fontLib, const char *codec);

具體介紹如下所示。

函數(shù)名:global_font_create()
頭文件 easyeai-api/common/font_engine/font_engine.h
輸入?yún)?shù) fontLib:待載入的字庫文件,如"./simhei.ttf"
codec:需要寫入到圖像中文字的字符編碼格式,如utf-8或者gbk等
返回值 創(chuàng)建成功:0
創(chuàng)建失?。?1
注意事項(xiàng) 如果本進(jìn)程已經(jīng)某處創(chuàng)建了全局字符對象,則再次調(diào)用的返回值必然是-1

3.3 給全局字體對象按指定格式進(jìn)行字符解碼

函數(shù)原型如下所示。

int32_t global_font_set_textCodec(const char *codec);

具體介紹如下所示。

函數(shù)名:global_font_set_textCodec()
頭文件 easyeai-api/common/font_engine/font_engine.h
輸入?yún)?shù) codec:需要寫入到圖像中文字的字符編碼格式,如utf-8或者gbk等
返回值 設(shè)置成功:0
設(shè)置失?。?1
注意事項(xiàng) 需要全局字體對象已經(jīng)被創(chuàng)建。

3.4 設(shè)置全局字體對象對象的字號

函數(shù)原型如下所示。

int32_t global_font_set_fontSize(uint32_t fontSize);

具體介紹如下所示。

函數(shù)名:global_font_set_fontSize()
頭文件 easyeai-api/common/font_engine/font_engine.h
輸入?yún)?shù) fontSize:待設(shè)定的目標(biāo)字號
返回值 設(shè)置成功:0
設(shè)置失?。?1
注意事項(xiàng) 需要全局字體對象已經(jīng)被創(chuàng)建。

3.5 向圖像寫入指定字符

函數(shù)原型如下所示。

int32_t putText(uint8_t *imgData, uint32_t imgWidth, uint32_t imgHeight, const char *text, uint32_t posX, uint32_t posY, FontColor color);

具體介紹如下所示。

函數(shù)名:putText()
頭文件 easyeai-api/common/font_engine/font_engine.h
輸入?yún)?shù) imgData:圖像數(shù)據(jù)首地址,數(shù)據(jù)格式為BGR888
imgWidth:圖像分辨率尺寸,寬度。
imgHeight:圖像分辨率尺寸,高度。
text:待寫入的字符。
posX:待寫入字符的左上角相對于圖像的x坐標(biāo)。圖像的坐標(biāo)原點(diǎn)也位于左上角。
posY:待寫入字符的左上角相對于圖像的y坐標(biāo)。圖像的坐標(biāo)原點(diǎn)也位于左上角。
color:字體的色值,結(jié)構(gòu)體在下方說明。
返回值 寫入成功:0
寫入失?。?1
注意事項(xiàng) 需要全局字體對象已經(jīng)被創(chuàng)建。

FontColor結(jié)構(gòu)體:

typedef struct {
	uint8_t Alpha;	//透明度通道色值
	uint8_t Red;	//紅色通道色值
	uint8_t Green;	//綠色通道色值
	uint8_t Bule;	//藍(lán)色通道色值
}FontColor;

3.6 銷毀全局字體對象

函數(shù)原型如下所示。

int32_t global_font_destory();

具體介紹如下所示。

函數(shù)名:global_font_destory()
頭文件 easyeai-api/common/font_engine/font_engine.h
輸入?yún)?shù)
返回值 銷毀成功:0
銷毀失?。?1
注意事項(xiàng) 需要全局字體對象已經(jīng)被創(chuàng)建。

4. API測試案例

示例代碼路徑為EASY-EAI-Toolkit-3576/Demos/common-font_engine/test-font_engine.cpp。

以下為各個API的實(shí)際用例。

int main(void)
{
	// 初始化字體透明度和顏色
	FontColor color = {200, 135, 189, 67};    // {A, R, G, B};
	
	// 創(chuàng)建全局字體
	global_font_create("./simhei.ttf", CODE_UTF8);
	
	// 讀取底圖
	cv::Mat img = cv::imread("./testPic.png");
	
	// 寫入文字
	global_font_set_fontSize(80);
	putText(img.data, img.cols, img.rows, "歡迎使用", 210, 940, color);
	global_font_set_fontSize(40);
	putText(img.data, img.cols, img.rows, "歡迎使用", 290, 1020, color);
	
	// 保存寫入文字后的底圖
	cv::imwrite("./res.jpg", img);
	
	// 銷毀全局字體
	global_font_destory();
	
	return 0;
}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5669

    瀏覽量

    104504
  • rk3576
    +關(guān)注

    關(guān)注

    1

    文章

    173

    瀏覽量

    709
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于RK3576開發(fā)板的WDT看門狗使用說明

    RK3576開發(fā)板的WDT使用說明
    的頭像 發(fā)表于 05-06 17:15 ?617次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的WDT看門狗使用說明

    基于RK3576開發(fā)板的PCIE固態(tài)硬盤使用說明

    RK3576開發(fā)板的PICE固態(tài)硬盤使用方法
    的頭像 發(fā)表于 05-06 17:33 ?1336次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的PCIE固態(tài)硬盤使用說明

    基于RK3576開發(fā)板的TF卡槽使用說明

    RK3576開發(fā)板使用TF卡槽
    的頭像 發(fā)表于 05-07 09:24 ?740次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的TF卡槽使用說明

    基于RK3576開發(fā)板的PWN使用說明

    RK3576開發(fā)板使用PWN教程及Demo
    的頭像 發(fā)表于 05-07 14:07 ?1265次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的PWN使用說明

    基于RK3576開發(fā)板的RTC使用說明

    文章主要展示RK3576開發(fā)板的RTC信息和快速上手例程
    的頭像 發(fā)表于 05-07 15:04 ?794次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的RTC使用說明

    基于RK3576開發(fā)板的人臉識別算法

    RK3576開發(fā)板展示人臉識別算法例程和API說明
    的頭像 發(fā)表于 05-07 16:48 ?1929次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的人臉識別算法

    新品體驗(yàn) | RK3576開發(fā)板

    RK3399、RK3566、RK3568、RK3588、RK3576等型號的核心與評估
    的頭像 發(fā)表于 11-01 08:08 ?1908次閱讀
    新品體驗(yàn) | <b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>

    米爾RK3576開發(fā)板特惠活動!

    近日,米爾電子發(fā)布基于瑞芯微RK3576核心開發(fā)板,RK3576作為國產(chǎn)熱門處理器,其高性能數(shù)據(jù)處理能力、領(lǐng)先的AI智能分析、強(qiáng)大的擴(kuò)展性與兼容性受到廣大
    的頭像 發(fā)表于 11-12 01:00 ?843次閱讀
    米爾<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>特惠活動!

    敬請期待 | 迅為RK3576開發(fā)板即將發(fā)布

    敬請期待 | 迅為RK3576開發(fā)板即將發(fā)布
    的頭像 發(fā)表于 11-22 15:13 ?615次閱讀
    敬請期待 | 迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>即將發(fā)布

    迅為RK3576開發(fā)板核心與底板接口硬件介紹

    迅為RK3576開發(fā)板核心與底板接口硬件介紹
    的頭像 發(fā)表于 01-14 15:15 ?1493次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>核心<b class='flag-5'>板</b>與底板接口硬件介紹

    迅為RK3576開發(fā)板Android?多屏顯示

    迅為RK3576開發(fā)板Android?多屏顯示
    的頭像 發(fā)表于 01-16 16:58 ?1001次閱讀
    迅為<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>Android?多屏顯示

    RK3576開發(fā)板技術(shù)分享 | Weston 配置技巧:定制你的桌面體驗(yàn)!

    RK3576開發(fā)板技術(shù)分享 | Weston 配置技巧:定制你的桌面體驗(yàn)!
    的頭像 發(fā)表于 03-07 10:17 ?683次閱讀
    <b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>技術(shù)分享 | Weston 配置技巧:定制你的桌面體驗(yàn)!

    基于RK3576開發(fā)板的MIPI-DSI使用

    MIPI DSI接口是由MIPI聯(lián)盟下的Display工作組指定的DSI(Display Serial Interface)的接口標(biāo)準(zhǔn)。rk3576開發(fā)板使用mipi-dsi教程
    的頭像 發(fā)表于 05-06 16:11 ?360次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的MIPI-DSI使用

    基于RK3576開發(fā)板的揚(yáng)聲器和耳機(jī)使用說明

    RK3576開發(fā)板的揚(yáng)聲器和耳機(jī)使用說明
    的頭像 發(fā)表于 05-06 16:36 ?394次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的揚(yáng)聲器和耳機(jī)使用說明

    基于RK3576開發(fā)板的HDMI-OUT使用說明

    RK3576開發(fā)板的HDMI-OUT使用說明
    的頭像 發(fā)表于 05-06 16:48 ?338次閱讀
    基于<b class='flag-5'>RK3576</b><b class='flag-5'>開發(fā)板</b>的HDMI-OUT使用說明