自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (2)
  • 收藏
  • 关注

原创 C/C++读取和写入文件(csv、txt)

程序运行结果(分别写入csv文件和txt文件):fopen_s:指针,文件名,读写标志位errno_t :打开文件是否成功返回值。

2023-03-29 19:39:15 912 1

原创 c++/map函数

map函数,其中key (键值),起到索引作用,第二个元素为value (实值),可以根据key值快速找到value值,不允许容器中有重复key值元素。

2022-09-04 10:38:32 881

原创 Opecv检测多个圆形(霍夫圆检测,轮廓面积筛选,C/C++)

图像处理,圆检测,OpenCV,C/C++

2022-08-06 16:37:44 3268 4

原创 win10安装Ubuntu20.04双系统安装

1.安装在同一个硬盘上2.win10启动盘制作以及安装,UbuntuU盘制作均有很多教程。3.在安装Ubuntu20.04时,分区类型 的最下方选择引导器为 windows引导的相同区域,安装完成之后开机如果不显示引导选项,可以参考这个链接。...

2022-05-10 10:40:37 353

原创 大恒工业相机搭建双目相机(软件)

本文主要介绍使用大恒工业水星139相机搭建双目相机的软件过程.以下主要介绍相机采集图像以及保存的过程。#include <vector>#include <string>#include <iostream>#include <fstream>#include <queue>#include <thread>#include <mutex>#include <unistd.h>#include

2021-08-06 21:37:09 2237 1

原创 Visual Studio 2019配置第三方C/C++库

本文主要介绍在VS2019中配置第三方C/C++链接库,在第三方链接库中主要的文件是库文件以及头文件。即“.h”文件和“.lib”文件。第一步:在需要链接第三方库的项目中打开“项目”中的“属性”标签;打开之后界面如下所示,在“常规”标签中找到“附加包含目录”,在这里添加包含库文件以及头文件的文件夹地址。第二步:在“链接器”标签中找到“附加库目录”,在其中添加和第一步中一样的包含头文件和库文件的地址。在“附加库目录的下方”找到“输入”,在其中的附加依赖项中添加你所需要的库文件的名称,注意如果有多个库

2021-07-06 15:55:01 2322

原创 图像评价方法程序-PSNR

本文主要展示图像的有参考评价方式PSNR的程序部分,其数学原理部分参考这片文章。以下为主程序部分:#include "common.h"int main() { Mat img1 = imread("图片地址"); Mat img2 = imread("图片地址"); getPSNR(img1, img2); return 0;}以下部分是PSNR函数部分:#include "common.h"void getPSNR(const Mat&a

2021-06-11 17:07:50 287

原创 使用C语言实现Hailstone序列

Hailstone的数学部分不做讲解,程序如下,我把Hailstione程序写为3部分,main.cpp、function.cpp、Hailstone.h.各部分如下:main.cpp#include "Hailstone.h"int main(){ Hail(); return 0;}function.cpp#include "Hailstone.h"void Hail(){ int N; cout << "输入数值:" <&lt

2021-05-31 10:57:59 541

原创 Nvidia Jetson Xavier安装中文输入法(googlepinyin)

Nvidia Jetson Xavier是arm架构,平常在Ubuntu安装的都是搜狗拼音,但是搜狗拼音是amd架构,不支持arm架构,googlepinyin支持arm架构,因此可以安装googlepinyin.安装过程1.安装fcitx执行以下命令:sudo apt install fcitx2.安装googlepinyin执行以下命令:sudo apt-get install fcitx-googlepinyin -y3.在 system setting找到 Language

2021-04-29 23:38:25 2391

原创 图像融合评价方式

图像融合评价方式可以笼统的分为主观评价以及客观评价,其中客观评价又分为基于统计特征的方法以及基于参考图像的方法。1.主观评价主观评价法就是依靠人眼来主观评估融合图像的质量的方法。这种方法简单、直观,对明显的图像信息可以进行直观、快捷的评价,在一-些特定应用中是十分可行的。但是,图像的视觉质量主要取决于观察者,这便会产生主观性强、片面、可重复性差等缺点。而且当观测条件变化时,评定的结果有可能会产生差异。因此,主观评价法需要与客观的定量评价的标准结合来对融合图像进行综合评价。2.客观评价1.基于统计特征

2021-03-11 09:32:15 5243 1

原创 像素级图像融合的常用算法

主要包括平均法与加权平均法、像素灰度选择、PCA融合方法、逻辑滤波、颜色空间融合、神经网络等方法。1.平均法与加权平均法加权平均方法将原图像对应像素的灰度值进行加权平均,生成新的图像,它是最直接的融合方法。其中平均方法是加权平均的特例。使用平均方法进行图像融合,提高了融合图像的信噪比,但削弱了图像的对比度,尤其对于只出现在其中一幅图像上的有用信息。2.像素灰度选择融合的两幅原图像分别为A、B,图像大小分别为M*N,融合图像为F,则针对原图像A、B的像素灰度值选大(或小)图像融合方法可表示为:其中

2021-03-04 18:40:32 8392 1

原创 图像融合简介

1.图像融合图像融合(Image Fusion)是用特定的算法将两幅或多幅图像综合成一幅新的图像。利用两幅(或多幅) 图像在时空上的相关性及信息上的互补性,并使得融合后得到的图像对场景有更全面、清晰的描述,从而更有利于人眼的识别和机器的自动探测。确保待融合图像已配准好且像素位宽一致,且融合后的图像相对原始图像具有较高的空间分辨率和光谱分辨率,具有明显的突出信息和较低的噪声。两幅(多幅)已配准好且像素位宽一致的待融合源图像,如果配准不好且像素位宽不一致,其融合效果不好。2.图像融合层次融合图像由低

2021-02-18 17:38:56 5943

原创 chmod +x 的含义,为什么要chmod +x

1.chmod +x1.linux系统下的文件颜色含义:绿色文件: 可执行文件,可执行的程序 红色文件:压缩文件或者包文件蓝色文件:目录白色文件:一般性文件,如文本文件,配置文件,源码文件等 浅蓝色文件:链接文件,主要是使用ln命令建立的文件红色闪烁:表示链接的文件有问题黄色:表示设备文件灰色:表示其他文件chmod +x就是赋予用户文件的执行权限,之前我安装一个文件显示为没有操作权限,尝试过sudo,以及chmod 777均未解决。之后使用chmod +x解决。2.

2021-02-08 19:57:43 35236 3

原创 Ubuntu16.04安装.run,显示没有权限的问题

在装大恒相机驱动的时候,根据它的文档说明,直接使用以下命令就行:./Galaxy_camera.run这个方法,第一次电脑上安装的时候没有问题,后来在其他电脑显示没有权限。。之后试过使用`sudo ./Galaxy_camera.run以及:`chmod 777 Galaxy_camera.run在输入:Galaxy_camera.run仍然不行。解决方法:chmod +x ./Galaxy_camera.run之后继续使用,命令安装:./Galaxy_camera.run

2021-01-31 09:18:58 1219 1

原创 YoloV4训练自己的数据集(六)之Yolo -Tiny

前文已经把YoloV4的训练以及测试介绍结束了。本文主要介绍YoloV4-Tiny网络的训练与使用。请大家一定要看完前面几个博客。1.修改配置文件YoloV4-tiny是简化版本的YoloV4,主要是为了满足计算能力紧张的开发者使用和学习。YoloV4-tiny在准确度上会有相当的下降,但是在运算时间上,也会有相当大的提升。下面我回简要介绍使用YoloV4-Tiny进行训练以及测试。关于数据集的建立以及网络的编译等过程均已在之前的博客中做过介绍,此处不再赘述。本文直接讲如何修改配置文件。1.1修改vo

2021-01-24 18:18:57 5123 1

原创 YoloV4训练自己的数据集(五)

本文主要介绍在前文训练结果的基础上进行测试。1.修改配置文件本次需要把上文的yolov4-custom.cfg再复制一份,命名为yolov4-custom-test.cfg。之后修改第6行,第7行参数为:batch=1subdivisions=12.测试图片使用以下命令测试图片:./darknet detector test cfg/voc.data cfg/yolov4-custom-test.cfg backup/yolov4-custom-train.weights testfiles

2021-01-16 13:54:31 831

原创 YoloV4训练自己的数据集(四)

前文已经建立了自己的数据集并且进行了划分。本文主要介绍如何使用自己的数据集进行训练。1.修改配置文件1.修改darknet目录下data文件夹中的配置文件:在data文件夹中找到voc.names文件,里边存放的是需要分类的物体的名字,根据自己的情况修改,我把其中的文件内容修改为:2.修改darknet目录下cfg文件夹中的配置文件:在cfg文件夹中找到voc.data文件,打开之后把其中的文件内容修改为:classes= 1 //此处是你想要分类的类别数量

2021-01-09 09:08:42 1880

原创 YoloV4训练自己的数据集(三)

本文主要介绍如何使用YoloV4训练自己的数据集。1.建立数据集如果你自己有数据集,可以直接跳过本部分。可以使用Labelme对于自己的图片进行标注,关于Labelme的安装,大家可以看这篇博客。标注之后会生成。xml文件,其中包含了...

2021-01-02 08:16:24 1377 10

原创 YoloV4训练自己的数据集(二)

本文主要介绍使用GPU测试网络,请先看前文然后再看本文。上文中我没有使用Opencv以及GPU,因此训练时间较长,将使用Opencv以及GPU。1.安装OpenCV首先去Opencv官网下载安装包。我下载的是3.4.4。下载之后窒执行以下命令:tar xvf opencv-3.4.4.tar.gz之后进入文件夹并编译:cd opencv-3.4.4/cmake .makesudo make install之后设置环境变量:sudo gedit /etc/ld.so.conf.d

2020-12-26 08:04:09 903 4

原创 YoloV4训练自己的数据集(一)

本系列主要介绍使用YoloV4训练自己的数据集,本文主要介绍下载Yolo网络以及编译测试等内容。环境配置:以下内容均在Ubuntu16.04系统实现,显卡RTX2070S。1.介绍Yolo是由Joseph Redmon在读博期间提出的一种目标检测算法,兼顾了实时检测以及训练成本等问题。大家可以去看一下大神在TED的演讲。但遗憾的是作者在今年宣布永远退出CV界:不过幸好,原来团队中的Alexey Bochkovskiy以及两外两位中国学者扛起Yolo的大旗,并且得到了Joseph Redmon的

2020-12-21 09:46:01 1423

原创 如何下载最新Windows10镜像文件(.iso文件)

本文主要介绍如何下载最新的Windows10最新镜像文件。1.官网下载文件1.从官网下载镜像文件:点击“立即下载工具”。2.下载的工具如下图所示:3.双击运行下载的工具:点击左下角的**“接受”。4.选择安装电脑或者U盘(我是要安装到U盘所以选择第二个,如果要直接安装到电脑就选第一个),点击“下一步”。5.选择语言(中文)、版本(Windows10)等。(去掉默认勾选)**,点击下一步。6.选择下载.iso文件7.下载十分重要记得找一个最新版本的破解文件,不然下了也是白

2020-12-04 09:15:49 8673

原创 解决Ubantu16.04和Windows10系统时间不一致的问题

安装电脑安装双系统之后,Ubantu系统和Windows系统时间一直相差8个小时。这是由于Windows系统和Ubantu系统对于系统的硬件时间具有不同的认知。Ubantu系统默认硬件时间为UTC时间,而Windows默认硬件时间是GMT时间。UTC时间:Universal Time Coordinated 协调世界时;GMT时间:Greenwich Mean Time 格林尼治时间。格林尼治标准时间是19 世纪中叶大英帝国的基准时间,同时也是事实上的世界基准时间。当时主要为了1840 年之后的铁路系

2020-11-26 09:46:50 162

原创 机器学习笔记(15)— 基本概念batch、batchsize、epoch、iteration

本文主要介绍机器学习中的四个基本概念,batch、batchsize、epoch、iteration,这几个概念对于初学者来说容易混淆。因此在次记录一下。深度学习中的优化算法就是梯度下降算法,通过该算法来进行参数的优化,参数的优化过程是通过计算损失函数来实现的。但是计算损失函数时如果每次都遍历整个数据集,会影响运行效率。为了解决这个问题,目前使用较多的是mini-batch梯度下降法。(关于梯度下降的内容,大家可以看我的这两篇文章。梯度下降法、梯度下降法的改进)。其中“梯度下降法的改进”一文中,指出了两种

2020-11-25 23:58:30 3877

原创 目标检测(2)— 林业草原火灾数据集

本文主要介绍我在项目过程中使用林草火灾的数据集。1.数据来源本数据集一部分来源于

2020-11-18 10:39:16 1602 14

原创 目标检测(1)— 数据集介绍

本文主要介绍目标检测领域常用的三个数据集PASCAL VOC、ImageNet、COCO.1.PASCAL VOC1.1 数据集简介PASCAL VOC挑战在2005-2012年之间展开。该数据集包含11530张用来训练和测试的图片,其中标定了27450个感兴趣区域。该数据集在8年之间由原始的4个分类发展至最终的20个分类:人: 人动物:鸟、猫、狗、牛、马、羊运载工具:飞机、自行车、船、巴士、汽车、摩托车、火车、物品:瓶子、椅子、餐桌、盆栽、沙发、电视机等。在整个数据集中,评价每张图片有

2020-10-24 09:51:40 1709

原创 Ubuntu16.04没有wifi链接的问题

本文主要介绍如何解决Ubantu16.04安装之后没有wifi不能联网的问题。我的Ubantu打开之后的界面如下所示。(本教程需要你有一天个可以联网的电脑,因为需要下载文件。如果实在没有,就是用手机的USB数据线连接到电脑,之后设置中选择USB数据共享,就可以使用手机的数据流量,但是一定要保证你的流量够多。)按照我的教程操作之后的界面。如下图所示:1.首先确定自己显卡型号由于我装的是win10和ubantu双系统,我可以在win10查看自己的网卡型号。win10查看网卡型号:右键点击“此电脑”—

2020-09-27 13:00:27 9031 14

原创 RPLIDAR激光雷达测试

本文主要介绍PRLIDAR A2M8-R2激光雷达的的测试过程。关于该激光雷达的具体参数和描述,可以直接去官网查询。本文的测试环境为Ubantu16.04、ROS(kinetic)。关于Ubantu16.04系统下安装ROS(kinetic)可以参考我的这一篇博客。1.创建环境在Ubantu的终端中输入如下命令,创建一个名为“rplidar_ws”的文件夹,并在文件夹中创建一个名为“src”的文件夹:mkdir -p ~/rplidar_ws/srccd ~/rplidar_ws/src创建文

2020-09-04 10:06:10 2689

原创 Windows系统使用Anaconda安装图像标注labelImg

本文介绍在Win10系统使用Anaconda安装labelImg.安装lanelme请看这篇文章。1.安装Anaconda本部分教程请参考我的另一篇博客,只需要看第一部分“Anaconda安装”即可2.安装labelImg2.1创建环境打开安装好的Anaconda Prompt“,如下图所示:在打开的Anaconda Prompt输入如下命令:conda create --name=labelImg python=3.7之后会出现如下界面:安装过程中会询问是否安装,输入y,直接安装就

2020-09-02 12:58:39 1903

原创 JSON文件转换为XML文件(批量和单个)附Python代码

本文主要介绍把.json文件转换为.xml。程序中包含批量转换文件和转换单个文件。转换单个文件的程序注意看注释。需要安装dicttoxml依赖项。import osfrom json import loadsfrom dicttoxml import dicttoxmlfrom xml.dom.minidom import parseStringdef jsonToXml(json_path, xml_path):#打开josn和xml文件夹,使用程序需要在指定位置新建一个xml文件夹。

2020-09-02 12:30:00 4871 14

原创 Windows系统使用Anaconda安装图像标注Labelme

本文主要介绍Labelme的安装。1.安装Anaconda本部分教程请参考我的另一篇博客,只需要看第一部分“Anaconda安装”即可。2.安装Labelme2.1创建Labelme环境打开安装好的Anaconda Prompt“,如下图所示:在打开的Anaconda Prompt输入如下命令:conda create --name=labelme python=3.7输入之后界面如下:中间会出现询问是否安装,按照提示输入y,即可,安装结果如下所示:之后输入:conda act

2020-08-26 11:20:59 948

原创 安装Anaconda并配置tensorflow

本文主要介绍Anaconda安装以及配置TF环境。1.Anaconda安装Anagconda的下载可以使用官网或者清华镜像源。推荐使用镜像源,官网下载太慢。找到下载之后的安装程序,我下载的是Anaconda3的64位版本:双击你下载的exe文件界面如下:点击“Next"继续安装,点击之后,界面如下:这个是服务条款以及说明,点击”I Agree“,界面如下:上图中是让你选择电脑有几个用户可以使用Anaconda,你的电脑如果只有一个用户,就选”Just Me“,多个用户就选"All Use

2020-08-22 10:34:15 1200

原创 机器学习笔记(14)—工作流程

本文主要介绍机器学习的流程以及K折验证方法和ROC曲线评价方法。1.流程1.1定义问题首先你要确定,你需要解决的问题。确定输入数据的类型,明确需要预测的分类(二分类、多分类、标量回归、向量回归、聚类等等)。明确输入输出之后确定目标函数。在开发出模型之前,这些都只是假设,等待验证。比如你收集了包含输出X和目标Y的很多样例,并不意味着X包含足够多的信息来预测Y。例如非平稳问题,假设你想要构建一个服装推荐引擎,并在一个月(八月)的数据上训练,然后在冬天开始生成推荐结果。一个大问题是,人们购买服装的种类是随着

2020-08-20 10:36:51 142

原创 TensorFlow2.0学习笔记(4)—创建前向网络

1.本文介绍本文主要讲解是用TF2.0创建前向网络。主要是前向网络的程序讲解。使用本文程序要安装本文使用的库,keras、datasets、os。2.程序部分2.1创建数据集#首先导入需要的库import tensorflow ad tffrom tensorflow import kerasfrom tensorflow.keras import datasetsimport os#屏蔽一些不必要的输出,0代表输出所有信息,2代表只输出错误信息os.environ['TF_CPP_

2020-08-15 11:29:18 130

原创 TensorFlow学习笔记(3)— 张量切片、变形以及图像和视频中的张量

1.本文内容主要介绍张量的切片和变形,以及视频和图像中的张量表示方式。2.切片和变形2.1切片张量切片:选择张量的特定元素叫做张量切片。假设你有1000张图片,均为28*28的灰度图像:>>>A= image[10:99,0:28,0:28]=image[10:99]=image[10:99,:,:](90,28,28)本代码中,等号代表三种写法相同,10:99代表选择地11张至第100张图片,选择每一张图片的0至28行,和0至28列。“:”代表选择张量中的整个轴。2

2020-08-15 11:28:57 1356 1

原创 TensorFlow2.0学习笔记(2)—关于numpy和tensorflow

本文主要介绍numpy和tensorflow的一些区别以及转化的方法以及tensor的概念。1.numpy和tensorflowNumpy是用来处理数组的科学计算库,其在深度学习兴起之前就已经存在,其不能很好的支持GPU计算,也不能支持自动求导。而tf正是为了弥补这些缺点而产生的。2.tensor在tf中我们经常会见到以下一些类型。其中,Scalar代表一个标量(一维向量代表的是一个1*1的矩阵,其运算规则是遵循线性代数中的矩阵运算规则。而标量只是一个常数,它参与的是数乘运算。),其维度为0。V

2020-08-08 16:17:37 3195

原创 TensorFlow2.0学习笔记——线性回归(Python代码)

1.本文介绍使用TF2.0实现线性回归问题,主要是线性回归的代码展示,关于梯度下降法,大家可以参考本文。本文数据集在此。import tensorflow as tfimport numpy as np#以下部分为误差计算公式def compute_error_for_line_given_points(b,w,points): total_error = 0 for i in range(0, len(points)): #i的范围从1到100

2020-08-01 19:14:57 357

原创 机器学习笔记(13)—梯度下降法的改进

本文介绍梯度下降法的改进算法,主要是随机梯度下降法和最小梯度下降法。1.随机梯度下降法随机梯度下降法:大数据集使用梯度下降法计算时间长。因此改进梯度下降法。假设目标函数和代价函数为:代价函数曲线如图所示。梯度下降法为:我们使用梯度下降法一直更新参数θ。但是,当m值很大时,计算量十分大,因为需要对m个样本进行求和。随机梯度下降法中的代价函数定义为:参数更新过程为:其中:2.mini-batch梯度下降法批量梯度下降法使用的所有样本的来更新参数,最小化梯度下降法是使用样本中的b

2020-07-25 15:20:35 640

原创 机器学习笔记(12)— K均值算法

本文主要介绍K均值的运行原理、代价函数、聚类数量的选择等内容。1.运行原理假如有以下数据集,并且要将其分为两类。首先使用生成两个聚类中心(图中的红蓝点)。之后该算法会计算每个样本点和两个聚类中心的距离,根据距离的远近把样本点分配给聚类中心。第一次聚类之后的结果如下:之后K-均值算法根据之前计算出来的距离移动聚类中心,移动之后的结果如下所示。之后重复之前的过程,完成聚类。通过以上例子,可知K-均值的计算过程是:首先随机初始化K个聚类中心。之后计算样本与K个聚类中心的距离,选择最近的聚

2020-07-18 17:01:18 669

原创 制作Ubantu16.04启动盘

本文主要介绍如何制作Ubantu16.04启动盘,包括Ubantu16.04下载地址,UItralSO下载与使用。1.Ubantu16.04下载使用的浙江大学的镜像站,不推荐使用官网下载,官网的太慢。打开之后的界面如下:选择其中的 ubuntu-16.04.6-desktop-amd64.iso ,这个是适配于64位电脑。若电脑是32位,就选择 ubuntu-16.04.6-desktop-i386.iso 。2.UItralSO下载下载地址。也可以去官网下载。之后安装,安装的

2020-07-18 14:54:32 238

原创 使用数字滤波器处理音频噪声(附Matlab程序)

本篇文章主要介绍使用窗函数法构造FIR数字滤波器,并且滤除音频文件的噪声。以下为完整的程序,修改一下文件的位置,直接复制应该就可以。1.音频文件的采集与分析Matlab输入的音频文件需要“.wav”文件,可以使用一些软件转换格式(例如酷狗音乐)。使用Matlab软件中的“audioread”函数进行音频的读取,定义读取的音频文件为“signal”并使用“fft”函数把读取的音频进行傅里叶变换,经过傅氏变换之后的音频定义为“signal1”,使用Matlab中的画图工具进行绘图,输出原始音频的时域波形和频

2020-07-18 14:52:41 25838 21

使用TF2.0实现线性回归的数据集

本数据集是从Github下载而来,供大家使用。主要是实现简单的线性回归问题,十分方便。本数据集是从Github下载而来,供大家使用。主要是实现简单的线性回归问题,十分方便。

2020-08-01

使用窗函数设计了数字滤波器源程序.m

使用窗函数设计了FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。FIR滤波器的设计方法主要有两大类:第一类是基于逼近理想滤波器的方法,主要包括窗函数法、频率采样法和最优化等波纹法;第二类是最优设计法。本设计使用第一类方法中的窗函数设计法,设计FIR滤波器,进行噪声的处理。数字滤波器,滤除音频的噪声。

2020-07-18

空空如也

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

TA关注的人

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