
机器视觉
机器人开发者
从事机器人、自动驾驶开发
展开
-
使用cvMatchShapes对旋转物体的跟踪
跟一位学院的老师做SRP快一年了,老师一直要我们负责软件部分。其中软件只要是计算机视觉,在VC6.0下使用OpenCV跟踪摄像头下的一个运动物体。虽然之前也写过一个模式识别的程序,但是那次是使用模板匹配函数MatchTemplate来写的MatchTemlate函数对于不旋转的物体跟踪效果很好,我们最后写的程序跟踪的很稳定。但是现在我们要跟踪的模板是旋转的,这样就想到了使用Hu不变距的性质来实现。原创 2013-03-08 23:38:56 · 13793 阅读 · 3 评论 -
MFC下通过OpenCV打开AVIA文件,有暂停功能
以前写过打开AVI视频文件的程序,不过那时候在获取一帧的时候使用的是while(1)死循环,每次退出都会卡死,而且不能暂停。使用while(1)源代码:void CReadVideoDlg::OnFileOpen() { // TODO: Add your control notification handler code here // 文件打开对话框CFileDialo原创 2012-08-27 16:25:41 · 1648 阅读 · 0 评论 -
鼠标截图画框
CvMouseCallback:鼠标事件#include "stdafx.h"#include "cv.h"#include "highgui.h" void my_mouse_callback(int event0,int x,int y,int flags,void* param);CvRect box;bool drawing_box=false;void转载 2012-08-27 01:55:02 · 1477 阅读 · 0 评论 -
MFC下使用cvSetMouseCallback()的小结
网上有很多针对于MFC下使用cvSetMouseCallback()这个函数的说明,但是大部分让人读了,还是不懂怎么去做,所以我在这里小结一下,希望对其他人有帮助。1、使用时出现error C2664: 'cvSetMouseCallback' : cannot convert parameter 2 from 'void (__cdecl *)(int,int,int,int)' to 'C原创 2012-10-06 13:08:26 · 5045 阅读 · 3 评论 -
MFC下的OpenCV截图与API函数截图
1、使用OpenCV的函数截图,以下是一位网友写的http://blog.youkuaiyun.com/chenli2010/article/details/7899773 源代码如下:#include#include#includeCvPoint pt1 = cvPoint(0,0);CvPoint pt2 = cvPoint(0,0);bool is_selecting原创 2012-08-27 23:14:47 · 3395 阅读 · 0 评论 -
使用OpenCV滑动条写成的简单调色器,实时输出RGB值
好久没有写博客了,最近在看OpenCV,于是动手写了个简单的RGB调色器,在终端实时输出RGB的值。通过这个程序学习滑动条的使用。程序中主要用到cvCreateTrackbar ,其用法如下:cvCreateTrackbar 创建trackbar并将它添加到指定的窗口。 CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos)原创 2015-06-25 21:13:20 · 1928 阅读 · 0 评论 -
使用DirectShow打开摄像头 MFC编程
之前使用OpenCV 自带的函数打开摄像头,在Win7下无法使用的朋友可以参考一下这篇文章。使用DirectShow可以实现打开多个摄像头。首先从网上下载三个文件:DirectShow、CameraDS.cpp、CameraDS.h其中DirectShow是一个文件夹,没必要下载安装程序,DirectShow里面包含了lib文件与Include头文件。接下来是配置DirectShow,新建一个MF原创 2013-03-13 16:09:17 · 16070 阅读 · 5 评论 -
在qt上OpenCV处理OV9650采集的图像
网上移植Opencv到ARM+linux上的教程很多,叫我们如何把OV9650采集的数据传递给opencv使用的教程也很多,但是说的模棱两可,没有一个确切的说法。我在这里总结一下。 一般我们OV9650采集的数据得先经过OpenCV处理以后才会给qt显示,所以要转换两次:第一次是OV9650采集的数据要放到IplImage结构里面,这样Opencv才能使用,第二次是经OpenCV处理以后的原创 2013-08-07 20:46:09 · 4706 阅读 · 1 评论 -
图像的旋转 OpenCV
#include "cv.h"#include "highgui.h"#include "math.h"#includeint main( int argc, char** argv ){ IplImage* src; /* the first command line parameter must be image file name */ if( (src =原创 2013-03-13 19:47:43 · 1751 阅读 · 0 评论 -
基于C#的简单http服务器,用于多台工控机数据的监控
基于C#的简单http服务器,用于多台工控机数据的监控原创 2016-06-19 22:34:29 · 3807 阅读 · 0 评论 -
Halcon例程分析之 《Ball》
例程可以在HDevelop中使用快捷键Ctrl+E打开,右上角搜索框输入“Ball”找到例程目的:测量所有球形焊接点的直径思路:焊点位置定位 -> 二值化与形态学处理 -> 分类/分割 -> 圆形拟合* ball.hdev: Inspection of Ball Bonding* dev_update_window ('off')dev_close_window原创 2018-01-04 11:24:31 · 658 阅读 · 0 评论 -
error C2664: 'cvSetMouseCallback' : cannot convert parameter 2 from 'void (int,int,int,int,void *)'
今天想用OpenCV的cvSetMouseCallback'函数来写截图程序,但是编译时老是出现题目那种错误。在网上浏览了好多网页,终于找到相关的论文,基本都说把回调函数写成全局变量。即把 void cvMouseCallback(int mouseEvent,int x,int y,int flags,void* param)改成static void cvMouseCallback(int m原创 2012-08-28 00:04:26 · 3189 阅读 · 1 评论 -
blobtrack改成摄像头输入
blobtrack例程改为摄像头输入: pCap=cvCaptureFromCAM(0);或pCap = cvCreateCameraCapture(-1);都很卡,然后几乎不能跟踪运动团块。按一些网上看法说改为DirectShow采集,同样很卡,效果很差。原创 2013-03-19 22:06:42 · 1126 阅读 · 0 评论 -
MFC对话框和opencv的结合 读入视频
转自:http://guo08.blog.163.com/blog/static/1739974832011614114624545/ 这几天在做一个设计,要用到MFC和opencv的结合,上网查了一下,发现这方面的知识不是很多,连一个简单的视频读入都有点麻烦,经过重重困难,终于做出来,为了给初学者少走弯路,现在给出大概流程和主要代码。1,打开VC,建立一个工程,基于MFC转载 2012-08-27 00:46:27 · 1738 阅读 · 0 评论 -
OpenCV(一) 打开一个摄像头
最近要打开一个摄像头,然后使用OpenCV的cvCreateCameraCapture(-1)函数发现打开摄像头失败。我的电脑系统是Win7,然后我拿到XP系统下去运行,发现可以打开摄像头。下面顺便贴出代码VC6.0的一个MFC工程void CMyDlg::OnFileOpen() { // TODO: Add your control notification handler c原创 2013-03-12 18:30:04 · 6871 阅读 · 1 评论 -
ubuntu下使用OpenCV打开摄像头
1、下载OpenCV2.4.3按原创 2014-04-10 21:41:13 · 8403 阅读 · 0 评论 -
opencv1.0移植到ARM+linux(TQ2440)
在OpenCV官网下载linux安装包:http://opencv.org/downloads.html,解压到/opt/EmbedSky/opencv下,然后cd进入解压文件夹。在解压目录下运行:./configure --host=arm-linux --without-gtk --without-carbon --without-v4l --without-v4l2 --withou原创 2013-07-24 21:35:23 · 3619 阅读 · 1 评论 -
ubuntu上面编译并使用OpenCV
最近学习QT及OpenCV的使用,所以尝试下载了OpenCV,并且按照网上教程编译。首先我下载的是OpenCV2.2编译的时候出现了好多问题。先说一下我的编译方法参考http://blog.youkuaiyun.com/moc062066/article/details/6617968。不过这里我在cmake-gui中取消with_tiff与with_FFMPEG 。 编译是好多错误原创 2014-04-09 14:24:20 · 7381 阅读 · 0 评论 -
在TQ2440实验板上进行linux+qtopia++ov9650+opencv的图像处理系统
暑假的这两三个星期一直学校在忙项目的事情。本人今年大三,自动化专业,在今年5月份的时候申请了学校的国家级大学生创新创业训练计划项目(简称国创),项目题目是:轮式双目自主避障小型机器人研发。由于项目中需要用到很多模式识别方面的知识,而模式识别是研究生的一个研究方向,本科生很少有机会接触。所幸的是我之前跟一位老师做过一个模式识别方面的项目,使用过OpenCV,而且使用的还算比较熟,再然后自己在学校的一原创 2013-08-04 00:56:22 · 5030 阅读 · 3 评论 -
OpenCV中常用到的轮廓处理函数汇总
ApproxChains用多边形曲线逼近 Freeman 链CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage, int method=CV_CHAIN_APPROX_SIMPLE, double parameter=0, i转载 2013-04-17 16:42:46 · 4019 阅读 · 0 评论 -
得到轮廓中面积最大的的轮廓
CvSeq *GetAreaMaxContour(CvSeq *contour) {//在给定的contour中找到面积最大的一个轮廓,并返回指向该轮廓的指针 double contour_area_temp=0,contour_area_max=0; CvSeq * area_max_contour = 0 ;//指向面积最大的轮廓 CvSeq* c=0; //pri原创 2013-04-03 16:55:31 · 5899 阅读 · 1 评论 -
opencv形状分析
OpenCV支持大量的轮廓、边缘、边界的相关函数,相应的函数有moments、HuMoments、findContours、drawContours、approxPolyDP、arcLength、boundingRect、contourArea、convexHull、fitEllipse、fitLine、isContourConvex、minAreaRect、minEnclosingCircle、转载 2013-04-03 16:02:21 · 3902 阅读 · 0 评论 -
VC6.0+OpenCV1.0与VS2008+OpenCV2.42的共存与配置
之前一直在使用VC6.0+OpenCV1.0,但是大家都知道,VC6.0有点老,还有OpenCV的新版本 假如了一些新的功能。所以现在在同一台Win7电脑上同时配置了两种环境。一、VC6.0+OpenCV1.0的配置1、安装Visual C++ 6.02、安装OpenCV从http://www.opencv.org.cn下载OpenCV安装程序。假如要将Op原创 2013-03-18 21:55:05 · 4314 阅读 · 0 评论 -
Hu不变矩之定义及计算方法
原文地址 http://blog.youkuaiyun.com/daijucug/article/details/7535370【图像算法OpenCV】几何不变矩--Hu矩 一 原理 几何矩是由Hu(Visual pattern recognition by moment invariants)在1962年提出的,具有平移、旋转和尺度不变性。 定义如下:① (p+转载 2012-10-20 18:11:33 · 9425 阅读 · 1 评论 -
远心镜头的原理及选型
转自:http://blog.youkuaiyun.com/liyuanbhu/article/details/539575011.原理介绍远心镜头(Telecentric lens),是为纠正传统镜头视差而设计,它可以在一定的物距范围内,使得到的图像放大倍率不会变化,简单的说这种镜头拍出来的图像没有近大远小关系。远心镜头又分为物方远心镜头、像方远心镜头和双侧远心镜头。下面是两个远心镜转载 2018-01-08 04:54:42 · 18076 阅读 · 2 评论