c++
文章平均质量分 74
wenrenwang
这个作者很懒,什么都没留下…
展开
-
opencv 数字稳像的研究
opencv是一个很强大的图形库,实现了一系列经典算法,用来做图像处理是得心应手。最近由于项目需求,需要做一下数字稳像,去除视频抖动。不过,虽然这不是一个新的技术,但实用的代码还真是不多,很多都只有一半能用,一半只能看。进行数据稳像的一般方法:计算图像的特征点特征点有很多的计算方式,如sift/surf,corner(角点),block(块)等方式。其中最准原创 2013-01-15 12:53:55 · 1948 阅读 · 1 评论 -
c++ 多线程调试小技巧
多线程编程时,各个线程之间共享数据、锁造成的bug不计其数,调试难度也油然而生,最近有感于一次bug调试,总结了之。1. 找到问题所在多线程最多的问题是内存访问的问题,找到发生冲突的内存访问代码块,增加日志的输出。在各线程存取时,输出日志,发现问题。一般情况下,问题都是由于锁或者条件变量的不正确使用,或者错误的判断条件造成。先找准问题。2. 采用断点进行调试原创 2013-08-11 12:30:26 · 4093 阅读 · 0 评论 -
linux c++ socket 网络编程(2) select 异步非阻塞
1.3. 多路复用上面的方法可以完成单个线程处理多个socket读写的。但这样的轮询方式,一定无法应付大量的请求,因为效率太低了,仅处理网络IO就要消耗掉大量的CPU资源,这是十分不可取的。那所谓的多路复用,就是要解决低效的问题。个人理解复用,就是将多个低速率的流,合成一个高速率的流,来达到提高利用率的目的。放在网络编程模型里的多路复用,就是将多个低速的网络IO流,合成一个高速的网络IO流原创 2013-12-02 23:08:07 · 4153 阅读 · 0 评论 -
linux c++ socket 网络编程(1)同步阻塞、非阻塞模型
1.网络编程基本模型介绍linux的网络编程有很多种写法,最简单的是阻塞式(Blocking)的网络程序,其次有非阻塞(Non-Blocking),多路复用(Multiplexing),异步(Asynchronous)模型等。1.1. 阻塞模型阻塞模型是最为简单的一种网络编程模型。顾名思义,该模型中,socket都工作在阻塞模式下,在调用相应的网络函数时,如accept, recv原创 2012-10-08 23:11:09 · 3284 阅读 · 0 评论