- 博客(47)
- 资源 (10)
- 收藏
- 关注
原创 Ubuntu install Ptam
#!/bin/bash#install TooNgit clone https://github.com/edrosten/TooN.git tooncd toon./configure make install#install libCVDsudo apt-get install libdc1394-22-dev libv4l-dev#mention#cd /usr/include
2015-08-19 16:50:37 1714 1
原创 c++
/************************************************************************* > File Name: config.cpp ************************************************************************/#include #include #i
2015-04-26 16:17:48 393
原创 opencv的图像遍历
注意Mat的数据结构,opencv中的数据结构这是opencv自带的tutorial:#include #include #include #include using namespace std;using namespace cv;static void help(){ cout << "\n--------------------------
2015-01-08 10:28:21 671
原创 pyhton的一些配置
1,使原生的python支持tabimport rlcompleter,readlinereadline.parse_and_bind('tab: complete')
2015-01-07 15:18:01 436
原创 python的执行shell命令
os.system('cat /proc/cpuinfo')返回的是执行的结果,1或者是其他output = os.popen('cat /proc/cpuinfo')print output.read()通过 os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出。但是无法读取程序执行的返回值) import subp
2015-01-07 10:05:59 451
原创 opengl的配置
1,GLFW 支持OpenGL及OpenGL ES,用来管理窗口,读取输入,处理事件等。因为OpenGL没有窗口管理的功能,所以很多热心的人写了工具来支持这些功能,比如早期的glut,现在的freeglut等。那么GLFW有何优势呢?glut太老了,最后一个版本还是90年代的。freeglut完全兼容glut,算是glut的代替品,功能齐全,但是bug太多。稳定性也不好(不是我说的
2015-01-06 21:57:53 461
原创 pyhton的二叉树
# -*- coding:utf-8 -*-# file: pybtree.py#class BTree(): def __init__(self,value): self.right = None self.left = None self.value = value # def insertRight(self,va
2015-01-06 19:01:53 409
原创 python的Tkinter
#-*- coding:utf-8 -*-import Tkinterfrom reportlab.pdfgen.canvas import Canvas#定义按钮class MyButton: def __init__(self , root , canvas , label , type): self.root = root self.can
2015-01-06 13:48:08 494
原创 Python 中的 generator ,class 的iter
参照来自:http://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/http://blog.csdn.net/myjiayan/article/details/26162911#-*- coding : utf-8 -*-class Fab(object): def __init__(sel
2015-01-02 16:48:46 889
原创 Python的爬虫
下载一个网页的图片:#-*- coding= utf-8 -*-import urllibimport redef getHtml(url): page = urllib.urlopen(url) html = page.read() return htmldef getImg(html): #格式的匹配 reg = r'src="(.+?\
2015-01-01 10:17:49 534
原创 网络编程的一些总结
1,物理层:电气的标准,怎么讲计算机的二进制转换为高低电平数据链路层: 数据帧网络层:IP传输层:数据包应用层:协议2,客户端与服务器端的通信,不需要两个的端口号相同,但是两者都有自己的端口号客户端在与服务器端建立连接的时候,对于TCP,服务器在客户端连接后,会在监听套接字之外另外生成一个新的套接字,表示与客户端的连接,这个套接字了解客户端的地址和端口号,从而可以区分是
2014-12-27 22:23:45 458
转载 sobel算子(转)
首先,我们来开一下计算机是如何检测边缘的。以灰度图像为例,它的理论基础是这样的,如果出现一个边缘,那么图像的灰度就会有一定的变化,为了方便假设由黑渐变为白代表一个边界,那么对其灰度分析,在边缘的灰度函数就是一个一次函数y=kx,对其求一阶导数就是其斜率k,就是说边缘的一阶导数是一个常数,而由于非边缘的一阶导数为零,这样通过求一阶导数就能初步判断图像的边缘了。通常是X方向和Y方向的导数,也就是梯度。
2014-12-03 18:39:12 676
转载 拉普拉斯算子(转)
1.基本理论 拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数 的拉普拉斯变换是各向同性的二阶导数,定义为: 为了更适合于数字图像处理,将该方程表示为离散形式: 另外,拉普拉斯算子还可以表示成模板的形式,如图5-9所示。图5-9(a)表示离散拉普拉斯算子的模板,图5-9(b)表示其扩展模板,图5-9(c)则分别表示其他两种拉普拉斯的实
2014-12-03 18:01:57 937
转载 Canny 边缘检测(转)
1.Canny边缘检测基本原理 (1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。 (2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。 (3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。 2.Canny边缘检测算法: ste
2014-12-03 15:15:24 486
原创 ubuntu上面的openni ,kinect 安装
1,openni的安装mkdir ~/kinectcd ~/kinectgit clone https://github.com/OpenNI/OpenNI.gitcd OpenNI/Platform/Linux/CreateRedist/chmod +x RedistMaker./RedistMakercd ../Redist/OpenNI-Bin-Dev-Linux-x8
2014-11-29 15:34:25 890 1
原创 编程中的命名规范
链接地址:http://www.cnblogs.com/tqsummer/archive/2010/07/08/1773943.html
2014-11-27 23:17:51 412
原创 C语言的指针
1,函数指针(指向函数的指针):void (*f)()表明f是一个指向函数的指针,并且这个函数不返回值。初始化:注意指向函数的指针(函数指针)指向的是函数而非普通的变量,它所指向的函数也是有特定类型的,函数的类型由它的返回值类型以及形参列表确定,和函数名无关。void test ( ) int wrong_match (int) 和函数指针void (*ptf)
2014-11-25 13:16:58 336
原创 opencv的鼠标,滑块操作
1,APIvoid cvSetMouseCallback(const char* window_name, CvMouseCallback on_mouse, void* param=NULL )
2014-11-23 13:25:42 500
原创 opencv 摄像头录取视频保存图像
1,API CvVideoWriter* cvCreateVideoWriter(const char* filename, int fourcc, double fps, CvSize frame_size, int is_color=1 )
2014-11-23 13:12:22 708
原创 opencv的入门1
#include#include#include"highgui.h"int main(int argc, char** argv){IplImage *img =0;int height,width,channel,step;uchar *data;int i,j,k;if(argc{printf("Usage error:please
2014-10-11 09:55:19 392
原创 c++的小摘要
现代 C++ 基础:而不是堆或静态全局范围的基于堆栈的大小。而不是显式类型名称的自动类型推理。而不是原始指针的智能指针。std::string 和 std::wstring 类型 (请参见 ) 而不是原始的 char[] 数组。标准模板库 (STL) 容器希望 vector、list和 map 而不是原始数组或自定义容器。 请参见 、 和 。而不是手动编码的那些的 STL
2014-07-12 12:03:48 510
转载 c++中的引用&的用法
对于习惯使用C进行开发的朋友们,在看到c++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中它却有着不同的用途,掌握C++的&符号,是提高代码执行效率和增强代码质量的一个很好的办法。在 c++学习提高篇(3)---隐式指针的文章中我详细介绍了在隐式指针&的用法,其实这两个概念是统一的。引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使
2014-07-08 20:38:07 423
原创 opencv 的入门
#include#include#include#includeint main(int agrc ,char **argv){ IplImage *pFrame =NULL; CvCapture *pCapture = cvCreateCameraCapture(0);//获取摄像头 cvNamedWindow("video opencv"); while(1) {
2014-07-01 14:17:08 570
转载 2048
/************************************************************************//* *//* 2048 游戏,与原游戏的规则略有出入,整体相同,控制台显示 */
2014-06-27 14:45:16 560
原创 排序的四种算法
#include #include #include #include // 生成 num 个范围在 0~max 之间的整数void CreateInt(int *p, int num, int max);// 演示排序函数int ShowSort(int *p, int num, HANDLE hOut, WORD corBase);void CompareSort(int
2014-06-26 23:32:35 470
原创 opencv在visual studio 2012的配置
经过了几个小时的努力,最终成功地在Visual Studio 2012中配置好了openCV,为了分享经验以及便于日后的查阅,记录了配置的过程和一些细节。首先指出我配置的环境是: Windows_8(64位), Visual_Studio_2012openCV的版本是: openCV_2.47下面开始详细地讲解整个配置的过程:步骤1: 首先需要下载openCV,这是Sour
2014-06-18 23:22:21 747
转载 linux的文件系统
本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录、挂载基本原理、文件存储结构、软链接硬链接、和常见目录的介绍。文章例子主要是基于ubuntu发行版。1.Linux磁盘分区和目录 Linux发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。目录结构基本上都是一样的。Windows的文件结构是多个并列的树状结构
2014-06-10 22:43:48 467
转载 Linux内核结构详解
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。 1.进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。
2014-06-08 20:59:45 422
转载 Linux 内核模块编程
Linux 内核模块编程是一个很重要的知识点。尤其是编写底层驱动程序时,一定会涉及到它。内核模块编程也是 Tiger 哥学习 Linux 时第一节课所接触的知识。由此可以看出它的 important, 也可以看出其实它很 easy 。一前言:1. 什么是内核模块1> 内核模块是具有独立功能的程序。它可以被单独编译,但是不能单独运行,它的运行必须被链接到内核作为内核的一部分在
2014-06-08 20:48:35 433
原创 linux的socket
虽然 socket 接口理论上还允许访问除 IP 以外的协议系列,然而在实际上,socket应用程序中使用的每个网络层都将使用 IP。对于本教程来说,我们仅介绍 IPv4;将来 IPv6 也会变得很重要,但是它们在原理是相同的。在传输层,socket 支持两个特殊协议:TCP (transmission control protocol,传输控制协议) 和 UDP (user datagram p
2014-06-08 19:39:04 457
原创 linux的线程编程1
多线程和多进程有很多区别的。其中之一就是,多进程是linux内核本身所支持的,而多线程则需要相应的动态库进行支持。对于进程而言,数据之间都是相互隔离的,而多线程则不同,不同的线程除了堆栈空间之外所有的数据都是共享的
2014-06-08 17:02:52 488
原创 linux的信号量通信
信号量是一个特殊的变量,程序对其访问都是原子操作,且只允许对它进行等待(即P(信号变量))和发送(即V(信号变量))信息操作。最简单的信号量是只能取0和1的变量,这也是信号量最常见的一种形式,叫做二进制信号量。而可以取多个正整数的信号量被称为通用信号量。这里主要讨论二进制信号量。
2014-06-08 16:07:53 491
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人