- 博客(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. 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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人