自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 aaa

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /home/yj/opencv-3.0.0/modules/imgproc/src/color.cpp, line 7564terminate called after throwing an instance of 'cv::Exception'

2015-12-28 16:59:10 612 1

转载 一个linux下g++使用的 makefile 模板

一个linux下g++使用的 makefile 模板这个makefile可用于编译大多数的c++工程。你可以根据需要修改下面的参数:VPATH: 源文件的文件路径。多个文件夹路径用空格分隔OBJ: 编译目标所需要的.o文件当然,你也可以不改动此文件,而直接在 make 命令的参数中指定如:make VPATH="path1 path2" OBJ="main.

2015-12-28 16:54:09 492

转载 g++参数简介

gcc and g++分别是gnu的c & c++编译器   gcc/g++在执行编译工作的时候,总共需要4步   1.预处理,生成.i的文件      预处理器cpp2.将预处理后的文件不转换成汇编语言,生成文件.s      编译器egcs3.有汇编变为目标代码(机器代码)生成.o的文件    汇编器as4.连接目标代码,生成可执行程序   

2015-12-28 16:51:30 193

转载 apue.h

apue.h是作者自己写的一个文件,包含了常用的头文件,系统不自带。其中包含了常用的头文件,以及出错处理函数的定义。使用起来确实很方便。apue.h内容如下: [cpp]#ifndef _APUE_H     #define _APUE_H         #define _XOPEN_SOURCE   600  /* Single UNIX Specificati

2015-12-28 14:50:09 295

转载 gcc/g++基本命令简介

gcc/g++基本命令简介gcc & g++现在是gnu中最主要和最流行的c & c++编译器 。g++是c++的命令,以.cpp为主,对于c语言后缀名一般为.c。这时候命令换做gcc即可。其实是无关紧要的。其实编译器是根据gcc还是g++来确定是按照C标准还是C++标准编译链接。下面以Test.cpp为例:命令: g++ Test.cpp功能:

2015-12-28 09:09:19 271

转载 linux下opencv的安装

个人已经厌倦了Windows下的开发方式,于是决定转到Linux平台上来,当然我也知道这个转变会很艰辛,但是我还是要坚持。所以,后面的所有开发我都会基于Linux和Qt,先从开发环境的搭建开始做起,当然,这里我只会讲OpengCV部分到内容,至于Qt部分,请参考其他部分到资料,我这里使用的是当前最新到版本Qt 5.3.0和OpenCV 2.4.9,操作系统使用到是Ubuntu 14.04。

2015-12-27 22:31:37 418

原创 1.STM32F4系列通用定时器TIM2~5总结

1. TIM2 到 TIM5 主要特性通用 TIMx 定时器具有以下特性:● 16 位(TIM3 和 TIM4)或 32 位(TIM2 和 TIM5) 递增、递减和递增/递减自动重载计数器(由影子寄存器结构的自动重载寄存器和计数器CNT组成)。● 16 位可编程预分频器PSC,用于对计数器时钟频率进行分频 (即运行时修改),分频系数介于 1 到 65536 之间。将CK_P

2015-12-27 10:45:23 15087

转载 机器视觉-相机

机器视觉--相机转载自--  http://www.cnblogs.com/iluzhiyong/p/4458114.html在拍摄高速运动物体的场合,要选用逐行扫描摄像机或使用隔行扫描摄像机的场采集方式采集图像。线阵摄像机适合于目标物体幅面大,或缺陷尺寸微小的场合,如:印刷质量检测,PCB板检测,布匹或棉花的检测,颗粒(粮食、水果等)检测等。CCD和CMO

2015-12-24 16:00:44 1171

转载 __attribute__

GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(Function Attribute )、变量属性(Variable Attribute )和类型属性(Type Attribute )。__attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribu

2015-12-22 14:08:17 344

转载 有关gcc的扩展__attribute__((unused))

在分析[url=javascript:;]linux[/url]内核时注意到有些函数会有添加__attribute__((unused)),在gcc手册中找到了有关的解释:unused:This attribute, attached to a function, means that the function is meant to be        possibly un

2015-12-22 14:03:23 2181

转载 用于linux与开发板之间下载文件的tftp配置详细总结

网上有很多关于tftp的配置,但是都不是很全,往往忽略细节,而linux下的实验细节决定成败,本文旨在给予刚接触linux与嵌入式开发的朋友以指点。若感觉对自己有帮助,记得留言顶。有问题我会上网时尽快恢复。 开发板:mini2440Uboot:必须支持tftp-clientLinux:企业版,内核2.6.18 特别注意:tftp配置前准备:关

2015-12-21 15:25:31 1058

转载 C语言strerror()函数:返回错误原因的描述字符串

相关函数:perror头文件:#include 定义函数:char * strerror(int errnum);函数说明:strerror()用来依参数errnum 的错误代码来查询其错误原因的描述字符串, 然后将该字符串指针返回.返回值:返回描述错误原因的字符串指针.范例:/* 显示错误代码0 至9 的错误原因描述 */#include ma

2015-12-21 11:34:43 2662

原创 111

http://weibo.com/5501429448/D6yQb55PO?type=comment#_rnd1450667705634

2015-12-21 11:16:41 238

转载 makefile中的自动化变量

自动化变量 模式规则中,规则的目标和依赖文件名代表了一类文件名;规则的命令是对所有这一类文件重建过程的描述,显然,在命令中不能出现具体的文件名,否则模式规则失去意义。那么在模式规则的命令行中该如何表示文件,将是本小节的讨论的重点。 假如你需要书写一个将.c 文件编译到.o 文件的模式规则,那么你该如何为gcc 书写正确的源文件名?当然了,不能使用任何具体的文件名,因为在每一次执

2015-12-21 10:37:51 296

转载 gcc 参数详解

1.gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的。一般c程序就用gcc编译,c++程序就用g++编译。2.gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名字3.为什么会出现undefined ref

2015-12-21 10:26:30 329

转载 pthread_join函数及linux线程

pthread_join使一个线程等待另一个线程结束。 代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。 所有线程都有一个线程号,也就是Thread ID。其类型为pthread_t。通过调用pthread_sel

2015-12-18 10:21:02 324

转载 Linux设备驱动中的阻塞和非阻塞I/0,

何谓阻塞与非阻塞I/O?简单来说就是对I/O操作的两种不同的方式,驱动程序可以灵活的支持用户空间对设备的这两种访问方式。一、基本概念:阻塞操作 : 是指在执行设备操作时,若不能获得资源,则挂起进程直到满足操作条件后再进行操作。被挂起的进程进入休眠, 被从调度器移走,直到条件满足。非阻塞操作 :在不能进行设备操作时,并不挂起,它或者放弃,或者不停地查询,直到可以进行操作。非阻塞应用程

2015-12-16 13:12:50 259

转载 阻塞与非阻塞I/O

阻塞与非阻塞I/O还记得上篇 我们讲到的是linux中并发控制访问的手段有哪些????原子、信号量、自旋锁、互斥体。这是为了保护临界区的资源,是多个进程对共享资源的并发访问的一种处理手段。但是,在驱动程序中,我们常常为了支持用户空间对设备的灵活访问,引入了阻塞与非阻塞I/O两种不同模式。  阻塞操作是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操

2015-12-16 11:54:28 286

原创 linux中阻塞和非阻塞的区别

所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。所谓非阻塞方式non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高

2015-12-16 11:08:11 6416

转载 select函数详解及应用

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方

2015-12-16 10:14:58 308

转载 mmap函数用法及示例程序

UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个:1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;2、将特殊文件进行匿名内存映射,可以为关联进程提供共享内存空间;3、为无关联的进程提供共享内存空间,一般也是将一个普通文件映射到内存中。头文件:   #include

2015-12-16 09:41:07 1320

转载 assert()函数用法总结

assert()函数用法总结  assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include assert.h>void assert( int expression );  assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终

2015-12-15 16:38:08 291

转载 v4l2

V4L2是V4L的升级版本,为linux下视频设备程序提供了一套接口规范。包括一套数据结构和底层V4L2驱动接口。1、常用的结构体在内核目录include/linux/videodev2.h中定义struct v4l2_requestbuffers        //申请帧缓冲,对应命令VIDIOC_REQBUFS        struct v4l2_capability  

2015-12-15 13:23:21 287

转载 Linux视频设备驱动常用控制命令使用说明

Linux视频设备驱动常用控制命令使用说明设置视频设备属性通过ioctl来进行设置,ioctl有三个参数,分别是fd, cmd,和parameter,表示设备描述符,控制命令和控制命令参数。1. 控制命令VIDIOC_QUERYCAP功能: 查询设备驱动的功能 ;参数说明:参数类型为V4L2的能力描述类型struct v4l2_capability;struct v4l

2015-12-15 13:21:16 481

转载 V4L2应用程序框架

V4L2是V4L的升级版本,linux下视频设备程序提供了一套接口规范。常用的结构体在内核目录include/linux/videodev2.h中定义struct v4l2_requestbuffers  //申请帧缓冲,对应命令VIDIOC_REQBUFSstruct v4l2_capability      //视频设备的功能,对应命令VIDIOC_QUERYCAPst

2015-12-15 13:19:05 435

转载 V4L2 API详解 <二> Camera详细设置

Camera的可设置项极多,V4L2 支持了不少。但Sam之前对这些设置的用法和涵义都是在看videodev2.h中边看边理解,感觉非常生涩。直到写这篇blog时,才发现v4l2有专门的SPEC来说明:http://www.linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/spec-single/v4l2.html

2015-12-15 13:14:05 660

转载 一片不错的V4L2

其实,我刚开始一直都不知道怎么写驱动,什么都不懂的,只知道我需要在做项目的过程中学习,所以,我就自己找了一个关于编写Linux下的视频采集监控项目做,然后上学期刚开学的时候听师兄说,跟院长做项目,没做出来也没关系,所以直接退出博士的团队,投靠了院长的门下,呵呵,说到这里其实并不是我太见风使驼了,而是····老是让我做单片机的东东,我嫌没意思,他也知道我一开始就要学嵌入式,所以,最后,我想了一下,既

2015-12-15 11:39:43 396

转载 V4L2 API详解 <三> Buffer的准备和数据读取

1. 初始化 Memory Mapping 或 User Pointer I/O.int ioctl(int fd, int requestbuf, struct v4l2_requestbuffers * argp);参数一:open()所产生的句柄。参数二:VIDIOC_REQBUFS参数三:in/out结构体。struct v4l2_request

2015-12-15 10:22:36 907

原创 CCD摄像头视场角计算公式

视场角大小和CCD传感器尺寸和镜头焦距有关:水平视场角 = 2 × arctan(w / 2f);垂直视场角 = 2 × arctan(h / 2f);视场角 = 2 × arctan(d / 2f);w为CCD的宽,h为CCD的高,d为CCD对角线长。

2015-12-14 14:10:09 20760 8

原创 相机CCD尺寸的大小详细列表

1英寸——靶面尺寸为宽12.7mm*高9.6mm,对角线16mm。 2/3英寸——靶面尺寸为宽8.8mm*高6.6mm,对角线11mm。 1/2英寸——靶面尺寸为宽6.4mm*高4.8mm,对角线8mm。 1/3英寸——靶面尺寸为宽4.8mm*高3.6mm,对角线6mm。 1/4英寸——靶面尺寸为宽3.2mm*高2.4mm,对角线4mm。

2015-12-14 13:07:58 9610

原创 3.LINUX后台进程与前台进程的区别

LINUX后台进程也叫守护进程(Daemon),是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。一般用作系统服务,可以用crontab提交,编辑或者删除相应得作业。守护的意思就是不受终端控制。Linux的大多数服务器就是用守护进程实现的。比如,Internet服务器inetd,Web服务器httpd等。同时,守护进程完成许多系统任务。比如,作业规划进程

2015-12-14 10:23:32 1175

转载 2.stdin, stdout, stderr以及重定向

stdin, stdout, stderr以及重定向作者:Sam(甄峰) sam_code@hotmail.com stdin, stdout,stderr: standard I/O streams 介绍:在通常情况下,UNIX每个程序在开始运行的时刻,都会有3个已经打开的stream. 分别用来输入,输出,打印诊断和错误信息。通常他们会被连接

2015-12-14 10:06:14 1372

原创 1.库函数fprintf详解

fprintf是C/C++中的一个格式化写—库函数,位于头文件中,其作用是格式化输出到一个流/文件中;函数原型 #include stdio.h>#includeint fprintf( FILE *stream, const char *format, ... );fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指

2015-12-14 09:52:59 4007

测量放大器原理分析与电路设计

测量放大器的原理、测量放大器的设计,对模电知识的提高有帮助

2015-06-15

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

TA关注的人

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