自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ryan Smith的专栏

硕士在读,兴趣领域:计算机视觉、机器学习、自动控制,C/C++,python,opencv,Linux等

  • 博客(34)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于Opencv库中SVM模块的MNIST手写字识别数据库识别

基于Opencv库中SVM模块的MNIST手写字识别数据库识别代码。        MNIST的手写数字数据库,有60000例训练集, 10000个测试集。它是更大的数据集NIST的一个子集。 数字已经被size-normalized,是有固定大小的图像。       官方地址:http://yann.lecun.com/exdb/mnist/       有对这个数据的详细介绍。

2015-10-24 19:15:36 3689 2

原创 数据结构之旅(一)顺序存储结构来实现线性表

用数组(顺序存储结构)来实现线性表该数据结构具有如下功能:初始化获取数据在表尾添加数据弹出表尾数据设置指定位置数据删除指定位置数据在指定位置插入数据优点1、无须为表示表中元素之间的逻辑关系而增加额外的存储空间2、可以快速地存取表中任一位置的元素缺点1、插入和删除操作需要移动大量元素2、当线性表长度变化较大时,难以确定存储空间的

2015-10-22 22:08:25 499

原创 数据结构之旅(一)一些基本的概念

基本概念和术语 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。数据不仅仅包括整型、实型等数值类型,还包括字符及声音、图像、视频等非数值类型。 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。如结构体、类 数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。

2015-10-22 20:37:59 528

原创 Linux多线程基础学习(八)私有数据

在进程内的所有线程共享相同的地址空间,任何声明为静态或外部的变量,或在进程堆声明的变量,都可以被进程所有的线程读写。那怎样才能使线程序拥有自己的私有数据呢。posix提供了一种方法,创建线程键。1.为什么需要线程私有数据:      原因一:有时候需要维护基于每个线程的数据,用线程ID作为索引。因为线程ID不能保证是小而连续的整数,所以不能简单的分配一个线程数据数组,用线程ID作为数组

2015-10-21 18:44:52 1063

原创 Linux多线程基础学习(五)线程同步-读写锁

读写锁 基础概念通过读写锁,可以对受保护的共享资源进行并发读取和独占写入。读写锁是可以在读取或写入模式下锁定的单一实体。要修改资源,线程必须首先获取互斥写锁。必须释放所有读锁之后,才允许使用互斥写锁。对数据库的访问可以使用读写锁进行同步。读写锁支持并发读取数据库记录,因为读操作不会更改记录的信息。要更新数据库时,写操作必须获取互斥写锁。 在一些程序中存在读者写者问题,也就是说,

2015-10-20 21:14:21 531

原创 Linux多线程基础学习(七)pthread一次性初始化

在多线程环境中,有些事仅需要执行一次。通常当初始化应用程序时,可以比较容易地将其放在main函数中。但当你写一个库时,就不能在main里面初始化了,你可以用静态初始化,但使用一次初始化(pthread_once)会比较容易些。 首先要定义一个pthread_once_t变量,这个变量要用宏PTHREAD_ONCE_INIT初始化。pthread_once_t once_cont

2015-10-20 19:31:09 842

原创 Linux多线程基础学习(五)线程同步-条件变量

条件变量(cond)互斥锁有明显的缺点只有lock和unlock状态。设计多任务时容易死锁,使用也不灵活。而条件变量引入了信号弥补了互斥锁的不足。 与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主

2015-10-20 15:59:08 521

原创 Linux多线程基础学习(六)线程属性

应该是Linux不希望用户在新建用户线程的时候可以直接访问线程属性的数据成员,因为可能用户在这里设置了未定义的数值导致线程奔溃,用户只能通过调用Linux提供的结构体的初始化函数对其进行变量初始化。这样做的好处在下文中会说明。通过设置属性,可以指定一种不同于缺省行为的行为。使用pthread_create()创建线程时或初始化同步变量时,可以指定属性对象。一般情况下pthread_create属性参数缺省值通常就足够了。

2015-10-20 13:23:25 454

原创 Linux多线程基础学习(五)线程同步-同步概念、互斥锁

线程同步中对同步的理解对于多线程程序来说,同步(synchronization)是指在一定的时间内只允许某一个线程访问某个资源。而在此时间内,不允许其它的线程访问该资源。 “同”字从字面上容易理解为一起动作其实不是,“同”字应是指协同、协助、互相配合。如进程、线程同步,可理解为进程或线程A和B一块配合,A执行到一定程度时要依靠B的某个结果,于是停下来,示意B运行;B依言执行,再将结果给A;

2015-10-19 21:52:01 815

转载 C++中结构体与类的区别(struct与class的区别)

转载来源:http://blog.sina.com.cn/s/blog_48f587a80100k630.htmlC++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和c

2015-10-18 21:41:21 479

原创 eclipse下添加GCC编译器的编译链接库以及程序运行参数方法

eclipse下添加GCC编译器的编译链接库在Linux下编写多线程程序,在调用pthread.h下的函数时需要添加链接库,如果是在命令行的环境下只需要在gcc命令后加上 -pthread就可以编译、连接通过,但是如何在eclipse下添加-pthread?不然会出现如下错误其实很简单,只要右击工程选择properties或者单击project ->properties也没

2015-10-16 15:10:31 12000

原创 Linux多线程基础学习(四)线程的终止、连接、取消

线程终止:1、 如果进程中的任意一个线程调用了exit,_Exit,_exit,那么整个进程就会终止2、 从启动例程中返回,返回值是线程的退出码3、 线程可以被同一进程中的其他线程取消4、 线程调用pthread_exit(void *rval)函数,rval是退出码#include #include #include #include #include us

2015-10-16 14:18:26 1046

原创 Linux多线程基础学习(三)线程生命周期

初始线程/主线程 1、当c程序运行时,首先运行main函数。在线程代码中,这个特殊的执行流被称作初始线程或者主线程。你可以在初始线程中做任何普通线程可以做的事情。2、主线程的特殊性在于,它在main函数返回的时候,会导致进程结束,进程内所有的线程也将会结束。这可不是一个好的现象,你可以在主线程中调用pthread_exit函数,这样进程就会等待所有线程结束时才终止。3、主线程接受参

2015-10-13 21:34:13 2047

原创 Linux下安装eclipse的C/C++集成开发环境

1.在Ubuntu软件中心搜索eclipse,并下载安装。自动安装一般没有问题。或者2.打开终端,然后输入(中间需要你输入密码):                                      sudo apt-get install eclipse                                      sudo apt-get install ecli

2015-10-07 21:01:23 1725 1

原创 Linux多线程基础学习(二)创建新的线程

多线程基础学习(一)创建新的线程这次博客主要记录以下多线程知识内容(代码运行环境为Linux):获取Linux中进程与线程的ID创建一个新的线程理解一个进程中包含多个线程的实际案例进程与线程的ID收到 项目 进程 线程 标识符类型 pthread_t pid_t 获取id pthread_self() getpid() 创建 pthread_crea

2015-10-07 18:01:04 550

原创 Linux多线程基础学习(一)基本概念

进程与线程的一些基本概念

2015-10-06 22:33:52 566

原创 编程练习(2)

最长和为零的子数组

2015-09-26 13:00:00 382

原创 编程练习(1)

最大间隔问题

2015-09-19 22:04:28 425

原创 Linux下基于opencv的神经网络字符识别

运行环境:Linux Ubuntu12.04    opencv 2.3.1包含头文件、命名空间:#include "mainwindow.h"#include "ui_mainwindow.h"#include #include #include #include #include #include "qdebug.h"using namesp

2015-08-28 21:04:52 1324

原创 基于opencv的神经网络算法实现两类分类问题的可视化演示

基于opencv的神经网络两类分类算法的二维空间可视化demon,希望可以帮到大家,代码由opencv文档中的SVM例程修改得到,与svm的结果有所不同

2015-08-24 23:19:57 1077

原创 windows下QT使用winsocket报错问题

windows下QT使用winsocket报错main.c: error: undefined reference to `_imp__WSAStartup@8'一开始以为是qt的问题,后来发现vs2012也也会报错,而且原因就是没有包含ws2_32.libvs下只要在代码前加上#pragma comment( lib, "ws2_32.lib" ) 就可以加载lib了

2015-03-22 23:16:16 1789

原创 windows下Qt插件qwt中plot编程

qt 5.4.1Qt Creator 3.3.1 (opensource)Based on Qt 5.4.1 (MSVC 2010, 32 bit)qwt 1.2.1实现曲线实时更新显示,数值由随机数产生.proQT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = qwt_testTEMPLATE =

2015-03-19 15:28:51 1324

原创 QT中安装配置QWT环境

下载qwt-6.1.2http://sourceforge.net/projects/qwt/解压到qt目录下的新建文件夹qtctl中使用QtCreator打开qwt.pro然后运行,等待编译完成约几分钟编译结果中的lib路径为E:\Qt\Qtctl\build-qwt-Desktop_Qt_5_4_1_MinGW_32bit-Release\lib将项目的编译结果

2015-03-18 15:06:52 2462

转载 C/C++/Qt 统计运行时间

转自http://www.cnblogs.com/Romi/archive/2012/04/19/2457175.html程序中经常需要统计时间,需要统计某项运算的运行时间时,需要计算时间差。1. C/C++C中有基础库用于实现该功能,功能在time.h头文件中,代码实例如下:#include #include #include void main(){

2015-03-13 19:16:01 1046

原创 Qt下编程如何使其能够预编译,加快编译速度

vs下默认打开了编译预处理头文件(PCH),而qt则不是,因此我们需要手动设置在工程文件.pro中添加PRECOMPILED_HEADER = stable.h工程中新建头文件stable.h 在头文件中包含qt的一些库文件#include #include #include #include #include #include #include

2015-03-10 13:24:05 1063

转载 目标检测中背景建模方法

转自http://cvchina.net/post/61.html最近一直在做前景检测方面的研究,刚开始主要是做一些工程性的应用,为了解决工程方面的问题,下了不少功夫,也看了不少最近国内外的文章。一直想做个总结,拖着拖着,终究却写成这篇极不成功的总结。      背景建模或前景检测的算法主要有:1. Single Gaussian (单高斯模型)Real-time trac

2015-03-06 21:13:21 565

原创 linux下添加库文件的几种方法

1. linux下系统会自动搜索根目录下的/lib以及/usr/lib下只要将要添加的库文件用管理员权限复制到该目录下即可2. 将链接库库放在/usr/lib下新建的文件夹中,如/usr/lib/opencv_lib然后使用命令sudo gedit /etc/ld.so.conf或者 sudo vi /etc/ld.so.conf将/usr/lib/

2015-03-06 17:58:11 1499

原创 Ubuntu安装完成后需要的配置以及安装的工具

1 改更新源-网易的镜像sudo apt-get update2 在右键快捷菜单中添加“Open inTerminal”1.打开一个Terminal(ctrl+alt+t),输入如下指令  sudo apt-get installnautilus-open-terminal2.在任意位置,右键鼠标就可以看到Open in Terminal选项了 3 安装

2015-03-06 17:50:16 613

原创 ubuntu下如何使能root用户并且使其能够ssh登录

1. 修改 root 密码sudo passwd root2. 以其他账户登录,通过 sudo nano 修改 /etc/ssh/sshd_config : xxx@ubuntu14:~$ su - rootPassword:root@ubuntu14:~# vi /etc/ssh/sshd_config3. 注释掉 #PermitRootLogin without-p

2015-03-06 12:32:57 728

原创 linux中配置在qt中调用opencv图像库

1、安装cmake到官网上下载cmake2.8.7。(新的版本我没尝试过)http://www.cmake.org/解压sudo tar zxvf cmake-2.8.8.gz -C /opt/LON/cmake-2.8.8/进入解压出来的文件夹,执行bootstrapsudo ./bootstrap接下来安装sudo makesudo make

2015-03-04 15:58:02 819

原创 bbblack sd卡内存问题

执行 ./opt/script/toolsgrow_partition.sh就能将2g的空间变为sd卡的大小,我的是8g,执行后就是7.7g

2014-12-26 22:20:08 454

原创 bb安装在sd卡时磁盘大小扩展

ubuntu安装在bbblack的sd卡时磁盘大小只有2g,实际我的sd卡有8g,扩展内存只要执行     /opt/script/tools/grow_partition.sh,重启bbblack就行

2014-12-26 22:12:27 564

原创 基于BeagleBone Black的嵌入式Linux开发之路(1)——开发板概述

BeagleBone Black 是开源社区组织 BeagleBoard.org 推出的新一代产品,从电子发烧友、工程师到学生,每个人都能够以仅 45 美元的价格获得一款即用型单板计算机。该平台仅有信用卡大小,是一款开放式软硬件开发平台,可快速地将开发者的构想转化为产品。  我记得第一次听到这块开发板是在14年的1月左右由同学推荐的,但是当时不以为然。因为说到学习嵌入式linux开发板,我首先

2014-12-23 17:59:13 1728

原创 防止步进电机失步的方法

步进电机相对于其他的类型的电机的优势就是pian

2014-07-10 16:14:15 2096

H.264的整数DCT变换及DSP实现

H.264采用整数DCT变换,避免了反变换中的误匹配问题,与传统的DCT变换相比它加快了变换速度,且加易于硬件实现。本文分析了H.264的整数DCT变换的原理和蝶形快速算法,并使用MATLAB软件对蝶形快速算法进行了软件验证。针对DSP的硬件特点和专有指令,使用汇编语言实现了H.264整数变换的优化。

2015-03-10

labview资料

   自动对焦技术可应用在工业生产线上,例如实现机器手准确抓取工件的功能。程序设计选择利用NI LabVIEW 8.6和NI vision图像处理函数库。 此外,论文还论述了相机控制的内容

2012-10-21

labview串口

labview的串口程序,可以与下位机进行通信,适合labview的学习,飞思卡尔智能车上位机学习例子

2012-10-21

空空如也

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

TA关注的人

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