自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 opencv cuda版本安装

1.安装英伟达驱动,安装cuda和cudnn2.下载opencv和opencv_contrib,这里有个镜像的下载比较快3.将opencv_contrib放在opencv目录下,并且新建build文件夹,在build文件夹下打开终端并且输入cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.4.0/modules

2022-04-25 18:21:42 1374

原创 cv::viz

opencv viz模块进行点云显示cv::viz::Viz3d cloudWindow("Point Cloud Viewer"); std::vector<cv::viz::WLine> cube_widget_box; ////是一个立方体 cube_widget_box.clear(); cv::Point3f p0, p1, p2, p3, p4, p5; float len = 2.2; p0.x = 0; p0.y = 0; p0.z = 0; p1.x =

2022-02-28 11:54:22 448

原创 livox入门

1.安装配置git clone https://github.com/Livox-SDK/Livox-SDK.gitcd Livox-SDKcd build && cmake ..makesudo make install2.取流在/Livox-SDK/sample/lidar_lvx_file目录下修改CMakeList.txt信息,添加opencv pcl之类cmake_minimum_required(VERSION 3.0)set(DEMO_NAME lidar

2022-01-15 10:52:46 1349 7

原创 kalman滤波总结

一、原理推导线性系统的状态差分公式xk=Axk−1+Buk−1+wk−1(1)x_k=Ax_{k-1}+Bu_{k-1}+w_{k-1} (1)xk​=Axk−1​+Buk−1​+wk−1​(1)zk=Hxk+vk(2)z_k=Hx_k+v_k(2)zk​=Hxk​+vk​(2)其中xk:kx_k:kxk​:k时刻系统状态zk:kz_k:kzk​:k时刻状态观测值A:A:A:状态转移矩阵B:B:B:控制输入矩阵H:H:H:状态观测矩阵wk−1−μ(0,Q)w_{k-1} - \mu(0,

2022-01-15 10:12:27 445

原创 双目测距原理以及双目相机矫正

1.双目测距原理图源OL和OR分别是左右两个相机镜头位置,b是两个镜头之间的距离,左右两个相机成像平面长度是L,并且平行于baseline(OL与OR连线)。视角内一点P(X,Y,Z)P(X,Y,Z)P(X,Y,Z)在左右两个图像平面的PL,PRP_L,P_RPL​,PR​位置,XL,XRX_L,X_RXL​,XR​分别是图像点到图像平面最左侧的物理距离,镜头焦距为fff,三角形PPLPRPP_LP_RPPL​PR​与三角形POLORPO_LO_RPOL​OR​相似,则有∣PLPR∣∣OLOR∣=Z

2022-01-13 20:41:39 3483

原创 cmakelist踩坑

1.CMakeList.txt写完没问题,然后cmake没有报错,但是并没有编辑完整,后面的findpackage并没有打印出来,编译出来的makefile也make不起来。。。后来在终端用vi进行编辑后解决,可能换行符之类的问题。...

2022-01-11 14:08:30 97

原创 win c++获取LAS数据

1.环境配置类似opencv配置,参照这个https://blog.51cto.com/u_15127539/3841259。1.先下载源码https://github.com/LAStools/LAStools;2.然后用cmake进行编译,3.打开ALL_BUILD.vcxproj4.重新生成,按参考博客修改5.我自己生成成功9个失败4个,不过按我安装opencv的经验,失败三四个应该也能用,后面配了包含目录和库目录用了下果然能用,2.测试代码#include <opencv2/o

2022-01-10 15:58:31 2031

原创 图像成像原理与相机标定

一、图像成像原理小孔成像原理二、相机标定张正友标定法,直接调opencv库,并且进行去畸变效果查看#include <iostream>#include <opencv2/opencv.hpp>#include "cv_source.h"#include "json\json.h"#include <fstream>#include <iomanip>#include <sstream>using namespace cv

2021-12-08 15:32:55 3145

原创 透视变换从原理到应用

一,理论略二,计算已知从原图位置(u,v,w)(u,v,w)(u,v,w)到目标图像位置(x′,y′,z′)(x',y',z')(x′,y′,z′)的变换矩阵为AAAA=[a11a12a13a21a22a23a31a32a33]A=\left[ \begin{array}{ccc} a_{11} & a_{12} & a_{13}\\\\ a_{21} & a_{22} & a_{23}\\\\ a_{31}

2021-11-24 16:07:16 2246

原创 相机网络链接设置

参考https://www.cnblogs.com/findumars/p/9568386.html///安装以及配置1、安装包 sudo apt-get install nfs-kernel-serversudo apt-get install nfs-common2、sudo gedit /etc/exports打开后最后一行加上/home/jyx/nfs *(rw,sync,no_subtree_check)3、启动NFS sudo /etc/init.d/nfs-kernel-ser

2021-11-02 11:00:57 214

原创 linux端,c++读取语音

先装依赖sudo apt-get install libsox-fmt-allsudo apt-get install sox运行代码#include “stdlib.h"void play(){ system("play ./voice.mp3");}

2021-10-16 16:23:08 810

原创 简易参数外置

参数外置不想弄得太麻烦,json之类移植费劲,直接就按行读取数据流,并对字符串进行解析就好了double string2num(std::string s){ std::istringstream iss(s); //iss.precision(10);///保留精度位数 double res = 0; iss >> res; return res;}int getParam()//获得外置参数{ std::map<std::string, std::strin

2021-10-16 15:56:43 148

原创 海康相机rtsp取流

#include<stdio.h>#include<iostream>#include <string>#include <opencv2/opencv.hpp>#include<ctime>using namespace std;using namespace cv;#define CAL_FPS 0int main0(){ VideoCapture cap; if (!cap.open("rtsp://admin

2021-10-16 15:21:08 2786

原创 c++ 操作文件

1.判断文件夹是否存在,不存在则创立#include<io.h>#include<direct.h>int main(){ std::string path=""; if(_access(path.c_str(),0)!=0) { _mkdir(path.c_str()); }}2.c++ 读写文件#include <fstream>#include <sstream>#include &l

2021-04-24 17:10:10 131

原创 动态库调动态库

1、c++制作动态库主要参考:https://www.cnblogs.com/yyfighting/p/12500599.html1.11.21.31.4在pch.cpp中添加函数实现,在pch.h中添加声明,声明格式:extern "C" _declspec(dllexport) int f(int a);1.5 编译生成库文件之后可以在Release或者Debug文件夹下看到.lib和.dll文件,编译成功。2、调用2.1 将库文件.lib和.dll放在main函数一个文件夹

2021-04-24 16:24:09 991

原创 nano中设置脚本开机自启动

1、 随便写一个脚本文件 tes.sh2、 搜索启动应用程序3、 点添加4、 编辑启动程序名称,随意;命令:gnome-terminal --command “bash /home/…/tes.sh”;注释:随意

2021-04-24 10:38:08 744

原创 C++ 调用json

主要参考这篇:https://zhuanlan.zhihu.com/p/381051921、https://github.com/open-source-parsers/jsoncpp下载源码2、跑里面的amalgamate.py文件,我这里是在anaconda的环境下跑的3、将dist文件夹下的源码考出来放在新建vs工程就能用了,用的时候出现了问题换成这样的写法std::string filePath = "\\innerparam.json"; std::ofstream fout;

2021-04-20 17:12:46 194

原创 opencv310安装

最近工作需要,安装了一波opencv3.1.0,下载官方的opencv后,opencv3.1.0/3rdparty 里面的ffmpeg和ippicv缺少文件,会在cmake的时候进行下载,但是国内的网下载不了,最后的结果就是下载了一个寂寞,该寂寞和目标的md5值不一样导致cmake失败。解决办法就是找有梯子的同学自己将目标文件下载下来放到指定位置,最恶心的在于ffmpeg_version.cmake的连接打开是一个网页,直接复制内容在txt里面md5码还是不一样,最好网页另存为才解决。最后吐...

2021-01-29 09:26:05 298

原创 ubuntu相关

最近开始捣鼓Ubuntu系统,踩过的坑全放在这里好了。1、Ubuntu装好后python自带的版本是3.5,但是装软件的时候,发现不支持该版本,所以只能换。用apt-get的方式换好之后发现默认的还是系统自带的版本,此时觉得直接将系统自带的版本删掉即可(噩梦的开始),搜了一些方法操作之后,系统开始出现问题,最明显在于桌面右侧的一些软件开始消失,然后终端变得很黑,和windows进入cmd挺像的,当时感觉晚了,系统保不住了,赶紧搜补救的方法。还好找到了一个并且完美解决问题。https://blog.csd

2020-12-06 20:26:01 80

原创 opencv 指定版本下载

只记得OpenCV的版本和OpenCVcontrib的版本需要保持一致,但是直接点开一些教程的链接发现contrib的版本不能选,在这个链接中下载到了我需要的版本https://github.com/opencv/opencv_contrib/releases指定版本的OpenCV以及contrib下载https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/...

2020-11-18 20:20:43 694

原创 pytorch(6)

莫烦pytorch学习记录--cnn#cnn.pyimport osimport timeimport numpy as npimport torchimport torchvisionimport torch.nn as nnfrom torch.utils.data import DataLoaderfrom torch.utils import dataimport torch.utils.data as Datafrom torch.autograd import Va

2020-11-17 22:37:28 121 1

原创 pytorch(5)

莫烦pytorch,集中优化方式的比较#optimizer.pyimport torchimport torch.nn.functional as Fimport torch.utils.data as Dataimport matplotlib.pyplot as pltfrom torch.autograd import Variable#hyper parametersLR=0.01BATCH_SIZE=32EPOCH=40x=torch.unsqueeze(torch.

2020-11-04 23:12:26 102

原创 pytorch(四)

学习莫烦pytorch视频,部分函数写法进行更新import torchimport torch.utils.data as DataBATCH_SIZE=8x=torch.linspace(1,10,10)y=torch.linspace(10,1,10)torch_dataset = Data.TensorDataset(x, y)#新版本直接用元组,(data_tensor=x, target_tensor=y)loader = Data.DataLoader( d

2020-11-02 22:53:28 83

原创 pytorch(三)

学习莫烦pytorch视频,训练好的网络进行保存和读取#qd.py#classification.pyimport numpy as npimport torchimport torch.nn.functional as Ffrom torch.autograd import Variableimport matplotlib.pyplot as pltimport mathimport pdbtorch.manual_seed(1)#CPU设置种子用于生成随机数,随机值确

2020-10-27 21:54:12 78

原创 pytorch(二)

学习莫烦pytorch视频,部分代码进行注释#classification.pyimport numpy as npimport torchimport torch.nn.functional as Ffrom torch.autograd import Variableimport matplotlib.pyplot as pltimport mathimport pdbn_data = torch.ones(100,2)#pdb.set_trace()x0 = torch.

2020-10-26 23:10:22 87

原创 pytorch

学习莫烦的pytorch视频,对一些函数进行搜索,记录功能以及测试import torchimport numpy as npfrom torch.autograd import Variableimport torch.nn.functional as Fimport matplotlib.pyplot as pltimport pdbx=torch.unsqueeze(torch.linspace(-1,1,100),dim=1)#增加dim个维数,类似 int a=0==>int

2020-10-17 23:19:22 96

原创 边缘检测:laplace

laplace算子是二阶导众所周知f′(x)=f(x+δ)−f(x)δ(δ趋于0的极限) f'(x)= \frac{f(x+\delta)-f(x)}{\delta}(\delta趋于0的极限)f′(x)=δf(x+δ)−f(x)​(δ趋于0的极限)而与δ\deltaδ趋于0的方式无关,可以大于0趋于0,可以小于0趋于0,甚至可以震荡趋于0,而图像是离散的,所以求导也只能近似代替比如取δ=1或者−1\delta=1或者-1δ=1或者−1即f′(x)=f(x+1)−f(x)f'(x)=f(x+1)-

2020-09-23 22:04:16 119

原创 边缘检测:canny

canny实现边缘检测主要流程见主函数主要参考:https://blog.csdn.net/dcrmg/article/details/52344902https://www.cnblogs.com/love6tao/p/5152020.html不过有些细节有问题,我改过来了#include <iostream>#include<opencv2/opencv.hpp>#include <string>using namespace std;using

2020-09-22 21:54:00 110

原创 边缘检测:sobel

sobel原理比较简单,参照这个博客流程上就是一张灰度图片分别进行两次卷积,然后将两次卷积后的图片合在一起#include <iostream>#include<opencv2/opencv.hpp>#include <string>using namespace std;using namespace cv;void conv(char *G, Mat pic, Mat &res){ int i, j, i1, j1; int tm

2020-09-19 16:53:52 137

原创 Gabor

Gabor滤波器改float W_line = 0.56;/////使用自己写的Gabor滤波器时,脊线宽度所占整个周期(脊线加谷线)的比例float PI = 3.141592653589793;double modPI(double x)////将角度x转成一个周期内的表达形式{ if (x >= 0 && x < (2*PI)) return x; int t = (int)(x /(2* PI)); return (x - t*2*PI);}d

2020-09-09 23:14:41 187

原创 python

python处理数据一些接口记一下修改Excel数据并且保存import pandas as pddf = pd.read_csv(path, encoding='utf-8')#df 相当于一个大字典数组,可以进行修改操作df.to_csv(path1,index=False, encoding='utf-8')#修改之后进行存储拷贝文件import shutil,osfor root1, dir1, files in os.walk(path):#路径下的文件夹以及文件 pass

2020-09-09 22:42:36 180

原创 2020-09-08

一些知识点的总结1.无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?强制解锁命令sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock2.清空回收站发生错误,直接使用命令sudo rm -rf ~/.local/share/Trash/files/*3.生成可以gdb调试的可执行文件:在CMakeLists

2020-09-08 21:00:30 119

原创 SVM

SVM推导至于对于非线性的时候核函数的使用,将Ki,jK_{i,j}Ki,j​换成几个常用的核函数试试就行了。不用LaTeX编辑公式就是快,不管了,反正写给自己看的,就这样吧^ - ^主要参考,李航的统计学习方法,以及自己的一些理解,可能会有偏差。...

2020-08-13 22:13:55 87

原创 逻辑斯蒂回归模型

对于观察到的样本集{(xi,yi)}\{(x_i,y_i)\}{(xi​,yi​)},i=1,...,N.xi∈Rn,yi∈{0,1}i=1,...,N.x_i\in\R^n,y_i\in\{0,1\}i=1,...,N.xi​∈Rn,yi​∈{0,1},设这组数据的分布情况是满足二项逻辑斯蒂分布的,然后对他进行参数估计。设P(Y=1∣x)=ewx1+ewx=π(x)P(Y=1|x)=\frac{e^{wx}}{1+e^{wx}}=\pi(x)P(Y=1∣x)=1+ewxewx​=π(x)P(Y=0∣x

2020-07-25 23:28:12 239

原创 高斯核与高斯核的卷积的结果还是一个高斯核的推导

高斯核卷积高斯核之前看sift源码中有个概念,就是对一张图像I0I_0I0​,先进行标准差为σ1\sigma_1σ1​的高斯核卷积,得到I1I_1I1​,再基于I1I_1I1​进行标准差为σ2\sigma_2σ2​的高斯核卷积得到图像I2I_2I2​,和I0I_0I0​直接进行一次标准差为σ\sigmaσ的高斯核的卷积得到I2I_2I2​之间的关系。写成表达式就是I0∗g1∗g2I_0*g1*g2I0​∗g1∗g2是否等于I0∗(g1∗g2)I_0*(g1*g2)I0​∗(g1∗g2),如果成立g=g1∗

2020-07-18 02:49:11 1242 2

空空如也

空空如也

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

TA关注的人

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