自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

图像处理的专栏

运用常用函数实现对图像处理

  • 博客(26)
  • 资源 (1)
  • 收藏
  • 关注

转载 在win32控制台应用程序中实现定时器

1.SetTimer:在控制台应用程序中同样可以用SetTimer实现定时器的效果。示例代码:#include#includeusing namespace std;void CALLBACK TimeProc( HWND hwnd, UINT message, UINT idTimer, DWORD dwTi

2013-05-17 21:56:55 1132

转载 CV牛人事件

牛人和牛mm的照片见:http://www.sigvc.org/bbs/thread-548-1-1.htmlCV人物1:Jianbo Shi史建波毕业于UC Berkeley,导师是Jitendra Malik。其最有影响力的研究成果:图像分割。其于2000年在PAMI上多人合作发表”Noramlized cuts and image segmentation”。这是图像分割领域内最

2013-05-17 14:49:22 1917

转载 粒子滤波

之前一直在做移动机器人定位算法。查来查去,发觉粒子滤波算法(又叫MC算法)应该算是最流行的了。因此开始学习使用之。入手的是本英文书叫 “probalistic robotic” 很不错,我所见到的讲得最好的一本书。花了大量时间去研读。在这里我想谈谈我对粒子滤波的一点认识。因为在这一领域算是个新手。希望有前辈或者达人来指正 我的想法。也希望我的这篇文章对新手有理解他有所帮助(当初我就很是苦于它难于理

2013-05-17 13:50:01 1556

原创 opencv学习心得(六)新版本绘制外形轮廓。

最近在研究opencv2.3.1版本函数,因为函数结构使用C++类型的,所以在一些函数调用上有很多差别,但是在运行速度上提高不少,所以还是新版本好用。其实在新版本发布是,会有相关的使用手册,很多例子会在其中找到。这个程序和例程有所不同,只绘制最外侧的轮廓,为后来的提取图像,有很大帮助。#include #include #include #include #include using

2013-05-16 16:10:40 2114

原创 关于存储文件路径的问题

在很多读取文件时候,函数输入多为const char *类型,我们在定义path时候多为Cstring类型的字符串变量,所以这里牵涉到CString到 const char *转化,下面进入正题。上传代码:CString strMsg,strDate;CString strpath="C:\\Documents and Settings\\Administrator\\桌面\\";::Get

2013-05-15 22:09:27 957

原创 opencv学习心得(三)——opencv中经常用的的函数解释

InRangeS检查数组元素是否在两个数量之间 void cvInRangeS( const CvArr* src, CvScalar lower, CvScalar upper, CvArr* dst );src 第一个原数组 lower 包括进的下边界. upper 不包括进的上边界 dst 输出数组必须是 8u 或 8s 类型. 函数 cv

2013-05-15 15:20:38 1022

原创 Oopencv学习心得(二)——绘制直方图

在图像处理中我们会常常遇到绘制直方图,其中包括颜色直方图、梯度直方图。直方图广泛应用与许多计算机视觉应用中,通过标记帧与帧之间的边缘和颜色的统计变化,直方图用于检测场景变化。通过对每个兴趣点设置一个有相近特征的直方图作为标记,用以确定图像中的兴趣点。简单说来,直方图就是对数据进行统计,将统计值组织到之前组织好一系列的bin中。bin的分配自己设定,其中bin中的数值为从数据中计算出的特征统计量,直

2013-05-15 15:18:02 1330

原创 数组初始化

在数组初始化中包括数组的定义,数组的初始化,数组赋值,有的人在编程序时候经常会用到for循环,有时候那样是多余的。例如:char[1000]={0};一位申请一个大小为1000字节的数组,第一个值为0,并不是所有的值为0,但是数组中其他元素没有赋值,系统会自动赋值为0,所以最终结果就是实现初始化了一个1000大小的数组,所有的值为零。注意在数组初始化阶段,其中在赋值是数值的数目不可大于声明

2013-05-14 22:03:08 1235

转载 CamShift+Kalman跟踪[转载]

// CamShift+Kalman.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"//#include #include #include #include //*************************************//调整矩形框B,使其在A的范围CvRect my_ChangeRect(CvRe

2013-05-14 09:12:51 6202 5

原创 MessageBox常用用法

在VS编程应用中经常会用到此函数来测试程序或者是显示数据,所以在此重点讲讲此函数常用用法的不同。消息框是个很常用的控件,本文列出了它的一些常用方法。1.MessageBox("这是一个最简单的消息框!");2.MessageBox("这是一个有标题的消息框!","标题"); 3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL );

2013-05-13 21:59:45 1141

转载 颜色直方图

转自:http://baike.baidu.com/view/2438797.htm颜色直方图是在许多图像检索系统中被广泛采用的颜色特征。它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适于描述那些难以进行自动分割的图像。直方图中的数值都是统计而来,描述了该图像中关于颜色的数量特征,可以反映图像颜色的统计分布

2013-05-13 21:46:42 7921

原创 卡尔曼滤波学习

1、 什么是卡尔曼滤波器(What is the Kalman Filter?)在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人!卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获

2013-05-13 21:34:46 1510

转载 多进程多线程的选择

关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?”等等期望一劳永逸的问题,我只能说:没有最好,只有更好。根据实际情况来判断,哪个更加合适就是哪个

2013-05-13 21:31:50 1155

原创 opencv学习心得(一)鼠标响应事件绘制轮廓

//#include "gaosi.h"#include #include #include using namespace cv;using namespace std;//声明全局变量/******************************鼠标选取矩形框变量初始化*******************/CvRect rect;//矩形框CvPoint origin;/

2013-05-13 21:16:52 1295

转载 opencv中camshiftdemo源代码剖析

1、cvInRangeS函数的使用 cvInRangeS函数可用于检查一个矩阵中的像素灰度值是否属于某一指定范围。并且可以输出一个单通道矩阵来进行标识。 void cvInRangeS( const CvArr* src, CvScalar lower, CvScalar upper, CvArr* dst );src  第一个原数组lower  包括进的下

2013-05-13 20:07:23 2004

原创 使用CvStartfindcontours画出轮廓。

//用于提取轮廓,同时要挑选最大轮廓画出 scanner=cvStartFindContours(pFrImg,storage,sizeof(CvContour),CV_RETR_CCOMP,CV_CHAIN_APPROX_NONE,cvPoint(0,0)); int aera; while (contour=cvFindNextContour(scanner)) {

2013-05-13 16:14:50 6092 1

转载 opencv学习笔记-入门(7)单通道的图像数据访问

4) 基于指针的直接访问: (简单高效)对于单通道字节型图像:int height = img->height;int width = img->width;int step = img->widthStep;uchar* data = (uchar *)img->imageData;data[i*step+j] = 111;对于多通道字节型图

2013-05-13 15:36:40 1295

转载 OpenCV矩阵运算

一、矩阵Mat I,img,I1,I2,dst,A,B;double k,alpha;Scalar s;1.加法I=I1+I2;//等同add(I1,I2,I);add(I1,I2,dst,mask,dtype);scaleAdd(I1,scale,I2,dst);//dst=scale*I1+I2;2.减法absdiff(I1,I2,I);//I=|I1-I2

2013-05-13 15:32:24 793

原创 CamShift 常用函数解释。

CvBox2Dtypedef struct CvBox2D { CvPoint2D32f center; /* 盒子的中心 */ CvSize2D32f size; /* 盒子的长和宽 */ float angle; /* 水平轴与第一个边的夹角,用弧度表示*/ }CvBox2D; CvConnectedComptypedef struct CvConn

2013-05-13 15:30:25 1289

原创 CamShift源代码编程实现原理解释

CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。今年来在目标跟踪方面应用很广,可以尝试结合Camshift算法结合其他优化算法进行预测,将目标跟踪的实时性提高。本身它主要通过视频图像中运动物体的颜色信息(最近有人提出用HOG特征直方图作为目标实现跟踪初始化)来达到跟踪的目的。我把这个算法分解成三个部分,便于理解:1) Back

2013-05-13 15:26:02 1421

原创 在VS中通过MFC图片控件显示视频

在opencv2.0以上版本之后,就没有对CvvImage类的使用,所以在有VS编程实现MFC显示视频或者图像时候,必须找到CvvImage类头文件,以及源文件加入到编程的文件中,并且添加到工程中去。之后便可以使用CvvImage类了。下面是CvvImage.h#pragma once#ifndef CVVIMAGE_CLASS_DEF#define CVVIMAGE_CLASS_DEF

2013-05-13 14:33:50 3357

原创 图像在屏幕显示时注意的问题

当图像尺寸大于屏幕尺寸时,在利用函数,通过鼠标点击获得图像坐标系中时候,会出现误差,返回数值是错误的。因为而且整幅图片是选点坐标与实际回显的坐标会随着离坐标原点的距离不同误差不同,呈现一个乘数系数特点。如当图像大小是768*880,而桌面屏幕分辨率大小是1280*768时,有鼠标事件点击图像坐标某点如(442,465)时,实际上回显的点坐标为(442,551),其关系大概是880/

2013-05-13 14:23:25 1001

原创 opencv中的矩阵解释,包括CvMat IplImage 、MAT 类型之间的转化

真实世界中获取数字图像有很多方法,比如数码相机、扫描仪、CT或者磁共振成像。无论哪种方法,我们(人类)看到的是图像,而让数字设备来“看“的时候,则是在记录图像中的每一个点的数值。图像,在标出的镜子区域中你见到的只是一个矩阵,该矩阵包含了所有像素点的强度值。如何获取并存储这些像素值由我们的需求而定,最终在计算机世界里所有图像都可以简化为数值矩以及矩阵信息。IplImage  Ip

2013-05-13 14:20:08 1368

原创 opencv学习心得(四)——opencv提取截获图像

首先确定选区区域,这里利用鼠标选取区域具体操作看opencv学习心得(一)。下面就是从感兴趣区域选取图像。第一:创建图像空间,大小与rect相同。第二:利用setroi选取区域。第三:一定要复制图像。之后就是显示,很简单。上代码:IplImage *dst=cvCreateImage(cvSize(rect.width,rect.height),8,3);cvSetIm

2013-05-13 14:09:48 2212

转载 关于轮廓的各种使用

注解:楼主现在处于学习中,大部分是转载。#include "cv.h" #include "highgui.h" #include "cvaux.h"#include "cxcore.h"#include #include using namespace std;using namespace cv;#define PI 3.14159fvoid DrawBox(CvBox2D

2013-05-13 14:02:02 1057

转载 Hog+Camshift的人体跟踪

#include #include #include #include #include #include #include #include #include #include "cvaux.h"#include #include #include #include using namespace cv;using namesp

2013-05-13 13:59:05 1999 1

基于视觉的运动目标跟踪算法及其在移动机器人中的应用

对于研究模式识别的同学,这篇文档还是很有好处的

2012-05-14

空空如也

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

TA关注的人

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