![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
opencv学习笔记
文章平均质量分 77
matandlab
迈特俺的莱贝
展开
-
windows下用Qt调用opencv总结
环境: windows7 + 32位+ Qt 5.1+opencv2.3.1 1 安装: 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 · 1881 阅读 · 0 评论 -
opencv学习网页
opencv学习网页 OpenCV wiki http://opencv.willowgarage.com/wiki/Welcome 计算机视觉库 http://www.oschina.net/p/opencv OpenCV小组 http://www.douban.com/group/197520/ 程序源码搜索 http://www.hackchina.com/cont/153090转载 2013-08-15 15:46:38 · 1162 阅读 · 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 · 769 阅读 · 0 评论 -
CvSeq的理解(转载)
OpenCV中的数据结构CvSeq(序列) 动态结构序列CvSeq是所有OpenCv动态数据结构的基础。有两种类型的序列:稠密序列,稀疏序列: (1) 稠密序列都派生自CvSeq,他们用来代表可扩展的一维数组 — 向量、栈、队列和双端队列。数据间不存在空隙(连续存储)。如果元素元素从序列中间被删除或插入新的元素到序列,那么此元素后边的相关元素全部被移动。 (2)稀疏序列派生自CvSet,Cv转载 2013-08-15 14:02:24 · 658 阅读 · 0 评论 -
OpenCV 2.4+ C++ SVM文字识别
预备知识 下面两个都不是必备知识,但是如果你想了解更多内容,可参考这两篇文章。 OpenCV 2.4+ C++ SVM介绍 OpenCV 2.4+ C++ SVM线性不可分处理 SVM划分的意义 到此,我们已经对SVM有一定的了解了。可是这有什么用呢?回到上一篇文章结果图: 这个结果图的意义在于,他成功从二维划分了分类的区域。于是如果以后,有一个新的样本在绿色区域,那么我们就转载 2013-08-16 16:27:43 · 1261 阅读 · 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 · 1046 阅读 · 0 评论 -
opencv中的形态学操作
Opening It 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 · 910 阅读 · 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 · 1403 阅读 · 0 评论 -
opencv watershed and GrabCut
转自:opencv2 /*------------------------------------------------------------------------------------------*\ This file contains material supporting chapter 5 of the cookbook: Computer Visi转载 2013-09-19 15:28:03 · 2027 阅读 · 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 · 1303 阅读 · 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 · 1275 阅读 · 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 · 730 阅读 · 0 评论 -
cvcopy 和cvNot
cvcopy cvcopy : 拷贝一个数组给另一个数组 void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL ); src 输入数组。 dst 输出数组。 mask 操作掩码是8比特单通道的数组,它指定了输出数组中被改变的元素。 函数cvCopy从输入数组中复制选定的成分到输出数转载 2013-08-21 18:10:01 · 1229 阅读 · 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 · 784 阅读 · 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 · 1855 阅读 · 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 · 1365 阅读 · 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 · 850 阅读 · 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 · 780 阅读 · 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 · 1185 阅读 · 0 评论 -
cvGoodFeaturesToTrack
#include #include "cv.h" #include "highgui.h" #define max_corners 100 int main( int argc, char** argv ) { int cornerCount=max_corners; CvPoint2D32f corners[max_corners]; IplImag转载 2013-08-22 14:48:10 · 798 阅读 · 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 · 723 阅读 · 0 评论 -
opencv的分水岭分割
opencv中的算法是先把输入图像转化成梯度图(标量) 如果把梯度图看成是一个地形的话,就会发现,梯度高的地方就成了山脉,梯度低的地方就是山谷 我们经过标记为不同的区域后, 就从各个标记的地方注水进去,注入的水越来越多的时候,就会出现把流过低些的山脉,从而流到别的山谷中,那么他们就连一了一片区域。 区域分割的要求是把不同的标记分割成不同的地方。所以如果一直注水,可能就会覆盖别的区域了。这时转载 2013-09-19 13:06:27 · 1503 阅读 · 0 评论