自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LordofRobots的博客

计算机视觉,深度学习

  • 博客(29)
  • 收藏
  • 关注

原创 Python Multi-Processing多线程编程

Python Multi-Processing多线程编程[TOC] 今天总结一下Python的Multi-Processing多线程编程。创建多进程的方法start new thread使用thread.start_new_thread是一种最简单的创建多进程的方法。#!/usr/bin/pythonimport threadimport time# Define a function for

2017-09-27 20:16:20 1350

原创 ROS Service的使用_Python

ROS Service的使用_PythonROS Service的使用_PythonRos的Service和TopicPython ServerPython ClientRos的Service和Topic二者都是ROS中节点间进行通信的方法。Topic采用的是广播/订阅的模式,没有反馈值,也就是发送的节点不知道谁会接收或者接收到没有。Service则采用request/response的模式

2017-09-25 19:21:53 8396 5

原创 pickle/cPickle操作函数、对象及在ROS中发布复杂消息

简介主要接口API使用举例操作复杂对象和ROS结合简介官方API 这个模块主要是做数据串行化和串行化数据解析的,pickle是python语言的库,cPickle是C语言写的,后者的执行速度是前者的1000倍。但是cPickle对少数模块不支持。 使用这两个库的数据必须是python相关的,否则其他非python语言可能无法解析这些串行化数据。主要接口pickle.dump(obj, f

2017-09-23 17:24:58 845

原创 c++等待函数和产生随机数

c++等待函数和产生随机数c等待函数和产生随机数程序等待产生任意范围内的随机数程序等待今天写代码正好用到这个sleep函数就顺便记录下来,要包含头文件#include <iostream>#include <unistd.h> //header file with sleep functionusing namespace std;int main(){ cout << "Hel

2017-09-22 20:04:28 2835

原创 Keras的使用方法

Keras的使用方法一种high-level的python API。Keras的使用方法InstallFundamentals of KerasKeras Sequential ModelSequence Model解决一个数值回归问题保存网络和加载cv-tricks教程篇 Keras 可以作为tensorflow和Theano的前端接口。 The power of being ab

2017-09-15 19:03:44 1152

原创 从URDF到KDL(C++&Python)

从URDF到KDL(C++&Python)毕竟我也是一个搞机器人的,今天就来写一些和机器人紧密相关的事情。从URDF到KDLCPythonKDL 简介URDF模型KDL CKDL PythonKDL 简介PyKDL是一个神奇的库。里面包含了KDL库与vector,rotation, frame, kinematics, dynamics的相关函数和接口。计算机器人学中的运动学/动力学和坐标变

2017-09-12 20:10:25 8891 9

原创 R-CNN物体检测三篇开山制作阅读笔记

r-cnn reading sum(pattern recognition)r-cnn reading sumpattern recognitionr-cnnAbstractIntroductionObject detecion with R-CNNModule in detailsNet trainingr-cnn[source code](http://www.cs.berkele

2017-09-07 20:27:37 794

原创 python调用c和c++库(直接调用和使用swig)

c++运算速度快于python,python简单易写。很多时候对于已有的c++代码也不想用python重写,此时就自然而然地想到用python调用c或者c++,两全其美。 然而根据这些博客的说法,python只能实现c的调用,如果需要调用c++,还需要对c++代码进行额外的处理。 首先是python调用c代码。//gcc -g -o libpycall_c.so -shared -fPIC py

2017-09-06 20:11:49 6696 2

原创 notes_September

Learning note SeptemberLearning note SeptemberPython 矩阵运算和三角函数python gzipzlib 模块的使用python读文件时的几种权限问题gvimvim的使用ROS的tf包坐标变换方法

2017-09-05 10:26:03 410

原创 闲来无事就开始写排序算法

实在是闲来无事,就写写排序算法吧。1. python实现冒泡排序。# -*- coding: UTF-8 -*-import randomlist = []for i in range(10): list.append(round(random.uniform(1,100),1))def sort(arr): i = len(arr) while i >= 0: f

2017-08-30 20:37:13 402

原创 使用tensorflow保存、加载和使用模型

使用Tensorflow进行深度学习训练的时候,需要对训练好的网络模型和各种参数进行保存,以便在此基础上继续训练或者使用。介绍这方面的博客有很多,我发现写的最好的是这一篇官方英文介绍:http://cv-tricks.com/tensorflow-tutorial/save-restore-tensorflow-models-quick-complete-tutorial/我对这篇文章

2017-08-30 17:23:33 8475 1

原创 Python中的父类和派生类、强制析构

通过一个小程序实验了Python中父类和子类的一些性质,直接上代码:# -*- coding: UTF-8 -*-class ParentClass: def __init__(self): self.start() def start(self): print "parent method" def count(self): print "1111" self.nu

2017-08-26 17:40:24 1087

原创 tensorflow regularizer(正则化)防止过拟合

Regularizer是防止网络过拟合的一种有效方法。这篇文章主要探讨如何在自己的网络模型中加入正则化,防止过拟合。首先我们看一下正则化的基本使用方法,这篇博客给出了一个使用的例子:http://www.cnblogs.com/linyuanzhou/p/6923607.html#!/usr/bin/env python#-*- coding:utf-8 -*-########

2017-08-23 12:37:57 2053

原创 python里面几个小函数的用法(map, zip, round)

# -*- coding: UTF-8 -*-#using of mapdef add(num): return num + 2lt = [1,2,3,4]rs = map(add, lt)print rs #[3, 4, 5, 6]rs2 = map(str, lt)print rs2 #['1', '2', '3', '4']#decimal control f

2017-08-22 11:02:16 1271

原创 使用pillow实现tensorflow中的一些图像增强函数(crop,contrast,flip,per_image_standardization)

使用tensorflow自带的tf.random_crop()、tf.image.random_flip_left_right()、以及random_contrast()等函数处理图像数据时,不仅需要使用session,而且处理速度非常慢。使用Pillow库完成这些函数接口,在实际数据处理时就非常快速和方便。#!/usr/bin/env python#-*- coding:utf-8 -*-

2017-08-14 13:12:58 5554 5

原创 Python多线程/多进程操作队列

最近在做深度学习,需要采用多进程的方式实现数据处理。为了实现数据的快速处理,我先后尝试了把数据一口气读入内存、多线程和多进程的方式。当然,肯定是多进程双队列的方式最好,因为可以充分利用多核和cpu。一般来说导入队列可以这样操作:import Queuemyqueue = Queue.Queue(100)但是这种队列不是同步队列,在多进程中不能用于通信。在多进程中,需要这样使用:

2017-08-12 11:36:07 2761 1

原创 python使用opencv驱动摄像头获取视频并保存

在网上找了很多这方面的教程,发现大多数都不好用,于是自己在原有的基础上修改了一个,分享给大家。# coding:utf-8import cv2import sysimport osreload(sys)sys.setdefaultencoding('utf8')cap = cv2.VideoCapture(0)cap.set(3,640)cap.set(4,480)

2017-08-03 15:10:49 1900

原创 C++和python中将程序内的绝对路径转为相对路径

在编程中常常需要用到一些文件或者存储的路径。此时如果在程序中用到绝对路径,代码的迁移性就会比较差。因此需要使用相对路径。在c++中,可以在程序中直接使用路径,即默认为当前程序的运行路径:int result = remove("../src/pic1.jpg");当然也可以通过其他方式获取当前路径:(头文件:#include ) char bu[200]; char* buf

2017-07-29 11:31:37 1117

原创 python读取配置文件

当需要使用python读取配置文件时,需要使用到python的ConfigParser模块。下面举个栗子。首先创建init格式的配置文件0.init:[global]id = 0object_x = 0.003[world]id = 12object_x = 0.14在python中读取并使用配置文件中的内容:#! /usr/bin/pythonimport Con

2017-07-13 14:08:48 1398

原创 CMakelist编译静态库和动态库

从代码模块化的角度,往往需要将一个系统工程拆分成很多小的模块,编译成库函数也是很好的方法。编译库函数的时候,可以选择编译成静态库或者动态库。静态库对应.a文件,动态库对应.so文件。还是以冒泡排序为例加以说明。编写StaticBubble.h头文件,里面定义函数但是不实现。路径在系统工程下的include文件夹下。using namespace std;void bubbleSo

2017-06-30 16:28:50 11709

原创 makefile链接使用eigen库

需要进行矩阵运算时,eigen是一个非常有效的库。linux下eigen安装可以通过apt install的形式或者到官网下载源码编译的形式安装(最后要sudo make install)。以一个小例子为例:#include #include using namespace std;using namespace Eigen;int main(int argc, char **ar

2017-06-29 16:20:52 2026

原创 点云可视化方法——PCLVisualizer

3D点云可视化可以通过rviz,cloud_viewer或者PCLVisualizer等方法进行可视化,这些介绍PCLVisualizer的方法。首先是加载点云并显示:#include #include int main(int argc, char **argv){ int showpoint = 0; pcl::visualization::PCLVisual

2017-05-18 21:03:06 3721

原创 使用python和c++调用摄像头

首先是c++版本:#include #include using namespace std;using namespace cv;int main(int argc, char** argv){ VideoCapture capture(0); //通过输入设备号控制采集使用的摄像头,一般0代表笔记本自带摄像头。 Mat frame,im; captu

2017-05-18 20:36:07 1667

原创 用GDB调试程序

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。一般来说,GDB主要有下面四个方面的功能:    1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。    2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)    3、当程序被停住时,可以检查此时你的程序中所发生的事。    4、动态的改变你程序的执行环境。以冒泡排序为例加以说

2017-05-17 14:51:56 373

原创 opencv切割并保存图片

使用opencv切割并保存图片,需要使用Rect类进行操作。这里讨论如何加载图片,切割图片,保存图片,销毁窗口和waitKey()函数的用法。#include #include using namespace std;using namespace cv;int main(){ Mat img = imread("pic1.jpg",-1); /* 第一

2017-05-16 17:21:23 18316 1

原创 python中的局部变量和全局变量

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。#!/usr/bin/python# -*- coding: UTF-8 -*-total = 0; # 这是一个全局变量# 可写函数说明def sum( a

2017-04-25 20:32:34 1014

原创 基于opencv2加载一张图片,画方框,以及删除图片原文件

opencv和opencv2在加载图片的时候有一些不同,这里采用opencv2。源码如下:#include #include //使用remove函数必须调用的库using namespace std;using namespace cv;int main(int argc, char** argv){ Mat rgb_show = imread("../sr

2017-04-24 18:06:49 8389

原创 从txt文件读取内容并进行字符串分割

话不多说,直接上源码:#include #include #include #include //用atoi函数必须包含的头文件#include //用ifstream必须包含的头文件using namespace std;vector strSplit(string, string);vector strSplit(string mystr, string s

2017-04-24 16:45:48 3554

原创 opencv.hpp文件

#ifndef OPENCV_ALL_HPP#define OPENCV_ALL_HPP// File that defines what modules where included during the build of OpenCV// These are purely the defines of the correct HAVE_OPENCV_modulename values

2017-04-20 16:24:00 3288

空空如也

空空如也

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

TA关注的人

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