随笔分类 -  OpenCV_VC++

VS 2008 下安装OpenCV 2.3.0 .【转载】
摘要:本来在vs2008下装了opencv1.0,opencv2.0 现在折腾着要用2.3.很悲惨的鼓捣了半天都不成功,扯皮的很。后来用下面的方法试了试解决了,有点小不同吧,但是具体的忘了。遇到麻烦的童鞋留言吧。原文请看:http://blog.csdn.net/hangyuanbiyesheng/article/details/6660330以下为转来的正文:原来用的是OpenCV 2.0,现在要装OpenCV 2.3,参照VC 2008 Express下安装OpenCV 2.0的标准进行安装。http://www.opencv.org.cn/index.php/VC_2008_Express%E 阅读全文
posted @ 2011-11-17 21:49 Ming明、 阅读(3282) 评论(0) 推荐(0) 编辑
OpenCV_轮廓的查找、表达、绘制、特性及匹配
摘要:虽然Canny之类的边缘检测算法可以根据像素间的差异检测出轮廓边界的像素,但是它并没有将轮廓作为一个整体。下一步是要将这些边缘像素组装成轮廓。轮廓是构成任何一个形状的边界或外形线。直方图对比和模板匹配根据色彩及色彩的分布来进行匹配,以下包括:轮廓的查找、表达方式、组织方式、绘制、特性、匹配。首先回忆下几个结构体:首先是图像本身的结构体:typedef struct CvMat{int type; /* CvMat 标识 (CV_MAT_MAGIC_VAL), 元素类型和标记 */int step; /* 以字节为单位的行数据长度*/int* refcount; /* 数据引用计数 */unio 阅读全文
posted @ 2011-10-14 14:49 Ming明、 阅读(52377) 评论(3) 推荐(7) 编辑
OpenCV_颜色直方图的计算、显示、处理、对比及反向投影
摘要:首先介绍一下直方图一.用带权重的样本统计直方图直方图Histogram,是一种常见的概率分布的非参数(区别于高斯分布,泊松分布等用参数表达概率密度的方法)表达方法。直方图可以看成概率密度分布的离散化表达方法。它的计算很简单,是一种投票的方法,就是每个样本往对应的小盒子(bin)里投一票。假设N个样本数据x量化为1~M之间的整数,那么Hist是M维数组,对应的直方图计算方法如下://initializingfor i=1:M Hist[i] = 0;end//votingfor i = 1:N Hist[x[i]] += 1 ;end为了表示成概率分布,需要Hist数组和为1://normali 阅读全文
posted @ 2011-10-13 20:02 Ming明、 阅读(24241) 评论(5) 推荐(5) 编辑
OpenCV_轮廓例子
摘要:滑动条用于设置阈值,然后对采二值化后的图像提取轮廓并绘制轮廓。当控制参数的滑动条变化时,图像被更新。View Code 1 //首先将图像g_image转换为灰度图像。接着用g_thresh为参数进行二值化处理,得到的二值图像保存在g_gray中。 2 //cvFindContours从二值图像g_gray查找轮廓,然后将得到的轮廓用cvDrawContours函数绘制为白色得到灰度图像。 3 //最终图像在窗口中显示处理。并将在回调函数开始处申请的结构释放。 4 5 IplImage* g_image=NULL; 6 IplImage* g_gray=NULL; 7 8 int g_t... 阅读全文
posted @ 2011-10-12 19:17 Ming明、 阅读(8491) 评论(0) 推荐(2) 编辑
OpenCV_ 滑动条模拟按钮
摘要:HighGUI没有显示提供任何形式的按钮,可以使用只有两个状态的滑动条来代替按钮。View Code 1 int g_switch_value=0; 2 void switch_on_function() 3 { 4 5 } 6 void switch_off_function() 7 { 8 9 }10 11 void switch_callback(int position)12 {13 if(position==0)14 switch_off_function();15 else16 switch_on_function();17 ... 阅读全文
posted @ 2011-09-30 16:26 Ming明、 阅读(1183) 评论(0) 推荐(0) 编辑
OpenCV_用鼠标在窗口画方形
摘要:View Code 1 void my_mouse_callback(int event,int x,int y,int flags,void* param); 2 3 CvRect box; 4 5 bool drawing_box=false; 6 7 // a little subroutine to draw a box on to an image 8 void draw_box(IplImage* img,CvRect rect) 9 {10 cvRectangle(img,cvPoint(box.x,box.y),cvPoint(box.x+box.width,b... 阅读全文
posted @ 2011-09-30 15:54 Ming明、 阅读(2112) 评论(0) 推荐(0) 编辑
OpenCV_Add方法
摘要:View Code 1 //ROI的蓝色通道增加150灰度值效果 2 IplImage* src; 3 if((src=cvLoadImage("fruit.jpg",1))!=0) 4 { 5 int x=10; 6 int y=20; 7 int width=50; 8 int height=100; 9 int add=150;10 cvSetImageROI(src,cvRect(x,y,width,height));11 cvAddS(src,c... 阅读全文
posted @ 2011-09-30 15:27 Ming明、 阅读(1604) 评论(0) 推荐(0) 编辑
OpenCV--用读取矩阵,访问图像数据
摘要:View Code 1 int _tmain(int argc,_TCHAR* argv[]) 2 { 3 //用固定数据创建一个矩阵 4 float vals[]={0.664,-0.500,0.500,0.866}; 5 CvMat rotmat; 6 cvInitMatHeader(&rotmat,2,2,CV_32FC1,vals); 7 int number = cvGetDims(&rotmat,0); 8 CvMat* mat = cvCreateMat(5,5,CV_32FC1); 9 //用简单方法对矩阵数据存取。10... 阅读全文
posted @ 2011-09-29 19:33 Ming明、 阅读(4558) 评论(0) 推荐(1) 编辑
OpenCV_avi读入视频
摘要:View Code 1 int _tmain(int argc, _TCHAR* argv[]) 2 { 3 CvCapture* capture=0; 4 //读入视频文件 5 capture = cvCreateFileCapture("tree.avi"); 6 if(!capture) 7 return -1; 8 //将下一帧视频文件载入内存 9 IplImage *bgr_frame = cvQueryFrame(capture);10 11 //获取capture的各种属性12 //打开一个... 阅读全文
posted @ 2011-09-29 19:17 Ming明、 阅读(592) 评论(0) 推荐(0) 编辑
OpenCV_累加一个三通道矩阵中的所有元素
摘要:View Code 1 //累加一个三通道矩阵中的所有元素 2 float sum(const CvMat* mat) 3 { 4 float s=0.0f; 5 for(int row=0;row<mat->rows;row++) 6 { 7 const float* prt=(const float*)(mat->data->ptr+row*mat->step); 8 for (int col=0;col<mat->cols;col++) 9 {10 s+=*prt++;11 ... 阅读全文
posted @ 2011-09-29 16:29 Ming明、 阅读(1107) 评论(0) 推荐(0) 编辑
OpenCV__Canny边缘检测和缩放(译)
摘要:View Code 1 // opencvdemo.cpp : Defines the entry point for the console application. 2 // 3 #include "stdafx.h" 4 5 #ifdef _CH_ 6 #pragma package <opencv> 7 #endif 8 9 #ifndef _EiC10 #include "cv.h"11 #include "highgui.h"12 #endif13 14 IplImage * in;15 16 //缩放函数17 阅读全文
posted @ 2011-09-29 10:30 Ming明、 阅读(874) 评论(0) 推荐(0) 编辑
Canny边缘检测源码与图像结果(OpenCV2.0)
摘要:View Code 1 #include "stdafx.h" 2 #include "cv.h" 3 #include "cxcore.h" 4 #include "highgui.h" 5 #ifdef _CH_ 6 #pragma package <opencv> 7 #endif 8 #ifndef _EiC 9 #include "cv.h"10 #include "highgui.h"11 #endif12 char wndname[] = " 阅读全文
posted @ 2011-09-29 10:01 Ming明、 阅读(1776) 评论(0) 推荐(0) 编辑