进程间通信(内存映射)方式传输CV::Mat图像数据

关于内存映射的进程间通信,我直接一篇博客已经详细介绍过,这里只是再次补充一个传输图像的应用,因为OpenCV中Mat格式较为常用(并且也很方便传输),刚好用到,就做个笔记好了。应用的场景是B进程中的Mat传给A进程,A进程接受并恢复为Mat格式。其它也没什么好说的,有细节为题就参见我之前的博客,那么开始吧。…

OpenCV实现Census变换

census        在立体视觉中,常常用到Census变换,Census变换是一种非参数局部变换,其将周围像素的强度映射到一个比特穿,从而捕获图像的结构。同时使用Census变换可以减少由相机增益和偏置引起变化的影响。在立体匹配过程中,将图像做Census变换后,计算像素点之间的明式距离进行匹配,可以得到较好的效果。

        这篇博客主要介绍介绍实现Census变换,由于使用OpenCV的容器和接口,所以直接使用OpenCV调用比较方便。…

OpenCV进行各种矩阵变换及变换参数求解

        OpenCV可以处理许多2D、3D的变换矩阵,包括但不局限于2D放射变换矩阵(2×3),二维点对的最优单映射变换矩阵H(3×3),四个二维点对之间的透射变换矩阵(3×3),多对三维点之间的旋转平移矩阵(3×4),计算多个点对之间的基矩阵和位姿变换矩阵等。这篇博客对这些变换函数进行了总结,可以通过该博客给出的名字搜索函数进行查询。…

使用Kinect2.0+OpenCV采集RGB图像

knt3        博主最近开始玩Kinect了!

        这篇博客主要介绍Kinect2.0的开发环境配置,主要两点内容,一是在VS2013上配置Kinect2.0开发环境,二是编译一个采集RGB图像数据的小程序测试Kinect2.0的开发环境是否配好。

        在你需要做好如下准备之后,就可以开始配置Kinect2.0的开发环境了。

        首先检查你的PC,要求操作系统为Win8及以上(含Win8、Win8.1、Win10),拥有USB3.0(及以上)接口,如果你需要使用Kinect做实时三维重建及交互,那么你最好拥有一块中档(及以上)显卡,并且支持DirectX11(及以上)。

        另外关于软件,本篇教程已经默认你配置了以下环境VS2012(及以上版本),OpenCV(2.4及以上,最好是3.1版本),配置好这些,我们就可以开始了。…

MFC中显示Mat格式图像——Mat转CImage方法

        Mat是opencv中的图像格式,如果想要图像在MFC中显示,将Mat格式转为MFC支持的CImage格式是一种较为优秀的解决方案,这篇博客就来介绍在MFC中显示Mat图像的方法。虽然原理相同,但博主还是要介绍两种方式:一种是通过子类化显示控件的方式进行显示,第二种是在父窗口中调用。如果你做的工程比较庞大,博主建议使用子类化控件的方法,当然,如果你是小工程,博主也依然建议你使用子类化的方法,这样不仅使代码结构简单封装良好,而且方便了控件的拓展。…

简洁的OpenGL窗口截图——opengl+opencv实现

        在前面的博客中,我们介绍了在MFC中使用OpenGL绘图,现在我们需要将OpenGL窗口中所展示的图形绘制出来,或者保存为图像,坊间使用的很多代码都过于复杂,冗余的代码都浪费在了手写Bmp格式,内存数据格式转换等问题上。我们通常需要简洁强大且高校的代码,于是opencv库成为了我们的首选,并将这些功能封装在类中使得其易于使用。感谢这篇博客的内容,建立了glGraber类,使得我们可以摆脱繁重的代码,特此收录。…