自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (5)
  • 收藏
  • 关注

原创 Linux使用freetype解决Opencv中文字体显示问题

使用freetype库来在linux显示中文

2023-03-15 09:47:51 1215 1

转载 Linux对hidraw设备output report大小的限制

Linux对hidraw设备output report大小的限制

2023-01-12 15:20:09 550

原创 uos 做deb包

uos 做deb包的注意事项

2022-12-08 15:37:18 1616

原创 c++/VS XP系统 无法定位程序输入点WSAPoll于动态链接库ws2_32.dll解决方案

c++/VS XP系统 无法定位程序输入点WSAPoll于动态链接库ws2_32.dll解决方案

2022-11-18 17:39:01 3981 1

原创 Linux下QT开发的动态库界面弹出操作(SDL2)

使用SDL2来完成linux下QT的界面弹出操作

2022-09-27 16:32:59 1490

原创 cv::Mat与Base64转换(含图片压缩解压等流程)

测试流程就是:图片->压缩图片->base64->解压图片->图片main.cpp #include "stdafx.h"#include <Windows.h> #include "base64.h"#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/opencv.hpp> #incl..

2022-05-26 15:06:52 1705

原创 C++ opencv人脸识别框

需求:视频实时定位人脸位置,并画框,类似效果如下:分析:取视频帧,每一帧其实就类似一张图片,利用opencv的人脸识别模块,检测每一帧并进行划线,处理完成后显示,最后组成就是动态的带人脸识别框的视频。解决方法:(下面是每一帧数据的处理方法)①加载opencv的相关库,包含头文件。我的库版本是249,需要的库有下面几个,其中opencv_objdetect249是识别需要用的opencv_core249.dllopencv_imgproc249.dllopencv..

2022-05-20 14:47:11 2357 1

原创 在未安装QT的linux/arm架构上运行QT程序

总问题:已经在A系统(arm架构,已安装QT5)编译好的QT程序,现在到B系统(arm架构,未安装QT)运行,各种报错报错1:各种缺QT依赖库解决思路:使用ldd命令,一个个找缺的库,从A系统拷贝过来,放到/usr/lib(或者/usr/lib/aarch64-linux-gnu)目录下报错2:This application failed to start because it could not find or load the Qt platform plugin "xcb".

2022-04-26 17:57:27 2354 1

原创 通过Opencv打开指定摄像头的方法

我们使用Opencv打开摄像头,一般是使用VideoCapture的open接口。CV_WRAP virtual bool open(int index);open接口要传入一个标识符,如果只有1个摄像机,那么就是0,如果系统中有多个摄像机,那么只要将其向上增加即可。系统:银河麒麟linux系统问题:现在我插入了一个双目摄像头(两个USB线,一个彩色,一个红外),那我就想打开彩色的,怎么办呢?每次我插入USB线,系统都会默认给设备分配一个video路径,例如 /dev/video3

2022-03-29 11:10:53 14721 8

原创 银河麒麟linux使用双目摄像头带宽不足的解决方法

项目中需要使用Opencv打开双目摄像头,并获取彩色和红外的照片。情形:1. 单独打开任何一个摄像头,正常显示;2. 同时打开两个摄像头,最后一个摄像头打开时会报如下错误VIDIOC_STREAMON: 设备上没有空间VIDIOC_QBUF: 无效的参数经询问麒麟厂家,回应国产麒麟系统每次打开摄像头,都会默认分配大量带宽(ubuntu不会),所以2个摄像头就会报上面带宽不足的错误。解决方法如下:VideoCapture设置为视频流格式MJPG,MJPG格式可以高速输出高分

2022-03-29 10:30:17 5010

原创 记录RSA加解密算法使用心得

RSA加解密算法是一种非对称加密算法,非对称就是用于加密的密钥(公钥),和解密的密钥(私钥),不是同一个。RSA算法优点:很难破解,RSA算法涉及至少200位的大数,现在还缺乏解决大数的因子分解得方法,所以难攻破;RSA算法缺点:计算速度比DES算法等蛮许多。个人建议,如果对速度有要求,可以选取数据其中一段采用RSA算法加密,其余不加密/选取其他速度较快的算法加密,再分别解密。上面的公钥和私钥,可以使用算法生成,也可以使用下面的网址随机生成的。在线生成非对称加密公钥私钥对、在线生成公私钥

2022-03-28 10:54:07 3008

原创 libhv库的使用(linux/windows)

libhv库的使用(linux/windows)

2022-03-21 15:24:09 6120

转载 sqlite bolb数据的写入和存储

1.什么是BLOB数据BLOB (binary large object)即二进制大对象,是一种可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。常见的BLOB文件有图片、声音和自定义对象等。2.BLOB操作相关API介绍2.1 准备SQL语句函数原型int sqlite3_prepare( sqlite3 *db, /* Database handle */ const char *zSql, /* SQ

2022-01-11 11:47:02 3050

原创 在Linux下基于QT实现ffmpeg视频流播放

1. 项目背景下位机里安装里摄像头,并处理摄像头的实时数据。上位机通过rstp协议连接下位机,接收下位机传输的视频流数据。2. 前言ffmpeg是一个开源库,可制作跨平台视频播放器。ffmpeg库的安装:《Linu下安装ffmpeg》涉及的库有如下几个:avcodec avformat swscale avutil avcodec-ffmpeg swresample3. 实现思路ffmpeg视频流播放,比较占用系统资源,所以要使用多线程技术处理耗时操作。...

2021-06-22 15:52:21 3145 3

转载 ffmepg中sws_scale() 函数解析

FFmpeg中的sws_scale()函数主要是用来做视频像素格式和分辨率的转换,其优势在于:可以在同一个函数里实现:1.图像色彩空间转换, 2:分辨率缩放,3:前后图像滤波处理。不足之处在于:效率相对较低,不如libyuv或shader,其关联的函数主要有:1.sws_getContext():struct SwsContext *sws_getContext( int srcW, /* 输入图像的宽度 */ int srcH, /* 输入图像..

2021-06-22 14:25:25 2184

原创 Linu下安装ffmpeg

首先要安装各种解码器1、lamelame-3.99.5.tar.gzUrl:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309安装方法如下:

2021-06-21 14:04:08 865

原创 qt/qtcreator在Arm架构下的安装

1. 下载qtcreatorqtcreator下载地址:https://download.qt.io/archive/qtcreator/因为我机器是linux arm架构,所以要选择tar.gz直接编译(纯linux可以选择.run的文件,直接chmod给权限,然后运行)。我这里选择的是2.8.1版本,qt-creator-2.8.1-src.tar.gz2. 解压(你自己指定解压路径),查看文档,并执行文档内容这里有个文档,README,打开,看到他有编译的提示,我下面翻译一

2021-05-26 23:04:47 14535 2

原创 linux监听串口数据(使用jpnevulator)

1. 下载jpnevulator文件,解压,并进入文件夹链接: https://pan.baidu.com/s/1Ko1-wAUrWydWvVSYn9qv_Q 提取码: 326j2. linux下载jpnevulatorsudo apt install jpnevulator3. 使用这里读取/dev/ttyUSB0发送回来的数据,并显示在终端。注意这时候原先接收此数据的设备就被取代了$ jpnevulator --ascii --timing-print --tty /dev/t

2021-05-14 17:53:18 3005

原创 实现Linux虚拟串口(使用socat)

wins下使用VSPD创建虚拟串口,哪linux呢?如下1. 安装socatsudo apt-get install socat2. 链接虚拟串口sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0可以看到控制台消息如下,/dev/pts/1与/dev/pts/3虚拟通信了。接下来可以通过cutecom等串口工具进行调试。...

2021-05-14 15:36:25 3042

原创 Linux下串口调试工具cutecom使用

1.软件安装  在Ubuntu下的安装很简单,打开终端,使用sudo apt-get install cutecom安装即可。2.运行程序  打开终端,用sudo cutecom命令来打开,打开界面如下。Device:设备名Band rate:波特率Data bits:数据位Stop bits:停止位Parity:校验位Input:发送框...

2021-05-14 11:57:30 5265

原创 谷歌浏览器(chrome)允许跨域设置的方法

什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。简单的说,跨域是浏览器的限制。允许跨域有什么用呢?允许跨域则可以访问其他的内容。解决跨域的问题有三种:jsonp方式 代理服务器的方式 服务端允许跨域访问(CORS) 取消浏览器的跨域限制这里主要讲取消谷歌浏览器的跨域限制,因为这种方式在开发阶段最简单。命令行的方式Windows直接创建chrome浏览器的快捷方式,在属性中找到打开路径,在…chrome.exe

2021-05-12 17:36:51 5231

原创 银河麒麟Linux系统安装谷歌浏览器

sudoapt-getinstallchromium-browser安装完成后,会看到chromium网页浏览器的图标

2021-05-12 10:23:21 18062 2

转载 extern “C”的作用详解

extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般只包括函数名。 这个功能十分有用处,因为在C++出现以前,很多代码都是C语言写的,而且很底层的库也是C语言写的,为了更好的支持原来的C代码和已...

2021-05-11 10:36:40 203

原创 Linux运行程序找不到.so依赖库解决方法

如果依赖库路径是正确的,库也是没问题的,找不到的原因,是因为Linux下需要设置环境变量,来添加库的查找路径;LD_LIBRARY_PATH: 动态库的查找路径设置:方法一: export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 但是退出当前终端后就失效方法二: 修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile1. 在其中添加例如export LD_LIBRARY_PATH=/opt/ActiveP/li..

2021-05-08 09:21:49 3586

转载 GetTickCount函数在linux下的实现

#include <time.h>// 返回自系统开机以来的毫秒数(tick)unsigned long GetTickCount(){ struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return (ts.tv_sec * 1000 + ts.tv_nsec / 1000000);}int main(){ struct timespec time1 = { 0,...

2021-05-06 10:30:02 2013

转载 GetTickCount() 函数的作用和用法

DWORDGetTickCount(void);1) 定义For Release configurations, this function returns the number of milliseconds since the device booted, excluding any time that the system was suspended.GetTickCountstarts at 0 on boot and then counts up from there.在...

2021-05-06 10:27:52 4578

原创 linux下libusb库的安装

参考博文: https://blog.csdn.net/zhengxianghdu/article/details/89256021. 环境: Linux2. libusb源码:http://sourceforge.net/projects/libusb/3. 解压tar xjvf libusb-1.0.24.tar.bz2 (这里我下载的是1.0.24版本,根据你自己的版本改)4. 看解压出来的文件夹,里面有个文件,叫 INSTALL,这个是个文本,打开看步骤和说明...

2021-04-09 16:57:07 1799

转载 linux gcc 编译的so文件 运行时无法找到 错误:cannot open shared object file: No such file or directory

对自己打包的so文件进行测试,编译不报错 但是运行时 出现错误:cannot open shared object file: No such file or directory但是so文件明明已经放在当前目录下了折腾一下午,发现这是linux下so库经常会出现的错误,测试程序的可执行文件名字为start, 用ldd start可以发现程序寻找每个so的路径基本为系统路径,lib或者usr/lib等。而当前目录并不在查找范围内,因此显示无法找到解决方法:执行执行export L

2021-03-30 17:44:15 358

原创 VS中使用IE调试ActiveX控件

本机环境说明:win7/64位,VS2015,IE8步骤如下:1. 设置IE为单进程运行gpedit.msc组策略管理器。在“计算机配置—》管理模板—》windows组件—》Internet Explore”中打开“选项卡进程增长”,设置为已启用,选项卡进程增长为0。2. 配置调试环境3. 打开需调试的HTML程序页面4. VS设置附加进程【选择】->【调试一下代码类型】->【本机】找到IE进程,选择完,点击【附加】5. ...

2021-03-23 11:53:25 534

原创 VS2015提示 ”项目不可用,被卸载” 解决方案

背景:项目是别人编译的,VS2015,C++类项目。打开项目文件,显示项目不可用,被卸载。解决方案:右键相关项目,点击【重新加载项目】这时会弹出一个安装C++的基础类的功能框,点击安装。等待即可。只需下载一次,其他项目若仍不可用,则点击重新加载即可...

2021-03-16 14:45:49 3773 1

原创 Linux Gcc小结

Gcc是GNU推出的多平台编译器。Gcc用法:gcc [options] filenamesoptions:编译器所需要的编译选项filenames: 要编译的文件名基本用法:先编写一个简单hello.c文档如下#include <stdio.h>int main(void){printf (Hello world!\n);return 0;}在终端输入:gcc hello.c 则会在本文件夹输出一个a.out的执行文件,输入./a.out即可有结果若输...

2021-01-18 17:28:50 153

原创 Linux文本编辑器小结

Linux提供了一系列功能强大的编辑器,如Vi和Emacs文本编辑器-vim(掌握)Vim 有3种工作模式,分别是命令行模式、插入模式、底行模式1. vim hello.c2. 键入i进入插入模式3. 编辑4. 键入[ESC]退入到命令行模式5. 键入[:]进入底行模式,再键入wq保存退出命令行模式:刚进入vim时的模式,该模式下可以移动光标进行浏览,可以进行整行删除等操作,但无法编辑文字,命令行模式下的功能键有:• yy: 复制当前光标所在行• [n]yy:n为数...

2021-01-18 17:14:01 121

原创 Linux命令小结

目录目录结构重要热键用户管理类命令1. 添加用户-useradd2. 删除用户-userdel3. 修改密码-passwd4. 切换用户-su5. 添加用户组-groupadd6. 删除用户组-groupdel文件与目录类命令1. 查看目录-ls2. 改变工作目录-cd3. 复制文件、目录-cp4. 移动或更名-mv5. 删除文件 / 目录-rm6. 改变文件权限-chomd7. 创建目录-mkdir8. 查看目录大小-du...

2021-01-18 17:11:52 80

原创 Linux开发环境搭建小结

7 在主机上搭建 Linux 开发环境Ubuntu以桌面为主的LINUX操作系统。优点:①安装系统简单。②图形界面人性化。③可通过网络,系统自行安装依赖的文件包7-1 安装Ubuntu12.04步骤1:安装Oracle VM ViryualBox虚拟机步骤2:使用虚拟机安装Ubuntu12.04(路径:实用工具)安装完成如下图:7-2 将Ubuntu设置为root用户自动登录ubuntu12.04 默认不允许 root 登录,在登录窗口只能看到普通用户和访客登录...

2021-01-18 17:06:43 576

原创 QT静态库的生成和使用

在QT中静态库的后缀名为.a,在vs中开发的静态库后缀名为.lib。静态库的生成新建一个静态库的项目,如图1.1所示:项目名称为test1. 选择项目类型选择项目类型为静态链接库,设定项目路径。共享库是创建动态链接库,后缀名为.so,vs上为.dll。3. 选择下一步,选择需要的qt模块。4. 选择下一步,设置类和文件名称。注意类名称为链接库名,在本项目中为test,对应的静态库名称为libtest.a5. 编写静态库代码。6....

2021-01-18 16:58:58 1726

原创 QT多线程(QThread)小结

QThread只有run函数是在新线程里的,其他所有函数都在QThread生成的线程里如果QThread是在ui所在的线程里生成,那么QThread的其他非run函数都是和ui线程一样的,所以,QThread的继承类的其他函数尽量别要有太耗时的操作,要确保所有耗时的操作都在run函数里。在UI线程下调用QThread的非run函数(其实也不应该直接调用run函数,而应该使用start函数),和执行普通函数无区别,这时,如果这个函数要对QThread的某个变量进行变更,而这个变量在run函数里也会被用到.

2021-01-18 16:43:40 1165

原创 linux nfs文件挂载

2021-01-18 16:32:55 68

原创 Linux下操作SVN

1.将文件Checkout到本地目录svn checkoutpath(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2.往版本库中添加新的文件svnaddfile例如:svnaddtest.php(添加test.php)svnadd*.php(添加当前目录下所有的php文件)3.将改动的文件提交到版本库svn commit-m"LogMessage"[-N][--no-unloc...

2021-01-18 16:30:00 85

原创 Linux SPI设备接口函数解析&QT调试Demo

通常SPI通过4个引脚与外部器件相连:MISO:主设备输入/从设备输出引脚。MOSI:主设备输出/从设备输入引脚SCK:串口时钟,作为主设备的输出,从设备的输入NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。时序:SPI有4种工作时序模式:CPOL表示时钟信号的初始电平的状态,CPOL为0表示时钟信号初始状态为低电平,为1表示时钟信号的初始电平是高电平。CPHA来表示在那个时钟沿采样数据,CPHA为0表示在首个时钟变化沿采样数据,而CPHA为1则表..

2021-01-18 16:09:33 3842 1

原创 IC卡读写模块(MFRC522) 简介调试&QT实现

1. 前言本例主要讲解MFRC522和IC卡的相关知识,以及其基础调试。2. 相关知识2.1 MFRC522简介MFRC522是非接触式读写模块,可以理解为IC卡读写模块,常见的使用场景如门禁等只要支持3种通讯方式:①SPI、②I2C、③UART2.2 S50/S70(IC卡)简介S50/S70卡,就是常说的IC卡,即MFRC522模块扫描识别的卡。模块主要性能:...

2021-01-18 11:57:41 8219 2

RTSPClient.tar.gz

在Linux下基于QT实现ffmpeg视频流播放

2021-06-22

CVirtualKeyBoard.zip

QT的虚拟软键盘,适用于QT4以上版本,使用中文sqlite库,支持中英文输入,支持部分多中文拼写,支持移动键盘

2020-05-22

QSqlQuery访问数据库的封装类

一个QT QSqlQuery访问数据库的封装类,里面封装了数据库相关类,使用单例及互斥锁保证数据库访问安全,及其使用案例,源码。

2020-05-20

barcodelib.zip

使用QT制作的可编译zint库工程,支持Windows/Linux自编,项目包含三个顺序生成库,分别为zlib/libpng/zint,纯源码可编译

2020-05-12

SoftDogDemo.zip

使用的实体是天威精简型加密狗。 结合加密狗和AES加密算法,提供QT Windows环境下加密狗的调试Demo。

2020-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除