别人:OpenCV学习笔记(一)——安装配置、第一个程序(http://blog.csdn.net/yang_xian521/article/details/6894228)
摘要:决心开始研究OpenCV。闲言少叙,sourceforge网站最近的版本是2011年8月的OpenCV2.3.1,下载安装,我这里使用的开发环境是vs2008,网上搜了一下配置的教程,与之前的几个OpenCV版本的配置过程大体相同:(教程网上很多,知之为知之,不知百度之,我这里粗略再讲一下)1. 配置电脑的环境变量(Path变量)这里我的是D:\Program Files\OpenCV2.3.1\build\x86\vc9\bin(需要注销才能生效),这里需要注意网上的教程又让增加一个OPENCV变量,值为D:\Program Files\OpenCV2.3.1\build(你安装的路径中的b
阅读全文
posted @
2013-04-24 18:45
qqhfeng16
阅读(423)
推荐(0) 编辑
CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)
摘要:一、Mat类型:矩阵类型,Matrix。在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。Mat有3个重要的方法:1、Matmat=imread(constString*filename);读取图像2、imshow(conststringframeName,InputArraymat);显示图像3、imwrite(conststring&filename,InputArrayimg);储存图像Mat类型较CvMat与IplImage类型来说,有更强的矩阵运算能力,支持常见的矩阵运算。在计算密集型的应用当中,将CvMat与IplIm
阅读全文
posted @
2013-04-24 18:42
qqhfeng16
阅读(302)
推荐(0) 编辑
cv::Mat与CvMat区别
摘要:用了OpenCV一段时间,发现有cv::Mat和CvMat都可以表示图像数据,只是却不明白他们之间到底什么区别,为什么一定要有这样的两种~Mat。后来跟踪查看了定义,才知道原来cv::Mat是一个类(Class),而CvMat是一个Struct,从类型上就可以知道二者存在很大区别。前者除了几个成员变量之外还有很多的成员函数和重载函数,可以实现很多的图像数据处理功能,而后者只有几个成员变量,要对其成员进行一些处理,需要借用别的函数。typedefstruct CvMat{ int type; int step; /* for internal use only */ int* refcount;
阅读全文
posted @
2013-04-24 18:34
qqhfeng16
阅读(1525)
推荐(0) 编辑
Opencv Mat CascadeClassifier cstdio
摘要:CvMat//2D矩阵|--inttype;//元素类型(uchar,short,int,float,double)与标志|--intstep;//整行长度字节数|--introws,cols;//行、列数|--intheight,width;//矩阵高度、宽度,与rows、cols对应|--uniondata;|--uchar*ptr;//datapointerforanunsignedcharmatrix|--short*s;//datapointerforashortmatrix|--int*i;//datapointerforanintegermatrix|--float*fl;//d
阅读全文
posted @
2013-04-24 18:27
qqhfeng16
阅读(550)
推荐(0) 编辑
OPencv基本操作,响应键盘、鼠标、滚动条
摘要:// my9.cpp : 定义控制台应用程序的入口点。////////////////////////////////////////////////////////////////////////////// hello-world.cpp//// 该程序从文件中读入一幅图像,将之反色,然后显示出来. // 处理鼠标事件 *****// 处理键盘事件 *****// 处理滑动条事件 *************////////////////////////////////////////////////////////////////////////#include "stdafx
阅读全文
posted @
2013-04-18 14:22
qqhfeng16
阅读(1100)
推荐(0) 编辑
第一课(4月15日晚)
摘要:1、雨刷:位于方向盘右侧,向下压慢,向上拉一下停,再向上拉一下快,再再向上再拉一下,更快。2、远光灯开关:位于方向盘的左侧,向上拉一下打开,在向上拉一下,关闭。3、面板部件:大灯开关(位于方向盘左侧下面)、雾灯开关、后窗加热开关、危险报警灯开关、转速表、水温表、油表、速度表。4、汽车的打火:插入钥匙,向右旋转,看到转速表的指针到10的位置,就松开,不能超过10。向左转,关机熄火。5、轮胎位置:左脚放在离合的左侧,就是左轮胎的位置;右轮胎,看汽车的中间标志直到接触到路面的那个位置,就是右轮胎的位置,没有车标,看汽车的中间。6、开门的步骤:先看后视镜,确认没有人;再把门开一个小缝隙,向后看,确认没
阅读全文
posted @
2013-04-16 11:28
qqhfeng16
阅读(181)
推荐(0) 编辑
OpenCV遍历访问图像的每一个元素
摘要:// my8.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "highgui.h"#include "cv.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){IplImage* image = cvLoadImage("e:\\wali2.jpg");cvNamedWindow("s");//用指针指向图像的数据区头部ucha
阅读全文
posted @
2013-04-15 13:44
qqhfeng16
阅读(328)
推荐(0) 编辑
关于OPenCV坐标的问题
摘要:1、图像的坐标原点在 左上角 水平向右 是x轴 逐渐递增竖直向下 是y轴 逐渐递增2、IplImage有个origin属性取0 - 顶—左;结构取1 - 底—左结构水平向右都是X轴,还有一个Y的方向待确认
阅读全文
posted @
2013-04-15 10:19
qqhfeng16
阅读(329)
推荐(0) 编辑
灰度图的width和widthstep是相等的吗?
摘要:前者是表示图像的每行像素数,后者指表示存储一行像素需要的字节数。在OpenCV里边,widthStep必须是4的倍数,从而实现字节对齐,有利于提高运算速度。例如1:如果8U单通道图像宽度为3,那么widthStep是4,加一个字节补齐。 这个图像的一行需要4个字节,只使用前3个,最后一个空着。也就是一个宽3高3的图像的imageData数据大小为4*3=12字节。例如2:我的一幅图像,宽度是550,而widthSetp是1652(550×3+2=1652),1652/4=413. 到这里才搞明白,想了一晚上。
阅读全文
posted @
2013-04-15 10:10
qqhfeng16
阅读(371)
推荐(0) 编辑
OpenCV下的图片缩放(相关版本: OpenCV 2.1)
摘要:// my6.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "cv.h"#include "highgui.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){IplImage *src = NULL;IplImage *dst = NULL;CvSize dstSize;double times = 2.0;src = cvLoadImage("e:\\w
阅读全文
posted @
2013-04-14 21:10
qqhfeng16
阅读(234)
推荐(0) 编辑