在Ubuntu调用opencv库编程显示图片并叠加文字

本文介绍了在Ubuntu系统中利用OpenCV库编程显示图片,并详细讲解了汉字编码,包括区位码、机内码、点阵字库储存和汉字点阵获取。通过实验步骤,展示了如何在图片上叠加汉字,最终成功实现图片文字叠加功能。
摘要由CSDN通过智能技术生成

一、汉字编码介绍

(一)区位码

在这里插入图片描述

(二)机内码

在这里插入图片描述

(三)点阵字库储存

在这里插入图片描述

(四)汉字点阵获取

在这里插入图片描述

二、操作步骤

(一)操作环境

OpenCV

(二)实验准备

(1)下载中文点阵字库及显示工具程序
(2)将所需文件及图片放入目录
在这里插入图片描述在这里插入图片描述在这里插入图片描述

(三)代码

(1)运行虚拟机并打开命令窗
(2)添加代码
在这里插入图片描述

#include<iostream>
#include<opencv/cv.h>
#include"opencv2/opencv.hpp"
#include<opencv/cxcore.h>
#include<opencv/highgui.h>
#include<math.h>
using namespace cv;
using namespace std;

void paint_chinese(Mat& image,int x_offset,int y_offset,unsigned long offset);
void paint_ascii(Mat& image,int x_offset,int y_offset,unsigned long offset);
void put_text_to_image(int x_offset,int y_offset,String image_path,char* logo_path);

int main(){
   
    String image_path="/home/lc/1/1.jpg";
    char* logo_path=(char*)"/home/lc/1/logo.txt";
    put_text_to_image(450,750,image_path,logo_path);//安排文字从图片像素坐标(450,750)开始显示
    return 0;
}
//在图片上绘制文字的起点坐标
void paint_ascii(Mat& image,int x_offset,int y_offset,unsigned long offset){
   
	Point p;
	p.x = x_offset;
	p.y = y_offset;
	//存放ascii字膜
	char buff[16];           
	//打开ascii字库文件
	FILE *<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值