- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 c++ 智能指针
智能指针简介c++中动态内存的管理是通过new和delete来完成的,只要保证new和delete的配对使用,是没有问题的。但是有时候我们会忘记释放内存,甚至有时候我们根本就不知道什么时候释放内存。特别时在多个线程间共享数据时,更难判断内存该何使释放。这种情况下就机器容易产生引用非法内存的指针。为了更容易(同时也更安全的管)的使用动态内存,新的标准库(C++11)提供了两种智能指针(smar...
2020-01-14 23:40:20 251
原创 ubuntu18.04启动Anaconda Navigator 图形化界面
方法一:$ source ~/anaconda3/bin/activate root$ anaconda-navigator方法二:$ conda install -c anaconda anaconda-navigator$ anaconda-navigator参考:https://stackoverflow.com/questions/43030871/anaconda-na...
2019-11-04 15:42:01 1323
原创 linux 系统安装 QQ 2019【QQ for linux】
linux 系统安装 QQ下载列表架构Valuex64shell rpm deb pacmanARM64shell rpm debMIPS64shell rpm安装帮助如何选择安装包?Linux QQ 目前支持x64(x86_64、amd64)、arm64(aarch64)、mips64(mips64el)三种架构,每种架构...
2019-10-25 09:20:57 3651
原创 Ubuntu下查看电脑CPU温度
1:sudo apt-get install lm-sensors hddtemp 2:sudo sensors-detect 3:sensors 4:sudo apt-get install psensor 5:psensor 6:done!7:参考文献: 【1】 https://www.linuxidc.com/Linux/2015-06/119201.htm...
2018-05-08 08:35:35 17637
原创 Ubuntu 下安装vscode
1:执行下列命令:sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make sudo umake web visual-studio-codedone!2:参考文献: 【1】 https://www.cnblogs.com...
2018-05-08 08:35:08 6424 3
原创 Ubunut 下安装网易云音乐
1:先去官网下载最新版本的网易云http://music.163.com/#/download2:执行命令:sudo dpkg -i netease——3:如果报错了 ,执行以下命令sudo apt-get -f install4:然后继续执行:sudo dpkg -i netease——done!...
2018-05-08 08:33:54 7305
原创 ubuntu16.04启动Anaconda Navigator 图形化界面
方法一:$ source ~/anaconda3/bin/activate root$ anaconda-navigator方法二:$ conda install -c anaconda anaconda-navigator$ anaconda-navigator参考:https://stackoverflow.com/questions/43030871/anaco
2018-02-02 09:31:32 57112 1
原创 【5】c++多线程技术之线程间通信
线程间通信是多线程编程中的一个重要概念,它指的是在一个程序中的多个线程之间传递信息或者同步执行的过程。在C++中,有多种方式可以实现线程间的通信。
2024-04-12 21:22:29 307
原创 【4】c++多线程技术之高级线程同步技术
是C++17中引入的一种同步原语,用于允许多个线程同时读取共享数据,但在写入数据时只允许一个线程进行操作。但是,如果有一个线程想要写入共享资源,它必须首先获得写锁,这会阻止其他所有线程(包括读操作和写操作)访问共享资源,直到写锁被解锁。首先,它会锁定互斥锁,然后将元素添加到队列中,最后通过条件变量通知一个正在等待的线程。,所以多个读取线程可以同时访问数据,而写入线程会阻塞其他线程的访问。:这是一个互斥锁,用于保护队列的访问,防止多个线程同时修改队列。:这是一个条件变量,用于阻塞和唤醒等待队列的线程。
2024-04-12 21:05:46 277
原创 【3】c++多线程技术之线程同步与互斥
线程安全问题与数据竞争是多线程编程中的重要概念。在C++中,线程安全问题主要涉及到多个线程对共享数据的访问,如果多个线程同时访问同一块内存区域,并且至少有一个线程对该区域进行写入操作,那么就可能发生数据竞争(Data Race)。数据竞争可能导致程序行为不可预测,甚至可能引发严重的错误。为了避免数据竞争,我们需要使用一些同步机制,如互斥锁(Mutex)和条件变量(Condition Variable)等。下面是一个简单的例子,展示了如何使用C++的std::mutex。
2024-04-12 20:50:54 440
原创 【2】c++多线程技术之多线程标准库的使用
在C++中,多线程有关的头文件为<thread>,我们可以使用std::thread类来创建和管理线程。在这个示例中,我们首先包含了头文件,以便我们可以使用std::thread类。然后,我们定义了一个名为print_hello的函数,这个函数将在新线程中执行。在main函数中,我们创建了一个名为t的新线程,并将print_hello函数作为参数传递给它。这将导致print_hello函数在新线程中执行。最后,我们调用了t.join()方法来等待线程完成。
2024-04-11 21:36:57 215
原创 【1】c++多线程技术之线程基础概念
进程和线程是现代操作系统中并发执行程序的两种实体,它们之间存在一些本质的区别。进程是资源分配的独立单位,拥有独立的地址空间和资源,而线程则是进程中的执行单元,共享进程资源和地址空间。在多任务操作系统中,进程和线程共同工作以实现并行处理和任务调度,提高了系统资源的利用效率和程序执行的效率。
2024-04-11 20:41:25 62
原创 【1】C++设计模式之【单例模式】
下面分别给出这五种实现方式的代码示例和解释。解释:这种方式是在第一次调用getInstance()方法时才创建实例,但是这种方式在多线程环境下是不安全的,可能会出现多个实例。
2024-04-11 11:16:52 595
原创 linux install jsonapp库
安装步骤// 安装依赖 sconssudo apt-get install scons// 现在库文件wget https://nchc.dl.sourceforge.net/project/jsoncpp/jsoncpp/0.5.0/jsoncpp-src-0.5.0.tar.gztar -zxvf jsoncpp-src-0.5.0.tar.gzcd jsoncpp-src-0....
2020-03-05 09:57:34 493
原创 c++中map常见用法说明
C++中map提供的是一种键值对容器,每一对中的第一个值称之为关键字(key),每个关键字只能在map中出现一次;第二个称之为该关键字的对应值。声明//头文件#include<map>map<int, string> ID_Name;// 使用{}赋值是从c++11开始的,因此编译器版本过低时会报错,如visual studio 2012map<i...
2019-10-19 08:20:36 323
原创 在ubuntu下安装opencv和PCL时 undefined reference to `TIFFReadDirectory@LIBTIFF_4.0
声明:本文系转载自 https://blog.csdn.net/u011361393/article/details/83210824在ubuntu下安装opencv和PCL时,遇到如下错误 undefined reference to `TIFFReadDirectory@LIBTIFF_4.0/usr/lib/libvtkIO.so.5.10.1: undefined reference ...
2019-08-31 08:18:11 3004 6
原创 ubuntu下编译安装pcl
本文将介绍如何在 ubuntu下编译安装pcl第一步:安装依赖sudo apt-get updatesudo apt-get install git build-essential linux-libc-devsudo apt-get install cmake cmake-guisudo apt-get install libusb-1.0-0-dev libusb-dev libud...
2019-08-29 22:25:55 1540
原创 Ubuntu下安装opencv及opencv扩展模块opencv_contrib
本文将给大家介绍 Ubuntu下安装opencv及opencv扩展模块 opencv_contrib, 以 opencv3.4.3 为例子第一步:下载源码opencvopencv_contrib第二步:编译安装先安装一些依赖环境sudo apt-get install cmake sudo apt-get install build-essential libgtk2.0-dev ...
2019-08-29 21:58:08 828
原创 Ubuntu下标题栏实时显示上下行网速、CPU及内存利用率
1:sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor 2:sudo apt-get update 3:sudo apt-get install indicator-sysmonitor 4:indicator-sysmonitor 5:done!6:参考文献 【1】 https://blog.csdn.net/t...
2018-05-08 08:35:55 1948
原创 Ubunut 下查看指定端口占用并解除
1:查看端口: 方法一:netstat -ap | grep 8080 方法二:lsof -i:80802:解除占用: kill -9 PID号
2018-05-08 08:34:43 2010
原创 Ubunut 下安装teamview
1:先去官网下载最新版本的teamview:https://www.teamviewer.com/zhCN/2:执行命令:sudo dpkg -i ——3:如果报错了 ,执行以下命令sudo apt-get -f install4:然后继续执行:sudo dpkg -i ——done!...
2018-05-08 08:34:23 1636
原创 Ubuntu下安装wechat
下载地址: https://github.com/geeeeeeeeek/electronic-wechat/releases下载后解压运行done!
2018-05-08 08:33:24 1246
原创 Ubuntu下安装chrome浏览器
sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -sudo apt-get updatesudo apt-...
2018-05-08 08:32:58 547
原创 【1】TensorFlow 之模型的持久化与读取
模型的持久化按照网上的教程,运行下面的代码import tensorflow as tfv1 = tf.Variable(tf.constant(1.0, shape=[1]), name = "v1")v2 = tf.Variable(tf.constant(2.0, shape=[1]), name = "v2")result = v1 + v2init_op = tf.gl...
2018-04-20 22:49:38 348
原创 在 ubuntu 中使用微信
话不多说,直接上教程。 我用的系统是 Ubuntu 16.04 64位 (1)先下载微信的 linux 客户端 地址1:https://github.com/geeeeeeeeek/electronic-wechat/releases 地址2:https://cloud.189.cn/t/uMfa6zjaqmMv (2)解压并双击 (3)这就可以啦,这个应该是个网页版的微信,不...
2018-04-13 17:36:51 1529
原创 【1】PCL系列之txt点云数据转pcd格式数据
#include#include#include #include #include #include using namespace std;typedef struct txtPoint_3D{ double x; double y; double z; double r;}txtPoint_3D;/* 从 txt 格式的文件中读
2018-01-25 16:46:01 2076 3
原创 numpy中的delete函数详解
numpy中的delete函数有三个参数: numpy.delete(arr, obj, axis) arr:需要处理的矩阵 obj:在什么位置处理 axis:这是一个可选参数,axis = None,1,0axis=None:arr会先按行展开,然后按照obj,删除第obj-1(从0开始)位置的数,返回一个行矩阵。axis = 0:arr按行删除axis = 1:arr按列删
2018-01-06 22:27:20 28550 1
原创 VS一次性配置OpenCV教程
在vs上每次新建一个项目都得重新配置OpenCV环境,甚是繁琐。有没有便捷操作,当然,我们可以在第一次配置OpenCV时将项目属性保存下来,以后每次新建项目时添加属性引用就好了。下面就来开始教程下载OpenCV地址:http://opencv.org/releases.html 下载的时候一定得和自己vs版本对应 VS版本 opencv版本 vs2003 vc7 vs2005
2017-10-05 21:18:46 4783 5
原创 神经网络中的反向传播算法推导
引言反向传播算法(Backpropagation)是目前用来训练人工神经网络最常用且最有效的算法。1986年, Hinton, 深度学习之父, 和他的合作者发表了论文,首次系统地描述了如何利用BP算法有训练神经网络。从这一年开始,BP在有监督的神经网络算法中占着核心地位。它描述了如何利用错误信息,从最后一层(输出层)开始到第一个隐层,逐步调整权值参数,达到学习的目的。话不多说,接下来就开始一个简单的
2017-09-09 21:31:24 841 3
原创 YOLO论文阅读笔记
YOLO简介首先贴下资源 yolo的官方文档 yolo的论文地址 yolo的github源码地址 yolo是RBG大神在rcnn系列之后的又一力作。针对在目标检测领域中无法达到实时检测效果的问题,独辟蹊径,为目标检测提供了新的思路。之前在rccn系列中,作者第一步是先通过一定的算法筛选出一些region proposal(大概2000个左右),然后再用cnn提取region proposal
2017-08-21 11:42:00 840
原创 Matlab中视频帧和图像的相互转换
简介有时候在实验过程中,需要把视频一帧一帧地保存为图片,或者把一个时间序列的图片合成为视频。用opencv又太麻烦,这时候你可以选择试试matlab。其实很简单,直接上代码代码video2imgclc;clear;videoPath = '';%视频文件路径videos = VideoReader(videoPath);%获取视频对象frameNumber = videos.NumberOf
2017-08-21 11:34:33 2903 2
原创 YOLO安装与配置
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-08-18 14:50:24 2682 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人