OpenCV学习笔记
文章平均质量分 58
opencv
OneBaBa
这个作者很懒,什么都没留下…
展开
-
OpenCV中的SVM参数优化
SVM(支持向量机)是机器学习算法里用得最多的一种算法。SVM最常用的是用于分类,不过SVM也可以用于回归,我的实验中就是用SVM来实现SVR(支持向量回归)。 对于功能这么强的算法,OpenCV中自然也是有集成好了,我们可以直接调用。opencv中的SVM算法是基于LibSVM软件包开发的,LibSVM是台湾大学林智仁(Lin Chih-Jen)等开发设计的一个简单、易于使用和原创 2017-06-29 15:47:51 · 798 阅读 · 1 评论 -
OpenCV学习笔记(13):利用反向投影直方图查找特定的内容(一)
什么是反向投影直方图呢?简单的说在灰度图像的每个点(x,y),用它对应的直方图的bin的值(就是有多少像素落在bin内)来代替它。所以·如果这个bin的值比较大,那么反向投影显示的结果会比较亮,否则就比较暗。从统计学的角度,反输出图像象素点的值是观测数组在某个分布(直方图)下的的概率。所以加入我们已经得到了一个物体的直方图,我们可以计算它在另一幅图像中的反向投影,来判断这幅图像中是否有该物转载 2015-05-14 21:07:28 · 684 阅读 · 0 评论 -
OpenCV学习笔记(16):直方图
灰度直方图:C++: void calcHist(const Mat*images, int nimages, const int* channels, InputArraymask, OutputArray hist, int dims, const int*histSize, const float** ranges, bool uniform=true, boolaccu原创 2015-06-04 11:05:39 · 675 阅读 · 0 评论 -
OpenCV学习笔记(17):直方图反向投影(二)
直方图反向投影的步骤:1. In each pixel of our Test Image (i.e. p(i; j) ), collect the data and find the correspondent bin location forthat pixel (i.e. (hi;j; si;j) ).2. Lookup the model histogram in the co原创 2015-06-04 20:04:36 · 1160 阅读 · 0 评论 -
批量生成文件夹下的图片路径目录--用于批量处理
dir/bb:只显示当前目录下文件名及文件夹名dir/a-d/ba-d:只是显示该目录下的文件名(没有了文件夹的名)dir/s/bS:显示该目录下的文件名和文件夹名,及子目录下的文件名,并显示这些文件的绝对路径dir/s/a-d/bdir/s/a-d/b>F:\目录.txt就会在F盘生成一个文件名为 目原创 2016-09-06 18:10:14 · 7139 阅读 · 0 评论 -
使用boost线程池(多线程使用opencv处理图片)
[+]需求很多时候,需要用到多线程,但是线程每一次的分配都需要消耗时间,同时线程也不是无限制的开启的(需要固定一个数量)。如果我们既想要固定数量,又不想每次都new一个线程,我们这么做就能满足要求:a、固定一个数量,表示最大可使用线程的个数,threadCount=8;b、在程序开始的时候,直接new出来threadCount个线程,假如转载 2017-05-12 15:12:39 · 3012 阅读 · 0 评论 -
opencv鼠标点击记录坐标 连线 画封闭区域 二值填充
#include #include #include #include #include #include using namespace std;using namespace cv; Mat src; Mat dst; Mat dst_mask;vector ptSet;bool rButtonDown = false;原创 2017-05-10 11:00:22 · 2043 阅读 · 1 评论 -
OpenCV学习笔记 cv.Mat 与 .txt 文件数据的读写操作
1、按OpenCV格式实现的 .txt 文件读写可以用 cvSave 和 cvLoad 实现,格式和 .xml/.yml 的差不多,不过如果专用与 opencv 的数据读写,还是用 .xml/.yml 文件格式较好,我比较喜欢 .yml 格式,可读性非常棒。用 cvSave 和 cvLoad 读写 .txt 文件,其实现方式和数据格式与 .yml 文件基本一致。例如:转载 2017-06-29 13:48:49 · 2197 阅读 · 0 评论 -
opencv读取海康威视摄像头
海康威视的网络摄像头使用:开发工具:vs2013 C++ 海康SDK下载海康威视SDK:网址:http://www.hikvision.com/cn/download_61.html• 1:对照自己的开发平台可以下载设备网络SDK_Win32设备网络SDK_Win64,解压到本地文件下:• 2:VS配置•OpenCV配置。参考址http://blog.csdn.ne原创 2017-06-29 14:00:57 · 11560 阅读 · 2 评论 -
捕获海康威视IPCamera图像,转成OpenCV可以处理的图像(一)
海康威视IPCamera图像捕获捕获海康威视IPCamera图像,转成OpenCV可以处理的IplImage图像(一)捕获海康威视IPCamera图像,转成OpenCV可以处理的IplImage图像(二)所使用海康威视摄像头型号:DS-2CD4026FWD-(A)(P)海康威视IPCamera图像捕获方法有两种:转载 2017-06-29 14:12:40 · 2332 阅读 · 0 评论 -
捕获海康威视IPCamera图像,转成OpenCV可以处理的图像(二)
海康威视IPCamera图像捕获捕获海康威视IPCamera图像,转成OpenCV可以处理的IplImage图像(一)捕获海康威视IPCamera图像,转成OpenCV可以处理的IplImage图像(二)所使用海康威视摄像头型号:DS-2CD4026FWD-(A)(P)海康威视IPCamera图像捕获方法有两种:转载 2017-06-29 14:13:27 · 1486 阅读 · 1 评论 -
海康摄像头实时读取+opencv显示
程序说明:程序将海康摄像头开发需要进行的操作封面到类HK_camera中,使用只需要在mian()函数中实例化HK_camera,将摄像头的IP,用户名,密码给对象即可使用。程序调用接口的流程都是参考SDK开发文档,并做了简单的修改,有不明白或者觉得不对的地方希望可以给我留言,谢谢。环境:摄像机型号:CS-C1-11WPFR电脑环境:32位OpenCV版本原创 2017-06-29 14:23:32 · 5055 阅读 · 1 评论 -
Cascade Classfication
转自:http://blog.csdn.net/zhaocj/article/details/54412080下面我们以车牌识别为例,具体讲解OpenCV的级联分类器的用法。在这里我们只对蓝底白字的普通车牌进行识别判断,对于其他车牌不在考虑范围内。而且车牌是正面照,略微倾斜可以,倾斜程度太大也是不在识别范围内的。我们通过不同渠道共收集了1545幅符合要求的带有车牌图像的照片(很遗憾转载 2017-07-11 21:28:45 · 531 阅读 · 0 评论 -
OpenCV学习笔记(18):在OpenCV中利用鼠标绘制矩形和截取图像的矩形区域
转自:http://blog.csdn.net/quarryman/article/details/6435527这是两个相关的程序,前者是后者的基础。实际上前一个程序也是在前面博文的基础上做的修改,请参考《在OpenCV中利用鼠标绘制直线》 。下面贴出代码。程序之一,在OpenCV中利用鼠标绘制矩形[c-sharp] view plaincopy转载 2015-06-19 20:52:33 · 698 阅读 · 0 评论 -
OpenCV学习笔记(14):形态学滤波对图像进行边缘及角点检测
#include "stdafx.h"#includeusing namespace cv;class MorphoFeatures{private: //用于生成二值图像的阈值 int threshold; //角点检测用到的结构元素 Mat cross; Mat diamond; Mat square; Mat x;public: //检测角点 //openc原创 2015-05-17 10:10:15 · 1978 阅读 · 0 评论 -
OpenCV学习笔记(2)边缘检测与滑动条的创建
#include "stdafx.h"#include"opencv2/opencv.hpp"#include using namespace cv;using namespace std;Mat img, gray, edge, Cedge;int edgeThresh = 1;const char * keys = { "{1| |fruits.jpg|input image原创 2015-05-08 15:48:25 · 1340 阅读 · 0 评论 -
OpenCV学习笔记(3):点集的最小外接矩形/圆,RNG类
#include "stdafx.h"#include"opencv2/opencv.hpp"#include using namespace cv;using namespace std;int main(int argc, char** argv[]){ Mat img(500, 500, CV_8UC3); RNG rng = theRNG();//随机数类 for (;原创 2015-05-08 19:21:35 · 5455 阅读 · 0 评论 -
OpenCV学习笔记(4):膨胀,腐蚀,开闭操作(argc,argv)
#include "stdafx.h"#include"opencv2/opencv.hpp"#include #include using namespace cv;static void help(){ printf("\nShow off image morphology: erosion, dialation, open and close\n" "Call:\n原创 2015-05-08 20:07:01 · 728 阅读 · 0 评论 -
OpenCV学习笔记(5):把图像序列写成视频
// Demo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include#includeint main(int argc, char** argv){ CvSize size = cvSize(480, 360); double fps = 5; CvVideoWriter *writer = cvCreateVi原创 2015-05-09 10:35:27 · 640 阅读 · 0 评论 -
OpenCV学习笔记(7):图像频域(DFT)
#include "stdafx.h"#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/highgui/highgui.hpp"#include using namespace cv;using namespace std;static void hel转载 2015-05-12 19:38:00 · 1068 阅读 · 0 评论 -
OpenCV学习笔记(6):滤波filter2D()
#include "stdafx.h"#include #include #include #include using namespace std;using namespace cv;void Sharpen(const Mat&src, Mat & result){ CV_Assert(src.depth() == CV_8U); const int channels原创 2015-05-12 16:48:13 · 1658 阅读 · 0 评论 -
OpenCV学习笔记(10):查看MAT对象的数据的三种方法
我们有了Mat的对象之后,就可以开始对图像进行处理。在图像的处理过程中,对数据的查看并且对其进行修改,这应当是比较频繁的操作了。这里讲讲官方手册当中给出的三种方法。第一种方法:使用指向Mat数据部分的指针。代码如下: 1 Mat& ScanImageAndReduceC(Mat& I, const uchar* const table) 2 { 3转载 2015-05-13 14:37:30 · 3205 阅读 · 0 评论 -
OpenCV学习笔记(8):增强图像对比度
#include "stdafx.h"#includeusing namespace cv;int ImgStrong(Mat&img, Mat&result){ //*************** //p[]各个灰度级出现的概率 //p1[]各个灰度级之前的概率和 //各个灰度级出现的次数 //***************** assert((img.cols == res原创 2015-05-13 11:12:19 · 4010 阅读 · 0 评论 -
OpenCV学习笔记(11):hough变换和概率hough变换
#include "stdafx.h"#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc/imgproc.hpp"#include #include using namespace cv;using namespace std;/// Global variables/** General varia原创 2015-05-13 15:27:05 · 1453 阅读 · 0 评论 -
OpenCV学习笔记(9):访问Mat中的每个像素值
在《OpenCV 2 Computer Vision Application Programming Cookbook》看到的例子,非常不错,算是对之前的文章的回顾和补充。Color Reduce还是使用经典的Reduce Color的例子,即对图像中的像素表达进行量化。如常见的RGB24图像有256×256×256中颜色,通过Reduce Color将每个通道的像素减少8倍至25转载 2014-10-18 16:58:45 · 653 阅读 · 0 评论 -
OpenCV学习笔记(12):单通道图像直方图
#include#includeusing namespace cv;using namespace std;class Histogram1D{private: int histSize[1];//项的数量 float hranges[2];//像素的最大值与最小值 const float * ranges[1]; int channels[1];//仅用一个通道publ原创 2015-05-14 14:38:38 · 1377 阅读 · 0 评论 -
OpenCV学习笔记(15):opencv轮廓分析
本文实现的功能,查找轮廓,经常和findContours()一起使用的一个函数是approxPolyDP()。approxPolyDP()用另一条顶点较少的曲线来逼近一条曲线或者一个多边形,这样两条曲线之间的距离小于或等于指定的精度。同时也有使闭合逼近曲线的选项(那就是说,起始点和终止点相同)。pointPolygonTest()函数判定一个点是否在一个多边形内。鼠标回调函数的使用原创 2015-05-20 13:35:19 · 1661 阅读 · 0 评论 -
OpenCV学习笔记(1):openCV的数据结构与像素的访问
转自:http://blog.csdn.net/thefutureisour/article/details/8455342首先介绍2维点对Point_,它的是一个模板类。我们可以直接访问数据成员x,y。它不仅定了+、-、==、!=这4个基本的操作,还定义了点乘、叉乘等操作。特别的这个类还提供了inside函数来判断一个点是否在矩形区域内。此外,还定义了一些其他的类型转化函数,比如转化为1.X转载 2015-05-08 14:03:54 · 811 阅读 · 0 评论