
opencv学习笔记
文章平均质量分 77
matandlab
迈特俺的莱贝
展开
-
windows下用Qt调用opencv总结
环境: windows7 + 32位+ Qt 5.1+opencv2.3.11 安装:Cmake 2.8 (http://www.cmake.org/)opencv2.3.1 (windows版的安装文件,里面包含源码的文件夹 D:\opencv\modules)Qt5.1 (http://qt.digia.com/)已经安装VS2010 IDE.2用Cmake原创 2013-08-26 22:20:50 · 1911 阅读 · 0 评论 -
opencv学习网页
opencv学习网页OpenCV wiki http://opencv.willowgarage.com/wiki/Welcome计算机视觉库 http://www.oschina.net/p/opencvOpenCV小组 http://www.douban.com/group/197520/程序源码搜索 http://www.hackchina.com/cont/153090转载 2013-08-15 15:46:38 · 1182 阅读 · 0 评论 -
cvThreshold ,cvGet2D,cvsmooth,cvSaveImage
OpenCV中获取图像指定位置处的像素值CvScalar s;s=cvGet2D(src,i,j);printf("%d",s.val[0]);printf("%d",s.val[1]);printf("%d",s.val[2]);或者,直接对指针进行操作uchar* p=src->imageData;p[i*src->widthStep+j];联合在一起就是转载 2013-08-15 14:33:37 · 788 阅读 · 0 评论 -
CvSeq的理解(转载)
OpenCV中的数据结构CvSeq(序列)动态结构序列CvSeq是所有OpenCv动态数据结构的基础。有两种类型的序列:稠密序列,稀疏序列:(1) 稠密序列都派生自CvSeq,他们用来代表可扩展的一维数组 — 向量、栈、队列和双端队列。数据间不存在空隙(连续存储)。如果元素元素从序列中间被删除或插入新的元素到序列,那么此元素后边的相关元素全部被移动。(2)稀疏序列派生自CvSet,Cv转载 2013-08-15 14:02:24 · 696 阅读 · 0 评论 -
OpenCV 2.4+ C++ SVM文字识别
预备知识下面两个都不是必备知识,但是如果你想了解更多内容,可参考这两篇文章。OpenCV 2.4+ C++ SVM介绍OpenCV 2.4+ C++ SVM线性不可分处理 SVM划分的意义到此,我们已经对SVM有一定的了解了。可是这有什么用呢?回到上一篇文章结果图:这个结果图的意义在于,他成功从二维划分了分类的区域。于是如果以后,有一个新的样本在绿色区域,那么我们就转载 2013-08-16 16:27:43 · 1285 阅读 · 0 评论 -
opencv的阈值处理函数
OpenCV提供了2個函數來處理閾值.第一個函數double threshold(InputArray src, OutputArray dst, double thresh, double maxVal, int thresholdType);這個函數是使用一個固定的值thresh來分割區間的.可以用來得到2值圖或者濾除噪聲.或者濾除一些很小或很大的值.thr转载 2013-09-17 20:54:23 · 1061 阅读 · 0 评论 -
opencv中的形态学操作
OpeningIt is obtained by the erosion of an image followed by a dilation.Useful for removing small objects (it is assumed that the objects are bright on a dark foreground)For instan转载 2013-09-17 18:23:14 · 939 阅读 · 0 评论 -
opencv 边缘检测,角点检测
#include #include #include #include class ColorDetector{private://最小可接受距离int minDist;//目标色cv::Vec3b target;//结果图像cv::Mat result;//空的构造函数public:ColorDetector():minDist(1原创 2013-09-17 16:34:08 · 1424 阅读 · 0 评论 -
opencv watershed and GrabCut
转自:opencv2/*------------------------------------------------------------------------------------------*\ This file contains material supporting chapter 5 of the cookbook: Computer Visi转载 2013-09-19 15:28:03 · 2048 阅读 · 0 评论 -
OpenCV的基础光学字符识别(Basic OCR in OpenCV)
Github源码From:http://blog.damiles.com/2008/11/basic-ocr-in-opencv/在这个教程当中我们将完成一个基础的数字光学字符识别。这包括把一个手写的数字分类进它所属的类里。为了完成它,们我将要使用我们之前的教程里所有学到的东西,我们将要使用简单的basic painter和the basic pattern recognition转载 2013-08-13 18:42:39 · 1336 阅读 · 0 评论 -
ImageAdjust 映射图像
#include "cv.h"#include "highgui.h"/* src and dst are grayscale, 8-bit images; Default input value: [low, high] = [0,1]; X-Direction [bottom, top] = [0,1]; Y-Direct转载 2013-08-23 16:16:15 · 1304 阅读 · 0 评论 -
cvFloodFill 漫水填充算法
#include "cv.h"#include "highgui.h"#include #include IplImage* color_img0;IplImage* mask;IplImage* color_img;IplImage* gray_img0 = NULL;IplImage* gray_img = NULL;int ffill_case = 1转载 2013-08-23 13:49:14 · 755 阅读 · 0 评论 -
cvcopy 和cvNot
cvcopycvcopy : 拷贝一个数组给另一个数组void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );src 输入数组。dst 输出数组。mask 操作掩码是8比特单通道的数组,它指定了输出数组中被改变的元素。函数cvCopy从输入数组中复制选定的成分到输出数转载 2013-08-21 18:10:01 · 1255 阅读 · 0 评论 -
cvseqpartition序列分类
转自:http://www.cnblogs.com/gnuhpc/archive/2012/10/09/2717306.html也可参考,于诗琪老师的书。。#include "cxcore.h"#include "highgui.h"#include CvSeq* point_seq = 0;IplImage* canvas = 0;CvScalar* co转载 2013-08-21 14:57:46 · 809 阅读 · 1 评论 -
cvGetQuadrangleSubPix 图像旋转缩放
#include "cv.h"#include "highgui.h"#include "math.h"int main( int argc, char** argv ){ IplImage* src; /* the first command line parameter must be image file name */ if( argc==2转载 2013-08-22 14:15:44 · 1891 阅读 · 0 评论 -
结构元素IplConvKernel及操作
在OpenCV中,定义了一个结构用于描述形态学中的结构元素。该结构定义如下:typedef struct _IplConvKernel{ int nCols; int nRows; int anchorX; int anchorY; int *values; int nShiftR;}IplConvKernel;转载 2013-08-22 15:19:54 · 1388 阅读 · 0 评论 -
cvLogPolar 把图像映射到极指数空间
#include #include int main(int argc, char** argv){ IplImage* src; if( argc == 2 || (src=cvLoadImage("C:\\Users\\liang.guo\\Downloads\\opencvtest\\tesseract测试\\tesseract-build\\tess转载 2013-08-22 14:52:25 · 881 阅读 · 0 评论 -
形态学操作 morphology
#include #include #include #include IplImage* src = 0;IplImage* dst = 0;IplConvKernel* element = 0;//结构元素。类似:f=special('line',11,180);int element_shape = CV_SHAPE_RECT;//结构元素形状,,转载 2013-08-22 15:21:38 · 813 阅读 · 0 评论 -
cvFilter2D 滤波方法
// Filtering for Image with variaty filtering kernel//// CV_PREWITT_3x3_V A gradient filter (vertical Prewitt operator).// -1 0 1// -1 0 1// -1 0 1// CV_PREW转载 2013-08-22 15:52:05 · 1209 阅读 · 0 评论 -
cvGoodFeaturesToTrack
#include #include "cv.h"#include "highgui.h"#define max_corners 100int main( int argc, char** argv ){ int cornerCount=max_corners; CvPoint2D32f corners[max_corners]; IplImag转载 2013-08-22 14:48:10 · 830 阅读 · 0 评论 -
cvCalcHist 直方图
#include "cv.h"#include "highgui.h"#include #include int main( int argc, char** argv ){ IplImage *src = 0; IplImage *histimg = 0; CvHistogram *hist = 0; int hdims转载 2013-08-23 18:05:49 · 742 阅读 · 0 评论 -
opencv的分水岭分割
opencv中的算法是先把输入图像转化成梯度图(标量)如果把梯度图看成是一个地形的话,就会发现,梯度高的地方就成了山脉,梯度低的地方就是山谷我们经过标记为不同的区域后,就从各个标记的地方注水进去,注入的水越来越多的时候,就会出现把流过低些的山脉,从而流到别的山谷中,那么他们就连一了一片区域。区域分割的要求是把不同的标记分割成不同的地方。所以如果一直注水,可能就会覆盖别的区域了。这时转载 2013-09-19 13:06:27 · 1527 阅读 · 0 评论