以往文章
文章平均质量分 70
归类之前发布的文章
程序员阿周
C++硬核开发!
展开
-
virtualbox安装Fedora
virtualbox安装Fedora64位,ip、nfs、telenet、ssh、增强工具的安装和设置。原创 2017-08-02 09:16:44 · 1841 阅读 · 0 评论 -
vs2015学习qt562_64位的opencv人脸检测项目工程配置
1、说明:文档中不懂的地方可参考:vs2015学习opencv330_64位的工程配置 。 2、vs2015下载安装 3、vs2015的qt插件下载安装 4、qt库下载安装(最后的分享地址中,在qt库的目录下面找到安装包,安装好后再把需要的库拷贝到qt库目录下) 5、opencv330_64位库下载(最后的分享地址中,在opencv库的目录下面找到安装包,安装好后再把需要的库拷贝到ope原创 2017-08-29 19:57:13 · 1688 阅读 · 0 评论 -
opencv svm分类
void svm(){ // 视觉表达数据的设置 int width = 512, height = 512; Mat image = Mat::zeros(height, width, CV_8UC3); //建立训练数据 int labels[4] = { 1, -1, -1, -1 }; Mat labelsMat(4, 1, CV_32SC1,原创 2017-08-25 16:44:54 · 409 阅读 · 0 评论 -
SecureCRT8.0的使用
securecrt设置:自动登录、高亮、日志、乱码解决、回滚缓冲区、按钮。原创 2017-08-21 14:37:57 · 16496 阅读 · 0 评论 -
opencv canny边缘检测
void cannyImg(){ //载入原始图 Mat srcImage = imread("1.jpg"); imshow("原图", srcImage); Mat edge; //转为灰度图像 cvtColor(srcImage, edge, COLOR_BGR2GRAY); //滤波降噪 blur(edge, edge, Siz原创 2017-08-25 16:03:47 · 518 阅读 · 0 评论 -
opencv人脸检测
void faceDectect(){ //文件在opencv解压的目录里找,拷贝到Main工程目录下 String face_cascade_name = "haarcascade_frontalface_alt.xml"; String eyes_cascade_name = "haarcascade_eye_tree_eyeglasses.xml"; Casc原创 2017-08-25 16:36:40 · 379 阅读 · 0 评论 -
Makefile
makefile管理工程,静态库、动态库的生成,链接可执行程序。.d文件增加头文件依赖。完整示例工程管理。原创 2017-08-23 14:08:45 · 555 阅读 · 0 评论 -
opencv腐蚀操作
void erodeImg(){ //载入原图 Mat srcImage = imread("1.jpg"); //显示原图 imshow("原图", srcImage); //腐蚀 Mat element = getStructuringElement(MORPH_RECT, Size(15, 15)); Mat dstImage;原创 2017-08-25 15:57:18 · 2038 阅读 · 0 评论 -
visual studio的使用
1、新建解决方案。 2、新建项目:静态库、动态库、控制台应用项目(可执行程序)等。 3、项目配置时注意是Release还是Debug,Win32还是X64。 4、配置静态库的依赖头文件路径、输出目录、输出文件后缀名、依赖项目(生成此项目前先生成依赖项目)。 5、配置可执行程序的依赖头文件路径、依赖库路径、依赖库输入、依赖项目。 6、配置可执行程序的依赖dll路径或者拷贝dll到可执行程序e原创 2017-08-30 15:13:34 · 3686 阅读 · 0 评论 -
C++封装opencv读取视频与摄像头的库
GetImage.h#ifndef _GET_IMAGE_H_#define _GET_IMAGE_H_#include "opencv2/highgui.hpp"using namespace cv;#define FILENAMELEN 1000typedef enum enGetImgMode{ GET_IMG_MODE_RECORD, GET_IMG_MODE_CAM}原创 2017-08-25 17:48:54 · 1038 阅读 · 0 评论 -
opencv读取视频与摄像头
void playVideo(){ //读入视频 VideoCapture capture("1.avi"); while (1) { Mat frame; capture >> frame; if (frame.empty()) { return; }原创 2017-08-25 16:07:18 · 354 阅读 · 0 评论 -
windows快捷键
windows快捷键:常用的易忘的放在前面 方向键符号:↑ ↓ ← →F2 重命名选中项目(可选中多个文件使用)F4 显示资源管理器的地址栏列表Win + E 打开资源管理器Ctrl + N 打开新窗口Ctrl + W原创 2017-08-30 15:28:33 · 470 阅读 · 0 评论 -
vs2015学习opencv330_64位的工程配置
vs2015学习opencv330 64位的工程配置,适用于任何第三方库的使用。原创 2017-08-08 18:48:02 · 2720 阅读 · 0 评论 -
SourceInsight4.0的使用
SourceInsight使用教程。原创 2017-08-23 10:01:43 · 70794 阅读 · 12 评论 -
opencv读取、显示、保存图片
void showImg(){ char* imageName = "1.jpg"; Mat image; //read image image = imread(imageName, CV_LOAD_IMAGE_COLOR);//读取图片 if (!image.data) { printf("Error loading image \原创 2017-08-25 15:54:32 · 10645 阅读 · 0 评论 -
opencv均值滤波
void blurImg(){ //载入原始图 Mat srcImage = imread("1.jpg"); //显示原始图 imshow("原图", srcImage); //均值滤波 Mat dstImage; blur(srcImage, dstImage, Size(7, 7)); //显示效果图 imshow("均值滤波原创 2017-08-25 15:59:34 · 1726 阅读 · 0 评论 -
C++封装Mysql数据库
1、Fedora安装mysql,也可以说是安装maraidb。 dnf install mysql;dnf install mysql-server 2、写代码,代码地址:http://pan.baidu.com/s/1hsAGjrQ原创 2017-09-25 17:32:19 · 1154 阅读 · 0 评论 -
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 · 634 阅读 · 0 评论 -
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 · 18380 阅读 · 2 评论 -
RTSP协议
1、rtsp介绍 RTSP协议是有状态的协议,而HTTP是无状态的协议。RTSP通过维护一个session来维护其状态的转换。RTSP协议的默认端口是554,默认的承载协议为TCP。 RTSP消息格式: RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同。请求消息(客户端向服务器发送的套接字内容): 方法 URI RTSP版本 CR原创 2017-08-30 15:59:20 · 1118 阅读 · 0 评论 -
extern "C"的使用
用extern “C”修饰函数是为了告诉编译器在编译源文件时是否对原函数名进行扩展。具体使用如下图:原创 2017-09-06 15:52:30 · 235 阅读 · 0 评论 -
代码大全总结
一、隐喻 构建代码就像建筑房屋 二、软件类型及开发方法 三、需求分析 四、架构 五、构建 六、 七、 八、原创 2017-10-12 15:07:15 · 423 阅读 · 0 评论 -
html
<!-- 注释 --><!-- <!DOCTYPE>声明有助于浏览器中正确显示网页。网络上有很多不同的文件,如果能够正确声明HTML的版本,浏览器就能正确显示网页内容。doctype 声明是不区分大小写的。 --><!DOCTYPE html><html> <head> <!-- 为搜索引擎定义关键词: --> <meta name="keywords"原创 2017-08-30 16:09:34 · 337 阅读 · 0 评论 -
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 · 585 阅读 · 0 评论 -
linux系统管理总结
www.freshmeat.net www.justlinux.com www.kernel.org www.linux.com www.linuxhq.com www.linuxtoday.com www.chinaunix.net www.linuxeden.com www.linuxfans.org www.linuxsir.org 1、硬盘 IDE硬盘称为hd,SCSI原创 2017-09-13 12:59:14 · 605 阅读 · 0 评论 -
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 · 1528 阅读 · 0 评论 -
windows下c++读取一个目录下的所有文件
#include <iostream>#include <io.h>using namespace std;void readFileName(){ _finddata_t file; long lf; if((lf = _findfirst("work\\*.*", &file))==-1l) { cout<<"文件没有找到!\n"; }原创 2017-09-28 16:19:35 · 2053 阅读 · 0 评论 -
操作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 · 1826 阅读 · 0 评论 -
c语言+linux系统调用汇聚总目录下(含子目录)的所有文件到一个目录
1、使用方法 将main.c拷贝到总目录下,编译成a.out,运行a.out即可在总目录下的dstPath文件夹下汇聚总目录下(含子目录)的所有文件(main.c和a.out已排除)。 2、汇聚可以修改代码来决定是mv还是cp。 3、文件名有特殊字符的情况,有些字符代码已经转义,如果还有其他的转义即可。main.c:#include <stdio.h>#include <stdlib.h>原创 2017-09-27 10:36:36 · 646 阅读 · 0 评论 -
海思3519编译opencv320库
1、Fedora安装cmake、cmake-gui。 dnf install cmake;dnf install cmake-gui; 2、opencv320源码下载:https://github.com/opencv/opencv/archive/3.2.0.zip 3、Fedora安装海思3519编译器,见海思文档。 4、将opencv源码解压到虚拟机/root/work/opencv3原创 2017-09-21 11:29:14 · 3699 阅读 · 2 评论 -
SDP协议
1、SDP介绍 SDP是会话描述协议的缩写,是描述流媒体初始化参数的格式,由IETF作为RFC 4566颁布。流媒体是指在传输过程中看到或听到的内容。一个SDP包含一个会话层部分,后续跟着0个或者多个媒体层部分。会话层起始于“v=”行,直到第一个媒体层部分。每个媒体层都起始于“m=”行,直到下一个媒体层的开始或者直到SDP结束。通常,会话层的属性是全局的,除非被媒体层重写。 (1)会话信息 ·原创 2017-08-30 15:35:10 · 534 阅读 · 0 评论 -
C++总结
1、一个函数由四部分构成:返回类型、函数名、圆括号内的形参表(可能为空)和函数体。 2、main函数的形参个数是有限的,返回值必须是int型,返回0表示main函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。通常非零返回值表明有错误出现。每一种操作系统都有自己的方式告诉用户main函数返回什么内容。 程序执行完以后输入echo $?查看main函数的返回值。 3、C++程序文件的原创 2017-10-12 16:38:54 · 238 阅读 · 0 评论 -
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 · 753 阅读 · 0 评论 -
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 · 821 阅读 · 1 评论 -
C语言总结
1、标识符:字母、下划线、数字组成。字母或者下划线开头。区分大小写。关键字不是标识符。 标识符两个主要属性:类型和存储类。 类型有:基本类型(整形类型和浮点类型)、空类型(void)、枚举类型(enum)、派生类型(指针*、数组[]、结构体struct、共用体union、函数)。 存储类分为两类:自动存储类(auto、register)和静态存储类(static、extern)。 类型限定符原创 2017-09-06 14:09:34 · 709 阅读 · 0 评论 -
Linux系统编程总结
Linux下的多线程编程 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。 为什么有了进程的概念原创 2017-10-12 16:34:01 · 11937 阅读 · 0 评论 -
音频PCM数据总结
举一个例子: 采样率:8000HZ 采样精度:16bit 声道数:2个 一个采样点的数据大小:采样精度/8*声道数(即16/8*2=4byte) 一个采样点的数据分布: 一个采样点的数据值:以样本精度进行读取,多个通道相加(即16bit读取L声道值+16bit读取R声道值),读取时注意机器的大小端区别。 1s的数据大小:采样率*一个采样点的数据大小(即8000*4=32000by原创 2018-02-06 09:44:29 · 4119 阅读 · 0 评论 -
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 · 338 阅读 · 0 评论 -
网络带宽测试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 · 662 阅读 · 1 评论 -
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 · 4852 阅读 · 5 评论