自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver

2022-08-29 19:25:28 169 1

原创 Windows下构建基于Qt的Android的开发环境

1. 软件及版本Qt 5.14.2 + jdk8u241x64 + ndk-r20b + sdk_r24.4.12. jdk8u241x64、ndk-r20b和sdk_r24.4.1分别解压到对应文件夹,无需安装3. 打开sdk下SDK Manager程序下载编译工具4. 设置系统环境变量5. 打开Qt设置jdk、sdk和ndk对应安装包目录6. 工程编译时,要选择Create Templates...

2022-05-11 23:53:20 428

原创 ubuntu中opencv交叉编译

1. 安装ARM架构下的编译器apt-cache search aarch64sudo apt-get install g++-aarch64-linux-gnusudo apt-get install gcc-aarch64-linux-gnu在终端输入以下指令查看编译器版本aarch64-linux-gnu-g++ -vaarch64-linux-gnu-gcc -v2. 路径opencv3.4.16/platforms/linux下aarch64-gnu.toolchain

2022-04-14 11:06:43 4566 1

原创 linux中Qt调用openssl静态库

1. Qt中可以直接打印出当前软件版本支持的openssl版本号pro文件中添加:QT += network测试:#include <QSslSocket>qDebug()<<"QSslSocket=" << QSslSocket::sslLibraryBuildVersionString();验证:将openssl编译为静态库pro文件中配置INCLUDEPATH += $$PWD/openssl/incLIBS +=

2022-02-22 17:07:16 1589

原创 C++中类成员函数指针使用方法

1. 指向类非静态成员的函数指针声明: 指向类的成员函数的指针需要在指针前面加上类的类型,格式为:typedef 返回值 (类名::*指针类型名)(参数列表);赋值: 需要用类的成员函数地址赋值,格式为:指针类型名 指针名 = &类名::成员函数名;注意:赋值时&符号必须要加:不加&编译器会认为是在调用类的成员函数,所以需要给出参数列表,否则会报错;加&编译器才认为是要获取函数指针。调用: 调用类对象.*; 调用类指针->*,格式为:

2022-02-18 15:59:29 1887

原创 YUV图像数据格式

1. YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。YUV格式主要有YUV444, YUV422, YUV420, YV12, NV12, NV21。需要强调的是如何根据其采样格式来从码流中还原每个像素点的YUV值,因为只有正确地还原了每个像素点的YUV值,才能通过YUV与RGB的转换公式提取出每个像素点的RGB值并显示出来。YUV 4:4:4

2022-02-16 17:11:44 2058

原创 linux多线程使用sem_init()

1. linux中信号量主要函数int sem_init(sem_t *sem,int pshared,unsigned int value);int sem_wait(sem_t *sem);int sem_post(sem_t *sem);2. sem_init用于对指定信号初始化,pshared为0,表示信号在当前进程的多个线程之间共享,value表示初始化信号的值。sem_wait可以用来阻塞当前线程,直到信号量的值大于0,解除阻塞。解除阻塞后,sem的值-1,表示公共资源被执.

2022-02-15 11:39:00 1048

原创 Linux中Qt工程cmake编译及发布

1. 工具linuxdeployqt, https://github.com/probonopd/linuxdeployqt下载linuxdeployqt-continuous-x86_64.AppImage,并安装工具$ chmod +x linuxdeployqt-x86_64.AppImage$ mv linuxdeployqt-x86_64.AppImage linuxdeployqt$ sudo mv linuxdeployqt /usr/local/bin$ linuxdelp.

2022-02-10 15:53:30 1492

原创 python3实现卡尔曼滤波

import numpyimport pylab#这里是假设A=1,H=1的情况参数初始化num_iter = 50sz = (num_iter,) # size of arrayx = -0.37727 # truth value (typo in example at top of p. 13 calls this z)真实值z = numpy.random.normal(x,0.1,size=sz) # observations (normal about x, sigma=0.1)观测

2022-01-14 16:53:41 663

原创 ubuntu18.04中Cmake编译VTK7.1.1

[TOC](Qt cmake编译错误)欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示

2021-12-01 12:46:40 565

原创 qt5.14+VS2017开发环境

VS2017配置说明1. vs2017中设置打印信息到终端窗口2. vs2017中设置引用动态库1. vs2017中设置打印信息到终端窗口右击工程名点击属性,在生成事件中选择生成后事件,在命令行中添加“editbin /SUBSYSTEM:CONSOLE $(OUTDIR)$(ProjectName).exe”, 点击确定2. vs2017中设置引用动态库##1. 打开工程属性页##2. 在C/C++常规中,附加包含目录选择"\lib"文件目录##3. 在链接器常规中,附加目录库选择“\li

2021-09-29 13:17:45 207

原创 6. 快速排序

# -*- coding: utf-8 -*-"""Algorithm: 快速排序算法2020-08-07"""def quicksort(array): if len(array) < 2: return array # 基线条件:为空或只包含一个元素的数组是有序的 else: pivot = array[0] # 递归条件 less = [i for i in array[1:] if i <= ...

2020-08-07 13:59:37 62

原创 5. 贪婪算法

# -*- coding: utf-8 -*-"""Algorithm: 贪婪算法2020-08-06"""states_needed = set(["mt", "wa", "or", "id", "nv", "ut", "ca", "az"])stations = {}stations["kone"] = set(["id", "nv", "ut"])stations["ktwo"] = set(["wa", "id", "mt"])stations["kthree"] = ...

2020-08-07 10:53:56 116

原创 4. 选择排序

选择排序的时间为O(n2)def findSmallest(arr): smallest = arr[0] smallest_index = 0 for i in range(1, len(arr)): if arr[i] < smallest: smallest = arr[i] smallest_index = i return smallest_indexdef selectionSort(.

2020-08-06 13:52:00 83

原创 3. 二分查找算法

二分查找算法的输入必须是有序的元素列表def binary_search(list, item): low = 0 high = len(list) - 1 while low <= high: mid = int((low + high) / 2) guess = list[mid] if guess == item: return mid if guess > it.

2020-08-05 13:34:04 66

原创 2. 狄克斯特拉算法

狄克斯特拉算法用于找出加权图中前往X的最短路径graph = {} # 定义散列表,散列表包含键和值# graph散列表内定义键为'start'的第1个散列表graph["start"] = {}graph["start"]["a"] = 6graph["start"]["b"] = 2#print(graph) # out: {'start': {'a': 6, 'b': 2}}#print(graph["start"].keys()) # out: dict.

2020-08-05 11:11:27 97

原创 2. 英特尔格式与摩托罗拉格式对比

1. 英特尔格式 Intel格式跟小端格式一样,低地址代表低字节,高地址代表高字节。比如一个信号Intel,它的起始位为3,长度为10,在dbc中它的排列顺序如下所示:信号Intel = (byte0 >> 3) + (byte1 << 5),lsb表示低字节,msb表示高字节其中(byte0 >> 3)为低字节的值,(byte1 << 5)为高字节的值。2. 摩托罗拉格式Motorola格式跟大端格式一样,低地址代表高字节,高地...

2020-07-15 10:33:59 15127 3

原创 1.静态库与共享库

在Linux中,库文件分成静态库和共享库,静态库以.a作为后缀名,共享库以.so结尾,所有库都是函数打包后的集合,差别在于静态库每次被调用都会生成一个副本,而共享库则只有一个副本,更节省空间。// 这是一个库文件#include <iostream>using namespace std;void printHello(){ cout<<"Hello SLAM"<<endl;}# 声明要求的 cmake 最低版本cmake_minimum_.

2020-07-15 09:49:35 107

原创 三.3D坐标系中XYZ转换为2D像素坐标UV

s-表示投影变换的任意比例,不是相机模型的一部分cx, cy-表示图像的中心,单位像素fx, fy-表示焦距,单位像素// Intrisic camera parameters:UVC Webcam double f = 55; // focal length in mm double sx = 22.3; // 宽, sensor size double sy = 14.9; // 高, sensor size ...

2020-05-13 16:41:04 3237

原创 11. opencv图像处理编程实践

#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <iostream>using namespace cv;using namespace st...

2020-05-06 13:22:48 118

原创 1.Opencv Github资源

https://github.com/spmallick/learnopencv/blob/master/README.md?ck_subscriber_id=788954695

2020-04-01 14:14:51 510

转载 1.最小二乘法

监督学习中,预测的模型离散,称其为分类(决策树/支持向量机);预测变量连续,称其为回归。一元线性回归模型:回归问题中只包含一个自变量和一个因变量,且二者关系可以用一条直线近似表示,这种回归分析称为一元线性回归分析。多元线性回归:回归问题中包含两个或两个以上的自变量,且因变量和自变量之间时线性关系,则称为多元线性回归分析。2. 普通最小二乘法Ordinary least Square,OLS...

2020-03-27 13:32:03 156

转载 1 . LeNet5网络解析

网络结构(1)卷积层 H:图片高度;W:图片宽度;D:原始图片通道数,也是卷积核个数;F:卷积核高宽大小;P:图像边扩充大小;S:滑动步长;...

2020-03-25 13:09:35 111

原创 1.原码、反码和补码

原码反码补码

2020-03-24 17:04:28 1311

转载 1. PID控制算法

PID(proportion integration differentiation)是指比例,积分,微分控制。总的来说,当得到系统的输出后,将输出经过比例,积分,微分3种运算方式,叠加到输入中,从而控制系统的行为,下面用一个简单的实例来说明。比例控制算法假设我有一个水缸,最终的控制目的是要保证水缸里的水位永远的维持在1米的高度。假设初试时刻,水缸里的水位是0.2米,那么当前时刻的水...

2020-03-24 14:29:20 238

原创 1.蒙特卡洛算法

一、蒙特卡洛法计算自然对数e#include <time.h>#include <stdio.h>#include <stdlib.h>#include <iostream>#include <math.h>#define MAX_ITERS 1000000using namespace std;struct Poi...

2020-03-10 18:39:29 411

原创 1. 原型模式

浅复制// 工作经历class WorkExperience{ private string workDate; public string WorkDate { get{ return workDate; } set{ workDate = value; } } private string company; public string Company { g...

2020-03-04 13:04:12 85

原创 2. C++语言运算符重载

运算符重载:在C++中,运算符的重载就是把运算符的符号赋予新的含义,如果类重载了运算符,那么就可以用判断两个类是否相等。#include <stdio.h>#include <string.h>class CGirl{public:char m_name[50];char m_sc[30];bool operator == (const CGirl &a...

2020-03-02 21:43:08 84

原创 1. 函数重载

函数的重载的规则:1)函数名称必须相同。2)参数列表必须不同。#include <stdio.h>#include <string.h>char *strcpy(char *dest, const char *src, size_t destlen){memset(dest, 0, destlen); // 对dest初始化// 计算需要复制的...

2020-03-02 16:53:22 121

原创 4. C语言动态内存分配

#include <stdio.h>#include <stdlib.h>#include <string.h>struct woman{char name[50];int age;};int main(int argc, char *argv[]){int *pi = malloc(sizeof(int));long *pl = mall...

2020-03-01 15:16:17 51

原创 3.使用API

coding: utf-8import requestsimport pygalfrom pygal.style import LightColorizedStyle as LCS, LightenStyle as LS执行API调用并存储响应url = ‘https://api.github.com/search/repositories?q=language:python&s...

2020-02-13 19:24:29 69

原创 2. 制作交易收盘价走势图:JSON格式

coding=gbkimport jsonimport pygalimport mathfrom itertools import groupbydef draw_line(x_data, y_data, title, y_legend):xy_map = []“zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表”“sort...

2020-02-13 11:51:22 518

原创 1. 读取气象数据并展示

示例代码1:coding=gbkimport csvfrom matplotlib import pyplot as pltfrom datetime import datetimefilename = ‘sitka_weather_2014.csv’with open(filename) as f:reader = csv.reader(f)header_row = next(r...

2020-02-11 22:42:38 423

原创 3. 计算输入数字的二进制表示中含有1的个数

#include <stdio.h>#include <stdlib.h>#include <string.h>using namespace std;int main(){unsigned int x = 9;int countx = 0;while(x){countx++;x &= (x-1);}printf("%d\n",...

2020-02-05 15:56:33 81

原创 2. C语言实现字符串倒置

#include <stdio.h>#include <stdlib.h>#include <string.h>using namespace std;int main(){char *src = “hello world”;char dest = NULL;int len = strlen(src);dest = (char)malloc(l...

2020-02-05 12:57:08 674

原创 1. 打印1-100的素数

思考:偶数不可能是素数,缩小范围,减小计算量,奇数中只能被自己和1整除的数就是素数。#include <stdio.h>#include <stdlib.h>int main(){int number;int divisor;printf("1\n2\n");for(number = 3; number <= 100; number = number...

2020-01-27 14:21:27 88

原创 三. OpenCV图像操作

1. void convertTo( OutputArray m, int rtype, double alpha=1, double beta=0 )m – 目标矩阵。如果m在运算前没有合适的尺寸或类型,将被重新分配。rtype– 目标矩阵的类型。因为目标矩阵的通道数与源矩阵一样,所以rtype也可以看做是目标矩阵的位深度。如果rtype为负值,目标矩阵和源矩阵将使用同...

2020-01-16 10:58:43 72

原创 <19>. Canny Edge Detector

#include “opencv2/imgproc.hpp”#include “opencv2/highgui.hpp”#include using namespace cv;Mat src, src_gray;Mat dst, detected_edges;int lowThreshold = 0;const int max_lowThreshold = 100;const in...

2020-01-15 23:06:40 78

原创 <18>. Laplace Operator

#include “opencv2/imgproc.hpp”#include “opencv2/imgcodecs.hpp”#include “opencv2/highgui.hpp”using namespace cv;int main( int argc, char** argv ){// Declare the variables we are going to useMat ...

2020-01-15 22:53:08 77

原创 <17>. Sobel Derivatives

#include “opencv2/imgproc.hpp”#include “opencv2/imgcodecs.hpp”#include “opencv2/highgui.hpp”#include using namespace cv;using namespace std;int main( int argc, char** argv ){cout << “The...

2020-01-15 22:46:19 90

Busmaster说明资料

Busmaster主要用于汽车中CAN信号的读取以及分析,是一个免费且简单的小工具,本文主要对其使用进行说明。

2018-08-15

空空如也

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

TA关注的人

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