- 博客(55)
- 资源 (13)
- 收藏
- 关注
原创 退出该博客平台声明
试用c。s。d。n快三个月了,最不满的就是审核的问题。1.我自己写的东西因为有误修改了一下再提交就说我的博文已有相似的,审核不通过,不止一次。2.反而好奇有人抄了我的却发出去了这应该是最后一次在这里发文了,bye!已经发布的内容保留,后面考虑要不要将旧的内容迁移到新的。这个是我的个人主页,我在用中的博客的入口也在里面。...
2021-03-22 09:02:20 375 1
原创 基于随机森林的手写数字识别 (OpenCV)
OpenCV 4.5.1C++20Ubuntu 20.04素材来源,基于 K近邻博文 中原5000个手写数字得到的按行排列的手写数字数据以及对应行的标签, 保存为图片后直接放到这里使用,避免重复数据处理(右键图片另存为)行数据.png标签.png6.png组态档# 设置用于构建该项目的最低cmake版本cmake_minimum_required(VERSION 3.1)# 设置项目名称和编程语言project(opencv_demo CXX)# 寻找opencv的头文
2021-03-14 09:00:18 598
原创 基于决策树的手写数字识别 (OpenCV)
素材来源,基于 K近邻博文中原5000个手写数字得到的按行排列的手写数字数据以及对应行的标签, 保存为图片后直接放到这里使用,避免重复数据处理(右键图片另存为)行数据.png标签.png
2021-03-14 08:35:37 1621
原创 基于K近邻的手写数字识别 (OpenCV)
OpenCV 4.5.1C++20Ubuntu 20.04 (示例程序代码有用到Linux系统调用,不可直接适用于其它系统)组态档CMakeLists.txt# 设置用于构建该项目的最低cmake版本cmake_minimum_required(VERSION 3.1)# 设置项目名称和编程语言project(opencv_demo CXX)# 寻找opencv的头文件和库文件find_package(OpenCV REQUIRED)# opencv头文件路径include_d
2021-03-13 23:09:39 2334 1
原创 Ubuntu 20.04下安装谷歌浏览器
适用于Debian系x64下载cd /tmp && wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb安装sudo dpkg -i google-chrome-stable_current_amd64.deb如果遇到缺依赖,执行命令自动补齐依赖sudo apt install --fix-broken...
2021-03-06 00:24:54 1469
原创 1g 路由器使用
时间: 2021-3-11.路由器的连接(1) 路由器上黄色插口处用网线连接到墙上的宽带口(2) 另外LAN口连接到电脑上(电脑没网口就用USB网卡,如下图),或者可以选择通过WiFi连接路由器 (初始WiFi有两个,名字都以 PHICOMM_ 开头,带有5G的为5GHz频段,另外一个是2.4GHz, 初始密码都是 1234567890 ,随便连哪个都行)2.登录路由器管理页面(1) 浏览器地址栏输入 192.168.2.1 ,然后回车键打开(2) 初始用户名和密码都是 admin(3)
2021-03-01 17:19:32 3602 3
原创 全新安装的Termux配置Ubuntu环境
基于 Termux 0.101 测试换国内源默认官方源在国外速度慢,有梯子的话也可以不换. 这里换清华源为例 更多执行命令sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.bfsu.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.listsed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://
2021-02-25 10:41:32 9058 1
原创 Ubuntu 20.04 server 切换中文语言
1.安装区域设置 (locales)Ubuntu 一般是预装了的, Kali Linux 和 Debian可能没有,就需要安装# 更新索引sudo apt update# 安装localessudo apt install locales2.区域设置sudo dpkg-reconfigure locales向下翻,在靠近末尾的位置找到 zh_CN.UTF-8 UTF-8 , 用 空格键 选中前面会添上 * ,然后回车键再次选择 zh_CN.UTF-8 , 然后回车完成设置3
2021-02-23 20:42:55 13575
原创 Windows 10安装 WSL2 (Ubuntu 20.04)
条件对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。配置安装1.以管理员权限运行 powershell2.启用Windows10子系统功能dism.exe /online /enable-feature /featurename:Microso
2021-02-20 21:37:00 12944 2
原创 Ubuntu20.04添加Kali Linux源
前言一般Kali Linux的软件在Ubuntu下也是能正常使用的, 都是Debian系Linux(使用apt管理软件包), 从Debian衍生而来的. 对于我而言,使用Kali Linux的镜像, apt安装的软件更新,有时候甚至能安装最新的,减少了不少麻烦. 就比如目前我安装opencv, Debian的apt最新只能安装到3.4, Ubuntu最新能安装到4.2, Kali可以安装去年12月份才发布的4.5.1。 不使用Kali的镜像源,要安装新版的,就只能采用从github获取源码自己构建的方式,
2021-02-20 10:52:56 3310
原创 gtk+3/gtkmm3导入
基于Ubuntu 20.04 中科大镜像源简述gtk+是提供C语言接口, gtkmm是提供C++接口,且gtkmm依赖于gtk+安装# gtk+3/gtkmm3sudo apt install libgtk-3-dev libgtkmm-3.0-dev# 开发工具sudo apt install build-essential cmake pkg-config# gtk+版本查看pkg-config --modversion gtk+-3.0# gtkmm版本查看pkg-con
2021-02-19 21:52:27 656
原创 Ubuntu20.04添加和删除swap分区
前言:刚才在云服务器上编译安装OpenCV,已经到99%了,结果失败了,重复继续好几次都是进程被杀掉了,才注意了一下编译时的资源占用情况,云服务器的2GB运行内存基本都占满了.因此猜测是进程占用过高被系统杀掉了,之前在本地PC和树莓派4B(4G)上编译内存是够用的,倒是没遇到这种情况,也没关注,所以又特意再次在本地编译试验,发现最高占用时会差不多接近3GB. 所以更肯定判断是内存不够时系统杀掉高占用的进程导致构建OpenCV失败.然后马上为云服务器添加了4GB的swap文件,成功编译完. 特做以下纪录
2021-02-18 22:03:40 3656 3
原创 msys2配置cmake构建环境
注:本人主要在Linux下作开发,使用msys是为了方便移植到Windows下, 做以下纪录方便环境配置1.换源# 更新本地软件数据库pacman -Sy2.安装开发工具pacman -S mingw-w64-x86_64-toolchain make cmake vim3.配置环境[1]切换活动页码为65001,以支持 UTF-8 中文正常输出echo "chcp.com 65001" >> ~/.bashrc [2]设置 ls 颜色效果 echo 'alias ls
2021-02-18 01:30:45 5388
原创 亚博 树梅派智能贴身管家
上图是原装的硬件,我这里将OLED更换了,主要是原版的长条OLED太碍事了,如果插上CSI摄像头,排线也要和那块OLED屏杠上下面是实际的效果图:简介:硬件本身是I2C接口的,控制程序是基于wiringPi库的接口的, 程序主体我用C++写的,. 主要功能:OLED: 显示 CPU使用率, CPU温度, RAM使用情况, 磁盘(内存卡)使用情况, IP彩色LED: 根据温度不同,闪烁模式会变化风扇: 达到设定的温度会全速转动, 低于设定的温度一定时间停止转动 (硬件本身支持调速的,...
2021-02-16 23:28:47 660 1
原创 VMware虚拟机Ubuntu无法使用摄像头的问题
注: 之前我在使用Ubuntu的虚拟机中,搞OpenCV开发(需要使用摄像头), 遇到了摄像头无法使用的问题, 后面折腾了很久才发现 USB3.1 兼容设置的问题. 刚才又用新的虚拟机配置环境,又遇到了之前的问题,因此做个记录1.摄像头未连接到虚拟机VMware右下角2.在1中已连接的情况下,拍照软件打开是黑屏,或者获取摄像头视频流超时,而摄像头指示灯正常亮起 (笔记本电脑摄像头使用中一般会亮LED指示灯), 这种情况一般出现在使用USB3.x的电脑上,这种情况则需要修改虚拟机USB兼容设置,
2021-02-15 14:50:45 2953 2
原创 6 OpenCV xml和yaml读写
首页/** * @author IYATT-yx * @date 2021-2-9 * @brief XML和yaml读写 */#include "opencv2/opencv.hpp"#include <iostream>#include <string>int main(int argc, char *argv[]){ if (argc != 3) { std::cout << "参数错误: xml/yaml 图片路径" <<
2021-02-09 23:34:18 124
原创 5 OpenCV 特征检测与匹配
首页在图像处理中有时不需要使用所有的像素点,比如二维码定位时只需要二维码的4个顶点,因此有时我们需要从图像中提取能够表示图像特征性或者局部特性的像素点,这些像素点称为角点或者特征点, 使用特征点可以极大的减少数据量,提高计算速度.角点检测常用的角点:灰度梯度的最大值对应的像素点两条直线或者曲线的交点一阶梯度的导数最大值和梯度方向变化率最大的像素点一阶导数值最大, 但是二阶导数值为0的像素点Harris角点/** * @author IYATT-yx * @date 2021
2021-02-04 18:06:33 443
原创 3 OpenCV 像素操作
首页cv::Mat储存的数据类型数据类型具体类型取值范围type()CV_8U8位无符号整数0~25516CV_8S8位符号整数-128~12717CV_16U16位无符号整数0~6553518CV_16S16位符号整数-32768~3276719CV_32S32位符号整数-2147483648~214748364720CV_32F32位浮点整数-FLT_MAX~FLT_MAX,INF,NAN21CV_64
2021-02-03 01:13:53 231
原创 2 OpenCV 图像初步
首页图像/** * @author IYATT-yx * @date 2021/2/2 * @brief 显示图片和保存图片 */#include "opencv2/opencv.hpp"#include <iostream>#include <string>int main(int argc, char *argv[]){ if (argc > 2) { std::cout << "参数过多" <&l
2021-02-02 17:03:56 162 1
原创 0 OpenCV记录
PS: 环境Ubuntu 20.04, C++11, OpenCV 4.5.10 安装OpenCVCMakeLists.txt 模板# cmake 最低版本要求cmake_minimum_required(VERSION 3.1)# 创建工程project(OpenCV_demo)# 指定编译参数add_compile_options(-std=c++11 -Wall -Werror -Wextra -pedantic -Wimplicit-fallthrough -Wsequence-p
2021-02-01 22:27:22 224
原创 1 安装OpenCV
注: 基于Ubuntu 20.04 ,针对C++开发的,如果使用Python,可以用pip安装opencv-python这个包就行,还是最新版的(选项1) 源码编译安装PS: 可以安装当前最新版本,目前最新 OpenCV 4.5.1 (2020-12-22)1.换镜像源,建议阿里云的帮助阿里云镜像将对应的镜像站地址复制, 覆盖到 /etc/apt/sources.list然后执行命令更新本地数据库sudo apt update2.编译# 自动安装依赖 (请确保有源码镜像,如果照说明
2021-02-01 22:14:13 395
原创 树梅派使用部分传感器的示例源码
注: 基于硬件: Raspberry Pi 4B 4G 1.1系统: Raspberry Pi OS 64bit betaSDK: wiringPi语言: C++11测试通过CMakeLists.txtcmake_minimum_required(VERSION 3.1)project(demo)add_compile_options(-std=c++11 -Wall -Werror -Wextra -pedantic -Wimplicit-fallthrough -Wsequen
2021-02-01 01:29:22 480
原创 Git基础操作
注: 基于Ubuntu 使用git和github,已有github帐号,下面中括号扩起来的都需自行替换1.安装sudo apt install git2.基本信息设置设置github用户名git config --global user.name '[用户名]'设置github的邮箱git config --global user.email '[邮箱]'3.配置验证密钥生成密钥ssk-keygen -C '[邮箱]' -t rsa -b 4096中间让你设置密
2021-01-31 21:16:59 2675 1
原创 14 Linux 本地套接字 (可进程间通信)
前言 (含目录)#define UNIX_PATH_MAX 108struct sockaddr_un{ __kernel_sa_family_t sun_family; char sun_path[UNIX_PATH_MAX];}下面两个分别是服务端和客户端的示例源码/** * @name server.c * @author IYATT-yx * @brief 本地套接字TCP通信 - 服务器端 */#include <stdio.h>#include &l.
2021-01-31 11:10:08 128
原创 12 Linux UDP简单通信
前言 (含目录)下面分别是服务器端和客户端的源码, 基于UDP的简单通信/** * @name server.c * @author IYATT-yx * @brief 套接字UDP通信 - 服务器端 */#include <sys/socket.h>#include <stdio.h>#include <stdlib.h>#include <arpa/inet.h>#include <stdbool.h>#includ.
2021-01-30 01:18:10 107
原创 11 Linux I/O多路复用
前言 (含目录)先构造一张有关文件描述符的列表,将要监听的文件描述符添加到该表中.然后调用一个函数,监听该表中的文件描述符,直到这些描述符表中的一个进行I/O操作时,该函数返回. (该函数为阻塞函数) (函数对文件描述符的检测操作是由内核完成的)在返回时,它告诉进程有多少(或哪些)文件描述符要进行I/O操作.select/** * @brief 检测文件描述符引用的对象是否发生变化 * @param nfds 要检测的文件描述符中最大的fd + 1 (1024) * @para.
2021-01-28 01:03:14 147
原创 9 Linux 网络编程中的部分基础概念
前言 (含目录)网络应用程序设计模式C/S (client/server)优点1.协议选用灵活2.可以缓存数据缺点1.对用户安全构成威胁2.开发工作量大,调试困难* B/S (brower/server)优点跨平台缺点只能使用http...
2021-01-26 10:47:29 133
原创 8 Linux 线程
前言 (含目录)进程创建子线程后,父线程和子线程共用一个虚拟地址空间,但是各自在内核区中有独立的 PCB通过PID查该进程下的线程LWPps -Lf [PID]多进程和多线程比较:共享的资源多进程.text文件描述符内存映射区…多线程堆全局变量…线程更为节省资源创建进程时,子进程的代码和父进程一样; 而创建线程,则需要指定这个线程去执行一个具体的函数.// 创建线程int pthread_create(pthread_t *thread, c.
2021-01-22 02:11:30 155
原创 7 Linux 守护进程
守护进程特点后台服务进程独立于控制终端周期性执行某任务不受用户登录注销影响一般采用以d结尾的名字 (服务)进程组组长:第一个进程进程组ID:组长的ID会话 (多个进程组)创建会话:* 不能是进程组长* 创建会话的进程成为新进程组的组长* 部分Linux发行版需要root* 创建出的新会话会丢弃原有的控制终端* 一般步骤:fork()在\创建子进程,父进程死,子进程执行创建会话操作创建会话:setsid()获取所属会话ID:getsid()创建守护进程的模型for...
2021-01-21 21:29:27 115
原创 6 Linux 进程间通信(IPC)
/** * @author IYATT-yx * @brief 验证进程之间无法使用全局变量进行通信 */#include <stdio.h>#include <sys/types.h>#include <unistd.h>int num = 15;int main(void){ pid_t pid = fork(); if (pid > 0) { printf("父: %d\n", num);
2021-01-20 00:43:53 183
原创 5 Linux 进程初探
体验进程创建/** * @author IYATT-yx * @brief 创建进程 */#include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(void){ // fork创建子进程,子进程的虚拟地址空间和父进程一样(pid不一样) // 不可确定父进程和子进程谁先执行 pid_t pid = fork(); // 父进程中fork的返回值
2021-01-19 00:34:27 126
原创 4 Linux 系统部分基础概念
程序未运行时,置于磁盘中的二进制文件进程启动运行后的程序,数据在内存中,占用CPU等系统资源并发在一个时间段内有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任何时刻点上只有一个程序在处理机上运行并行一组程序按独立异步的速度执行,每个时刻点程序都是一起执行的...
2021-01-18 00:45:41 172 1
原创 3 Linux 目录操作
文件重命名: rename 函数修改当前进程路径: chdir 函数获取当前进程路径: getcwd 函数创建目录: mkdir 函数/** * @author IYATT-yx * @brief 读目录 */#define _GNU_SOURCE#include <stdio.h>#include <dirent.h>#include <sys/types.h>#include <string.h>int main(int ar
2021-01-17 18:03:42 124 1
原创 2 Linux 文件属性
stat 与 lstatstat 命令的使用:struct stat{ // 文件的设备编号 dev_t st_dev; // 节点 ino_t st_ino; // 文件的类型和存取的权限 mode_t st_mode; // 链到该文件的硬链接数目 nlink_t st_nlink; // 用户ID uid_t st_uid; // 组ID gid_t st_gid; //
2021-01-16 23:30:51 240
原创 1 Linux 文件读写
未完…// Auther: IYATT-yx#include <stdio.h>#include <sys/stat.h>#include <sys/types.h>#include <fcntl.h>#include <unistd.h>int main(int argc, char **argv){ if (argc != 3) { printf("请指定两个参数,分别为 [源文件] [目标文件
2021-01-16 00:16:28 190
opencv_4.5.1.zip
2021-02-02
opencv-4.5.1-20210116-arm64.deb
2021-01-31
手写代码必备手册(C++版).pdf
2021-01-13
适用于树莓派64位系统的wiringPi库
2021-01-09
OpenCV 4.5 基础+扩展 源码
2021-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人