- 博客(65)
- 资源 (4)
- 收藏
- 关注
原创 C++调用Qt项目简易开发环境搭建(以视频播放器为例,附整个工程源码,支持win32_x64_debug_release,只需安装vs即可下载工程进行编译)
C++调用Qt库开发项目环境搭建。
2022-04-14 17:59:59 3597
原创 opencv交叉编译静态库,支持ffmpeg、libjpeg,实现取流及写入jpeg文件
问题:如果使用动态库,后面编译opencv的时候ffmpeg选项始终为no,首先是cmake测试ffmpeg是否可以成功编译时,返回不成功,打印如下:WARNING: Can’t build ffmpeg test code。然后使用cmake给的编译参数,我们自己去测试是否可以编译成功,结果也是不成功,原因是:ffmpeg的多个动态库有互相依赖,所以编译时找不到一些符号。(2)、编译目录:/home/cxyazhou/work/opencv-4.7.0_build。4、进入build目录,进行编译。
2023-04-19 16:35:24 2649
原创 BeyondCompare使用
一、功能介绍Beyond Compare是一个比较文件和文件夹的工具。它可以帮助你找到并协调源代码、文件夹、图像和数据间的差异。二、功能使用1、文本比较对齐功能两个文本比较时,鼠标放在一个文本的某一行按F7,然后将鼠标移动到另一个文本的某一行后点击鼠标左击即可进行对齐。2、文本比较时进行文本复制鼠标选中要复制的文本,然后点击小箭头即可复制到另一侧。3、文本比较常用选项显示行号、显示差异项、显示相同项、跳转上(下)一个差异段。这些选项工具栏都可以找到。4、文件夹比较鼠标选择2个文件夹,
2022-03-02 10:26:41 15145 2
原创 svn客户端(Windows版本)
一、介绍TortoiseSVN是Apache ™ Subversion(SVN)®客户端,实现为Windows Shell扩展。它直观且易于使用,因为它不需要运行Subversion命令行客户端。而且,即使在商业环境中,它也是免费使用的。简直是(Sub)Version Control的最酷界面!二、安装下载地址:TortoiseSVN-x64双击安装程序后,默认点击下一步即可。三、使用教程1、Checkout服务器的代码首先要拿到服务器代码URL如:https://GUHVZBOP63OWCH
2022-03-02 10:11:23 3040
原创 svn服务器(Windows版本)
一、介绍VisualSVN Server允许您在Windows平台上轻松安装和管理功能齐全的Subversion服务器。凭借其强大的功能,无与伦比的可用性和独特的企业级功能,VisualSVN Server对小型企业和企业用户都非常有用。VisualSVN Server的主要功能包括:*Active Directory单一登录*多站点存储库复制*备份还原*HTML5驱动的Web界面*PowerShell脚本和自动化*储存库管理委派*远程服务器管理*访问和操作日志二、安装1、选择安装免
2022-03-01 20:04:48 1517
原创 Qt界面边框跑马灯(附代码)
1、效果:2、思路:在需要设计边框的界面上下左右各放一个label,每个label对应一副图像,while循环一次则图像变一次,图像变了则重新把图像绘制到label中。3、源码:GuiLight.h#pragma once#include <QtCore/qthread.h>#include <QtGui/QMouseEvent>#include <QtWidgets/QPushButton>#include <QtCore/QVariant&
2021-01-27 20:05:49 1274
原创 vs2019开发qt项目环境搭建(摆脱qt-vsaddin-msvc2019.vsix的束缚)
1、本文描述的是如何使用初始安装好的vs2019调用qt库的形式来开发qt项目,vs2019不需要安装qt-vsaddin-msvc2019.vsix插件,电脑不需要安装qt,不使用qtcreator。目的是一份代码只要在装有vs2019的电脑上就可以快速开发。2、工具准备(1)、vs2019(2)、qt库的include、lib、bin,这里需要注意的是,lib和bin只需要我们要用的,基本功能开发的话,只需要下图中的文件即可。Qt5Core、Qt5Gui、Qt5Widgets是我们程序需要链接使
2021-01-23 15:07:36 5028 5
原创 树莓派安装系统及常用软件设置
一、制作启动系统1、使用SDFormatter格式化SD卡为FAT32格式2、使用Win32DiskImager将镜像2019-07-10-raspbian-buster-full.img烧录到SD卡二、硬盘挂载1、挂载ntfs格式硬盘安装ntfs-3gapt-get install ntfs-3g2、资源管理器-编辑-偏好设置-卷管理:前面两个勾掉,则系统不会自动挂载硬盘3、插上硬盘后查看硬盘fdisk -l4、手动挂载硬盘mkdir /mnt/hd;mount -t ntfs-3g
2020-08-31 20:29:10 577
原创 linux脚本编程总结
0、shell脚本语言和c/c++语言有什么关系?软件 软件来源 语法规则 gcc/g++ ? c/c++语言shell c/c++编写 shell脚本语言make c/c++编写 makefile语言python c/c++编写 python语言jav
2020-06-20 16:32:04 223
原创 网络带宽测试iperf
1、linux平台下进行测试网络带宽,准备两台linux设备,iperf源码:iperf-3.8.1.tar.gz2、编译源码生成对应平台的iperf:#tar -xvf iperf-3.8.1.tar.gz#cd iperf-3.8.1/#./configure --host=arm-himix100-linux --prefix=/usr/local/iperf (不同平台选择各自对应的host)#make#make install3、将生成的iperf3及动态库libiperf.so
2020-06-20 14:31:42 683 1
原创 树莓派4b安装Ubuntu18.04.4桌面系统
1、硬件准备树莓派4b、键盘、鼠标、显示器2、软件准备ubuntu-18.04.4-preinstalled-server-arm64+raspi3.img.xz、Win32DiskImager.exe、SDFormatter.exe3、使用软件将sd卡烧录Ubuntu18.04.4镜像,操作比较简单,不详述4、sd卡插入树莓派4b启动5、用户登录,用户名:ubuntu,密码ubuntu。sudo passwd root,给root设置密码然后su root切换成root登录。6、更改源,修改
2020-06-15 23:49:12 6203 4
原创 VMware安装ubuntu
1、安装VMwareVMware-workstation-full-15.5.0-14665864.exe + key2、ubuntu镜像下载ubuntu-18.04.4-desktop-amd64.iso3、VMware新建虚拟机选择ubuntu镜像后启动安装4、安装网络工具:apt install net-tools5、静态ip设置(桥接模式)#vi /etc/netplan/01-network-manager-all.yamlnetwork:version: 2renderer:
2020-06-15 09:59:28 371
原创 Python-3.7.0 源码安装
1、依赖包安装:yum install libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make2、python源码包:Python-3.7.0.tgztar -xzvf Python-3.7.0.tgzcd Python-3.7...
2018-10-01 20:55:16 5399
原创 vs设置qt应用程序图标ico
1、下载一个ico,拷贝到主函数工程目录下 2、新建一个文件如logo.rc,内容如下: IDI_ICON1 ICON DISCARDABLE “logo.ico” 3、修改主函数工程文件Main.vcxproj 在文件最后添加 <ItemGroup> <ResourceCompile Include="logo.rc" /> </I...
2018-04-27 17:15:04 2207 1
原创 详解vim插件安装及配置
前言 vim插件依赖项安装: dnf install python-future dnf install python-devel dnf install ncurses dnf install cmake dnf install ctags dnf install cscope 更新vi:dnf update vi 安装vim:dnf install vim 安装g++:dn...
2018-03-15 19:53:46 1174
原创 音频PCM数据总结
举一个例子: 采样率:8000HZ 采样精度:16bit 声道数:2个 一个采样点的数据大小:采样精度/8*声道数(即16/8*2=4byte) 一个采样点的数据分布: 一个采样点的数据值:以样本精度进行读取,多个通道相加(即16bit读取L声道值+16bit读取R声道值),读取时注意机器的大小端区别。 1s的数据大小:采样率*一个采样点的数据大小(即8000*4=32000by
2018-02-06 09:44:29 4206
原创 vs2015+opencv+qt+seetaface人脸识别程序
1、代码工程下载:https://pan.baidu.com/s/1qYMGmL2 2、请参考:http://blog.csdn.net/qq_39660930/article/details/77685919配置好工程 3、启动,效果如下: 4、功能:打开摄像头、图片目录、一张图片、一个视频,进行实现人脸识别,可人脸入库。 5、备注:中文支持可能不是很好。
2017-12-26 16:50:09 2618 3
原创 编译、运行、管理kbengine
0、下载源码并且在kbe/src目录下执行make https://pan.baidu.com/s/1hr7fNDy 1、创建一个用户 [root@localhost ~]# useradd kbe [root@localhost ~]# passwd kbe 2、安装数据库并且执行下面操作 mysql> create database kbe;mysql> use mysql my
2017-11-29 19:40:16 859
原创 vs2015编译apr-util
1、编译apr-util依赖两个库 a、apr库的编译安装:http://blog.csdn.net/qq_39660930/article/details/78589024 b、expat库的编译安装:http://blog.csdn.net/qq_39660930/article/details/78591375 2、apr-util源码下载: https://apr.apache.or
2017-11-21 14:14:05 1793 3
原创 vs2015编译expat
1、源码下载:https://sourceforge.net/projects/expat/files/expat/2.2.5/ 2、cmake一下 a、配置好源码目录、工程目录、安装目录 b、点击configure,选择vs2015平台32位或者64位 c、点击generate即可生成工程 3、vs2015打开工程,进行编译,暂时遇到的编译出错的情况是:无法解析外部符号_printf等,
2017-11-21 13:05:42 1692
原创 vs2015编译apr
1、下载源码:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3-win32-src.zip 2、cmake一下,配置好工程目录及install目录。 3、vs2015打开工程,进行编译,暂时遇到的编译出错的情况是:无法解析外部符号_printf等,只需要在对应的项目工程添加附加依赖库:legacy_stdio_definition
2017-11-21 09:30:51 1952 1
原创 git使用总结
1、初始化 git init 2、添加文件并且提交 git add readme.txt git commit -m “wrote a readme file” 3、修改文件并且提交 git add readme.txt git commit -m “wrote a readme file” 4、查看当前状态 git status 5、比较修改内容
2017-10-27 15:27:30 438
原创 计算两个非负整数的最大公约数
欧几里德算法(辗转相除法): 计算两个非负整数 p 和 q 的最大公约数: 若q 是 0, 则最大公约数为 p。 否则, 将 p 除以q 得到余数 r, p 和 q 的最大公约数即为 q 和r 的最大公约数。int gcd(int p, int q){ if (q == 0) return p; int r = p % q; return gcd(q, r);}
2017-10-26 20:42:45 2877 2
原创 H265
H265 1、H265一个图像序列的组成:VPS+SPS+PPS+SEI+一个I帧+若干个P帧。VPS、SPS、PPS、SEI、一个I帧、一个P帧都可以称 为一个NALU。 2、H265的NALU结构:开始码+NALU头+NALU数据 (1)、开始码大小为四个字节,是一个固定值00 00 00 01(十六进制),标识一个NALU的开始。 (2)、NALU头大小为两个字节,共
2017-10-13 11:35:17 9455 2
原创 H264
H264 1、H264一个图像序列的组成:SPS+PPS+SEI+一个I帧+若干个P帧。SPS、PPS、SEI、一个I帧、一个P帧都 可以称为一个NALU。 2、H264的NALU结构:开始码+NALU头+NALU数据 (1)、开始码大小为四个字节,是一个固定值00 00 00 01(十六进制),标识一个NALU的开始。 (2)、NALU头大小为一个字节,前3位暂不讨论,后
2017-10-13 11:20:20 3476
原创 Json用法
JSON用法简介 【JSON简介】 jsoncpp 主要包含三种类型的 class:Value、Reader、Writer。jsoncpp 中所有对象、类名都在 namespace Json 中,包含 json.h 即可。【VALUE】 Json::Value 是jsoncpp 中最基本、最重要的类,用于表示各种类型的对象,jsoncpp 支持的对象类型可见 Json::ValueType
2017-10-12 16:42:03 840 1
原创 C++总结
1、一个函数由四部分构成:返回类型、函数名、圆括号内的形参表(可能为空)和函数体。 2、main函数的形参个数是有限的,返回值必须是int型,返回0表示main函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。通常非零返回值表明有错误出现。每一种操作系统都有自己的方式告诉用户main函数返回什么内容。 程序执行完以后输入echo $?查看main函数的返回值。 3、C++程序文件的
2017-10-12 16:38:54 257
原创 Linux系统编程总结
Linux下的多线程编程 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念
2017-10-12 16:34:01 11985
原创 Linux网络编程总结
网络编程 1、int socket(int domain, int type,int protocol) domain:说明我们网络程序所在的主机采用的通讯协族(AF_UNIX和AF_INET等). AF_UNIX只能够用于单一的Unix系统进程间通信,而AF_INET是针对Internet的,因而可以允许在远程 主机之间通信(当我们 man socket时发现 domain可选项是 PF_*
2017-10-12 16:25:30 775
原创 shell脚本-头文件名大小写纠正
generate_file_list.sh:#!/bin/bashfile_list=`pwd`/file_listecho $file_listcd $1used_headers=$(grep -R "#include" -h | sed 's/[[:space:]]//g' | grep -E "^#" | sed 's/^.\{9\}//g' | sed 's/[\">].*//g'| s
2017-10-12 15:31:36 599
原创 Lua总结
一、安装 1、 Lua 是用纯粹的 ANSI C 实现的一个开源软件,是一门强大、快速、轻量的嵌入式脚本语言。 2、 获取Lua源代码 http://www.lua.org/ 3、 编译Lua源代码 (1)在lua-5.3.0 目录下执行make可以查看支持的平台,编译源代码执行”make 平台名”即可。编译好以后在src目录下可以看到lua和luac两个可执行程序。(定制Lua 特性 —
2017-10-12 15:15:08 650
原创 YUV图像格式
假设一个分辨率为8*4(w*h)的YUV图像,则内存分布如下: 一、YUV420(YUV420-Package) 二、YUV420P(YUV420-Planar) 1、I420 2、YV12 三、YUV420SP(YUV420-Semeplanar) 1、NV12 2、NV21
2017-10-12 14:32:49 1550
原创 操作excel表格通过身份证号计算年龄
1、将excel表格另存为csv格式,比如文件内容如下: 2、我们的目的是在身份证号后面一列加上年龄。 3、代码实现的功能是批量处理多个类似的文件,自动计算年龄。 4、注意将处理的文件放在工程work目录下,且在工程目录下新建一个out目录。 5、main.cpp:#include <iostream>#include <fstream>#include <sstream>#inc
2017-09-28 17:45:09 1882
原创 c++提取string里的数字
直接上代码:float to_float(string s) { int i = 0,n = 0; int point_index = s.find('.'); float result = 0,under_0 = 0;//under_0存储小数部分 if (count(s.begin(), s.end(), '.') > 1) {
2017-09-28 16:34:59 18458 2
编译opencv需要使用的源码,注意不同的交叉编译链需要选择不同的版本号,否则编译链不支持某些特性会编译不通过
2024-04-15
C++开发Qt项目环境搭建
2022-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人