自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 python绘制折线图

python可以通过excel读取所要绘制的数据,数据名放在第一行,这里取名为data1,data2,和data3.python通过调用matplotlib可以实现基本的数据图处理,而且操作方便,可以替代matlib的部分功能。上面的图横坐标开始与结束都是有刻度,而且0刻度处显示与坐标轴重合,因此需要对其进行调整。通过下述代码可以实现绘制。

2022-09-12 15:05:02 4482 1

原创 Ubuntu与arm开发板之间构建NFS数据通道

nfs主要是可以在开发板和主机之间搭建一个共享文件夹,在文件夹中的文件双方可以共享,免除了传输文件的过程,其他常用的方法还有scp和基于zmodem的rz,sz。(1)主机使用的是虚拟机中的ubuntu18,首先更新下载源。tuzhong然后下载相关软件安装成功如下(2) 创建一个共享文件夹,之后可以在此文件夹内实现上位机与开发板之间内容共享,这里是在imx6ull目录下创建了workdir关于linux系统相关配置文件都会存放在etc/文件夹下。

2022-09-04 20:02:57 488

原创 ubuntu18安装教程

先给boot分配256M的内存,这是启动操作系统的关键。接下来给交换分区swap分配空间,这里分配与计算机的内存大小有关,因为是虚拟机这里就分配了2G,对于swap area选取应当在上面选择,不然会找不到。最后将剩余的空间给根目录,因为linux的所有文件都是挂载在根目录上,也就是分配给今后使用。

2022-09-04 16:09:59 7808

原创 stm32F4xxTim定时器的使用

对于tim首先要了解主要寄存器代表的意义1。状态寄存器中的UIF,表示计数器完成一次计时周期,产生中断。2.CNT寄存器显示计时的个数,当计时个数达到设定的period时会产生中断。3.psc代表分频,是将APB传来的时钟再次分频,达到计时器的需要。4.ARR寄存器就是配置的period,表示计时器的一次计时周期5.ccr寄存器是用来输出pwm波型的,数据介于0-period之间,表示方波的占空比。...

2022-08-28 20:24:55 1304

原创 win32创建自定义窗口类

在创建窗口时不能每一次都对各种参数进行设定,这样的话会使代码复杂而且降低开发效率,创建自定义窗口类可以在使用时直接进行实例化,只需要一行代码便可以实现。以下代码学习此项目https://github.com/planetchili/hw3d创建自定义窗口类windowst.h#pragma once#include <string>#include <sstream>#include <windows.h>#include "ChiliExceptrion.

2022-04-29 16:31:24 528

原创 winapi实现自定义消息处理类

上一篇介绍了如何实现主窗口界面的创建,接下来创建一个消息处理类,可以实现各种消息的可视化显示,使我们熟悉界面变化时出现的各种消息,为以后的开发打下基础。这里创建了类WindowsMessageMap.h#pragma once#include<unordered_map>#include<string>#include<Windows.h>class WindowsMessageMap{public: WindowsMessageMap() noexce

2022-04-29 15:27:23 300

原创 const在C++中的应用

const在c++中使用比较广泛,主要起着限定的作用,即在程序运行过程中限定的内容不会去改变别的变量或者自身改变,接下来具体介绍const的用法#1 const在常量的应用这里主要是int const+常量与const int+常量可以替换使用下面在程序中试图修改常量的值int main(void) { int const a[7]; //错误必须赋初值 const int m=7;//正确 m=8;//错误表达式必须是可修改的左值 system("pause");

2022-04-21 10:28:31 1548

原创 基于visual2019开发winapi窗口

最近在学习音视频处理,过程中有用到DirectX接口创建视频播放器,因此便找了相关的项目进行学习,前部分主要是关于win32api的介绍,代码学习源参考下面链接。https://github.com/planetchili/hw3d本部分是介绍关于界面的基础知识,首先是创建一个简单的win32界面,并接受界面上的消息。工具是是visual2019这里首先创建主函数,将其命名位directx_test.cpp头文件#include <Windows.h>包含着所需要的基础定义在创建

2022-04-18 17:07:02 507

原创 关于visual配置ffmpeg方法

关于ffmpeg的下载,网上提供三种版本,由于要基于visual上面的C++开发,因此需要获取包含头文件的源码,但是网上提供的下载方法网址已经改变,而且大部分都是使用编译好的ffmpeg,通过配置环境变量便可以进行使用,其中不包含头文件。经过查找,目前的完全版代码在下图位置点击之后进入页面寻找下载完成之后进行解压,其中include包含头文件,lib包含链接库之后对ffmpeg进行visual stdio 2019上的配置,首先创建一个项目。配置相关的头文件和库文件目录,此处使用$(Solut

2022-04-16 21:56:33 2256

原创 visual stdio 2019 连接github

最近在学习winapi相关知识,本地的代码有点乱,因此想到再github上进行托管,因为visual 2019集成有git,因此只需下载相关的插件便可以应用。在管理拓展中搜索github下载,下载之后需要关闭visual2019,然后弹窗选择安装,安装完成之后重启visual 2019安装成功之后便可以登录自己的GitHub账号,选择窗口登录,之后可以远程创建仓库,设置好本地路径,之后在里面存放本地项目文件。这里我已经创建,可以在网站上看到新建的仓库winapi之后便是提交代码了在解决方案管理

2022-04-16 17:40:20 782

原创 187. 重复的DNA序列

重复的DNA序列所有 DNA 都由一系列缩写为 ‘A’,‘C’,‘G’ 和 ‘T’ 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来找出所有目标子串,目标子串的长度为 10,且在 DNA 字符串 s 中出现次数超过一次。主要思路就是将所有可能出现的字符串放到unordered_set中,当重复时则将重复的字符串放到另一个unordered_set中防止最终结果中出现重复字符串。class Solution {pu.

2021-10-08 21:07:21 104

原创 C++ this指针

1.this指针的作用一个对象可以拥有很多个成员;而在很多个对象中间,我们为了证明某个成员是自己的成员,而不是其他对象的成员,我们同样需要给这些成员取上名字。在C++中,我们利用this指针帮助对象做到这一点,this指针记录每个对象的内存地址,然后通过运算符->访问该对象的成员。2.this指针存在位置首先看下列的例子,我们平常使用实例对象的操作。#include <iostream>class Simple{private: int m_id;public:

2021-06-28 13:07:36 162

原创 C++ 智能指针

一 什么是智能指针由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。智能指针主要用于管理在堆上分配的内存,它将普通的指针封装为一个栈对象。当栈对象的生存周期结束后,会在析构函数中释放掉申请的内存,从而防止内存泄漏,智能指针的作用原理就是在函数结束时自动释放内存空间,不需要手动释放内存空间。例如在函数中new申请空间之后,会调用dele

2021-06-27 12:24:23 363

原创 C++中move的使用

1.引言在学习move使用的时候首先要分清C++中的左值和右值。因为关于左值和右值区分比较复杂,我们可以采取一个简化的观点,这将在很大程度上满足我们的目的。左值最简单的做法是将左值(也称为定位器值)看作函数或对象(或计算为函数或对象的表达式)。所有的左值都分配了内存地址。最初定义左值时,它们被定义为“适合于赋值表达式左侧的值”。但是,后来在语言中添加了const关键字,左值被分为两个子类:可修改的左值(可以更改)和不可修改的左值(const)。右值最简单的做法是把右值想象成“所有不是左值的东西”

2021-06-25 11:04:03 10401

原创 visual2019中使用C++实现mysql连接

1.配置环境要在visual中使用mysql首先要包含MySQL的头文件路径,以及所需的动态链接库,配置如下。i 找到电脑下mysql的路径,将include和lib文件夹复制到项目下。ii 添加inc文件夹和Lib到项目中,由于mysql是64位因此应当配置平台x64,在常规中添加头文件路径。这里只是指定了路径,没有把文件夹复制到本项目目录下。iii 链接lib文件iv 在项目文件夹下添加动态链接库v 添加附加依赖项,直接输入libmysql.libvi2.配置环境完成,接下来就是

2021-06-09 16:56:46 556

原创 stm32中固件库开发工程项目创建

1.引言编写程序之前要进行项目的创建,配置包含的头文件和程序输出路径,以免文件夹位置改变导致程序失效,主要是满足程序的可移植性。STM32 标准库可以从官网获得,下面配置所需的文件均在库文件中获得,解压之后如下:2.文件夹创建本次我们使用按键点亮LED的程序进行演示,首先创建主文件目录。进入yang_test中创建如下文件夹Doc用来存放项目的技术文档,可以将自己编写的操作手册放在其中Libraries存放cmsis和FWlib文件夹,是最重要的文件夹。CMSIS是ARM公司与多家不同的

2021-06-06 11:02:27 445

原创 qt添加QCustomPlot可视化控件

1.引言在工作中需要将串口数据进行可视化操作,由于之前一直使用qt自带的控件,因此这次总结一下相关的使用。在网上查到需要使用QCustomPlot,QCustomPlot 是一个基于Qt的画图和数据可视化C++控件。QCustomPlot 致力于提供美观的界面,高质量的2D画图、图画和图表,同时为实时数据可视化应用提供良好的解决方案。2.添加控件在官网下载控件包,一般不选取最新的,旧一点的版本比较稳定。https://www.qcustomplot.com/index.php/download下载

2021-05-31 20:22:30 874

原创 qt中socket编程

1 文章概括在qt中借助designer设计通信界面,然后使用QTcpServer,QTcpSocket编写服务器和客户端的程序。首先建立两个工程,一个是客户端client,另一个是服务器端server。2 首先建立server项目使用网络编程要在pro文件下添加network,然后项目qmake,不执行可能会找不到socket头文件然后是设计界面如下头文件代码#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#inclu

2021-05-31 10:40:07 9449

原创 终端mysq的基本操作

1.本文主要介绍如何在命令行中操作MySQL,MySQL有可视化界,但是有时候需要在命令行直接运行,因此记录了一下简单的操作。下图是可视化界面。2.首先启动命令窗口win+R打开mysql,一种方法是在命令行中打开,要在管理员中操作。另一种则是在计算机管理中进行打开然后便是登录自己的数据库MySQL -u 用户名 -p 密码show databases; 语句显示现在的数据库。注意不要忘记;忘记输入则语句不会执行。use database;选择自己想要操作的数据库。我选择的是mysql自带的

2021-05-30 11:02:06 81

原创 vscode连接电脑虚拟机上的ubuntu

最近在学习arm开发板,需要在Ubuntu主机上编译好将程序放到arm开发板中,由于搭建NFS共享文件夹一直不成功,就用ssh远程登录,将文件直接拖拽到开发板中实现共享,这里选择使用vscode,顺便了解一下这个强大的编辑器。首先是安装vscode,这个直接去官网,选择安装路径之后,安装无脑下一步就好了。之后就是配置ssh了。vscode就是可以配置各种想要的插件。这里我们就直接搜索了,在extension中搜索remote-ssh.安装成功便会显示已安装之后便是对它进行配置了,点击齿轮进行设置,

2021-05-27 21:20:09 2727

原创 python实现证件照更换背景颜色

1.首先去除原图片的背景颜色去除图片的背景颜色使用的是一个api,首先要去网站注册账号,具体操作如下:登录网址https://www.remove.bg/zh/tools-api注册账户并登录,在右上角my Dashboard中找到自己的API key,后面在程序中使用。2.然后使用PIL填充去除背景的图片,获得想要的背景照片简单代码应用:from removebg import RemoveBgfrom PIL import Imagedef Change_picture_backgro

2021-05-23 16:15:19 830

原创 opencv图片二值化寻找轮廓

本文主要是介绍如何根据图片的像素值寻找同一像素值的类,并寻找轮廓圈出图片。1.二值化函数原型double threshold( InputArray src,OutputArray dst,double threshold,double maxval,int type );参数说明src:原始数组,可以是Mat类型。dst:输出数组,必须与 src 的类型一致。threshold:阈值maxval:使用 THRESH_BINARY 和 THRESH_BINARY_INV 的最大值。type:

2021-05-23 12:47:32 4537

原创 关于opencv通道的C++转化实现

首先我是在visual2019上使用C++,因此测试之前要安装opencv的依赖包,可以上官网自行下载安装.1.图像通道(1)单通道图:每个像素点只有一个值(0-255),即我们常见的黑白图,称作灰度图。(2)三通道图:每个像素点都有 3 个值表示,例如 RGB 图片即为三通道图片,是通过对红®、绿(G)、蓝(B)三个颜色通道之间的叠加来得到各式各样的颜色。(3)二值图:二值图像是指在图像中,灰度等级只有两种,也就是说,图像中的任何像素灰度值不是0就是255,再无其他过渡的灰度值。是一种特殊的灰度图

2021-05-22 13:29:44 4142 1

原创 OPenCV在visual 2019中配置和使用

1.首先下载所需的opencv库直接在官网release中查找所需版本选择合适自己的平台我下载的是较低版本的,防止不兼容。之后点击解压到自己所需的文件夹中之后在对应文件夹之下便会出现相应的文件添加环境变量因为opencv要在x64环境下运行,我配置时选择所有配置,也有专门配置debug x64的配置的,感觉比较复杂,结果是一样的(目前的认知)。首先配置相关的头文件路径将下面路径包含到附加包含目录下,这个版本下只有这一个目录,其它的安装可能会有opencv文件夹,也可以包含进去。然后是添

2021-05-17 10:31:36 107

原创 stm32F103开发板介绍和DAP使用

开发板的介绍我是使用DAP仿真器下载程序,方便调试之后烧录实验,还有一种烧录时使用stmisp烧录,那种需要改变boot启动方式,比较麻烦,因此先使用DAP,他在板子上对应位置如下图然后使用usb给开发板供电打开keil5,选择自己的板子型号,点击魔术棒进入设置DAP调试器设置选取自己的开发板完成之后就是创建项目...

2021-05-16 16:05:42 4731

原创 qt程序添加图标并封装成可发送exe模式

我们使用qt要安装相关的环境,还要配置visual,制作之后若使用方没有相关环境则无法运行,因此在发送时需要封装,而且还隐藏了自己的源代码。(目前的理解)首先将项目设置成release模式下载windows图标所需要的ico格式图片,图标拷贝到工程目录下在pro文件下添加图标信息RC_ICONS=Globe.ico找到生成的release文件夹然后将exe文件拷贝到一个新的文件夹中,只有exe文件启动qt命令行切换到刚刚的文件夹执行命令配置完成可以发送给自己的小伙伴运行了(不

2021-05-16 15:45:03 170

原创 QT中线程的操作

最近在看qt,书中的线程例子,就自己复现了一下,效果如下,不同的点数对应不同的图片。首先新建一个所需的项目创建完成之后会有widget类和相关的uidialog是我自己创建的类,没有使用widget类,过程如下:首先编写添加qdicethread.h头文件代码如下#ifndef QDICETHREAD_H#define QDICETHREAD_H#include <QObject>#include <QThread>class qdicethread :

2021-05-16 14:45:44 142

原创 Linux中Samba的使用

开发Windows和Linux之间的文件共享SMB是Windows与Windows之间共享文件首先在Linux中安装samba安装之后开始修改配置文件,位置在主文件夹下的etc目录修改之前要进行配置操作在配置文件中设置Windows共享文件夹和Linux中的path,可以配置可读和可写操作,此目录下用vi打开进行编辑,配置需要共享的目录和共享的权限Vi打开之后,按i进行编辑,编辑完成esc,然后:wq退出保存。Samba拥有Linux的用户名但是与Linux密码不一致,不然Windows可

2021-05-15 18:37:49 152

原创 Quartus的安装过程

Quartus的安装过程因为最近项目需要需要用到FPGA,在安装过程中遇到了一点问题,在此记录一下。买的是正点原子的开发板,B盘中有所需的软件Modelsim是仿真软件QuartusII_13.1是编写和烧录用的工具,仿真软件暂时用不到,所以没有安装,接下来介绍Quartusll的安装。直接执行上图应用程序,安装到自己需要的盘和文件夹。我的安装路径如下,安装过程没有注意事项,安装之后需要破解,首先我是按照正点原子的推荐方法,发现无法破解,因为他的方法少了一步,执行完编译时会显示版本号不适用。因

2021-05-15 17:21:08 2189

原创 Linux中的Vi编辑器末行模式操作指令

一.首先vi有三种工作模式1.文本模式:进入vi之后默认时文本模式,在指令模式下按下Esc键可以返回到文本模式,此模式下查看文本的内容2.指令模式:在进入编辑界面后按下i键便可以进入指令模式,在指令模式中可以对能容进行编辑。3.末行模式:按下:键便可进入。二.在末行模式下,输入命令:q系统退出Vi。使用此命令退出编辑的文件不进行保存,则Vi在显示窗口的最末行显示如下信息:此时提示使用:...

2020-03-08 21:57:53 6115

libssh2-1.7.0.zip

libssh2的使用文件

2021-05-16

空空如也

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

TA关注的人

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