随笔分类 -  OpenCV

eclipse中opencv配置
摘要:1.打开Eclipse,Window->preferences 2.进入preferences后,找到Java->Build Path->User Libraries,点击New 在弹出的对话框中填入名字 3.点击右侧 Add External JARs 找到D:\ProgramFiles\open 阅读全文
posted @ 2018-12-01 09:42 zuoyou 阅读(463) 评论(0) 推荐(0)
支持向量机SVM
摘要:支持向量机是一个类分类器,能够将不同的样本在样本空间分割的超平面。 给定一些标记好的样本,SVM输出一个最优化的分割平面。 支持向量机 1.支持向量机是一种监督式学习方法,可广泛的用于统计学习及线性回归,支持向量机 属于一般的线性分类器,这类分类器的特点是他们能够同时最小化经验误差与最大化 几何边缘 阅读全文
posted @ 2018-11-18 19:54 zuoyou 阅读(248) 评论(0) 推荐(0)
OpenCV图像分割2
摘要:1.GrubCut算法 2.K-means聚类算法 3.分水岭算法 阅读全文
posted @ 2018-10-13 19:59 zuoyou 阅读(156) 评论(0) 推荐(0)
OpenCV图像分割1
摘要:1.基于阈值 1.1原理 灰度阈值化,假设输入图像为f,输出图像为g,则阈值化公式如下: g(i,j)=1 当f(i,j)>=T g(i,j)=0 当f(i,j)<T 1.2适用范围 当各个物体之间不接触,且物体灰度和背景灰度之间差别比较明显时。 2.基于边缘 Sobel, Laplace 和 Ca 阅读全文
posted @ 2018-10-13 19:21 zuoyou 阅读(189) 评论(0) 推荐(0)
2.7 Sobel导数
摘要:OpenCV函数 Sobel(src_gray,grad_x/grad_y,ddepth,x_order,y_order,scale,delta,BORDER_DEFAULT ) Scharr( ) 边缘检测 为何要求导,如下图: 假设需要检测图中的边缘,可以看到在边缘像素值显著改变,灰度值跃升 利 阅读全文
posted @ 2018-09-29 00:40 zuoyou 阅读(239) 评论(0) 推荐(0)
2.6线性滤波器
摘要:filter2D() 卷积:在每一个图像块与某个算子(核)之间进行的运算。 核:固定大小的数值数组。该数组带有一个锚点,位于数组中央。 如何用核实现卷积 1.将核的锚点放在该特殊位置的像素上,同时,核内的其他值与该像素邻域的各像素重合。 2.将核内各值与相应像素值相乘,并将乘机相加。 3.将所得结果 阅读全文
posted @ 2018-09-29 00:38 zuoyou 阅读(467) 评论(0) 推荐(0)
2.5基本的阈值操作
摘要:阈值 函数 createTrackbar() 函数 threshold() 最简单的图像分割算法 应用举例:从一副图像中分离出我们需要的物体部分。这样的图像分割算法是基于图像中物体与 背景之间的灰度差异,而且,此分割属于像素级的分割。 为了从一副图像中提取出我们需要的部分,应该利用图像中每一个像素点 阅读全文
posted @ 2018-09-29 00:15 zuoyou 阅读(565) 评论(0) 推荐(0)
2.4图像金字塔
摘要:图像金字塔 图像金字塔是一系列图像的集合,所有图像来源于同一张原始图像,通过梯次向下采样获得, 直到到达某个终点时,停止采样。 有两种类型的图像金字塔经常出现: 高斯金字塔(Gaussian pyramid):用来向下采样。 拉普拉斯金字塔(Laplacin pyramid):用来从金字塔底层图像重 阅读全文
posted @ 2018-09-24 16:24 zuoyou 阅读(197) 评论(0) 推荐(0)
2.3更多形态学操作
摘要:开运算 通过先对图像腐蚀再膨胀 dst=open(src,element)=dilate( 闭运算 形态梯度 顶帽 黑帽 阅读全文
posted @ 2018-09-14 15:44 zuoyou 阅读(101) 评论(0) 推荐(0)
2.2腐蚀与膨胀
摘要:形态学操作 基于形状的一系列图像处理操作,通过将结构元素作用于输入图像来产生输出图像。 最基本的两种形态学操作:腐蚀(Erosion)与膨胀(Dilation) 应用:消除噪声 分割独立的图像元素,以连接相邻的元素 寻找图像中明显的极大值区域与极小值区域 以以下图片为例: 膨胀 将此图像A与任意形状 阅读全文
posted @ 2018-09-13 20:11 zuoyou 阅读(362) 评论(0) 推荐(0)
2.1 图像平滑处理
摘要:图像平滑处理: 是指用于突出图像的宽大区域、低频成分、主干部分或抑制图像噪声和高频干扰成分的图像 处理方法, 目的是使图像亮度平缓渐变,减小突变梯度,改善图像质量。 平滑处理时需要滤波器 归一化滤波器 最简单的滤波器,输出像素值是核窗口内像素值的均值。 blur(Mat src, Mat det, 阅读全文
posted @ 2018-09-05 19:13 zuoyou 阅读(748) 评论(0) 推荐(0)
1.6离散傅里叶变换
摘要:。。。。。。。。。。。。。。。。。。 阅读全文
posted @ 2018-09-04 10:31 zuoyou 阅读(110) 评论(0) 推荐(0)
1.5 改变图像的对比度和亮度
摘要:图像处理 点算子:对每个像素的操作不依赖它的邻域像素。 邻域算子:对每个像素的输出值依赖于其邻域像素。 像素变换 在这一类图像处理变换中,仅仅根据输入像素值(有时可加上某些全局信息或参数),计算相应输出像素值。 这类算子包括,亮度和对比度调整,以及颜色校正和变换。 亮度和对比度调整 两种常用的点算子 阅读全文
posted @ 2018-09-04 10:06 zuoyou 阅读(340) 评论(0) 推荐(0)
1.3矩阵的掩码操作
摘要:矩阵的掩码操作:根据掩码矩阵重新计算矩阵中每个像素的值。从数学观点看,利用自己设置的权值,对 像素邻域内的值做了加权平均。突出像素点,图片有了锐化的效果。 对图像的每个像素应用下列公式 I(i,j)=5*I(i,j)-I(i+1,j)-I(i,j+1)-I(i-1,j)-I(i,j-1) 阅读全文
posted @ 2018-09-03 09:46 zuoyou 阅读(883) 评论(0) 推荐(0)
Mat补充
摘要:Mat的创建 1.使用Mat的构造函数 Mat test(2,2,CV_8UC3,Scalar(0,0,255)); 2.使用Mat的构造函数 int sizes[3] = {2,2,2}; Mat test(3,sizes,CV_8UC3,Scalar::all(0)); 3.为已存在的IplIm 阅读全文
posted @ 2018-08-10 10:26 zuoyou 阅读(291) 评论(0) 推荐(0)
Opencv基本数据类型
摘要:1.OpenCV中数据类型和常用数据类型对应 Mat<uchar> CV_8U Mat<char> CV_8S Mar<short> CV_16S Mat<ushort> CV_16U Mat<int> CV_32S Mat<float> CV_32F Mat<double> CV_16F 2. 阅读全文
posted @ 2018-08-09 17:23 zuoyou 阅读(1619) 评论(0) 推荐(0)
1.2OpenCV如何扫描图像,利用查找表和计时
摘要:查找表 颜色缩减法:如果矩阵元素存储的是单通道像素,使用C或C++的无符号字符类型,那么像素可有256个不同值。 但若是三通道图像,这种存储格式的颜色数就太多了(确切地说,有一千六百多万种)。用如此之多的颜色可能 会对我们的算法性能造成严重影响。其实有时候,仅用这些颜色的一小部分,就足以达到同样效果 阅读全文
posted @ 2018-08-09 17:00 zuoyou 阅读(295) 评论(0) 推荐(0)
读取,修改,保存图像
摘要:读取,修改,保存图像。 图像读取 imread 图像颜色空间的转换cvtColor 参数: 源图像 目标图像 附加参数,用于指定转换的类型 将图像保存至硬盘 imwrite 阅读全文
posted @ 2018-08-08 15:31 zuoyou 阅读(129) 评论(0) 推荐(0)
Opencv(3):基本数据类型
摘要:1.比较简单的原子类型 其中cvScalar是一个特殊例子,它有3个构造函数。第一个是cvScalar(),它需要一个,两个,三个或四个参数并将这些参数传递给数组val[]中的相应元素。 第二个函数是cvRealScalar(),它需要一个参数,它被传递给val[0],其他值被赋为0,第三个是cvS 阅读全文
posted @ 2018-07-26 22:46 zuoyou 阅读(475) 评论(0) 推荐(0)
OpenCV(2):视频
摘要:播放AVI视频 cvCreateFileCapture() 设置要读入的AVI文件,返回一个指向CvCapture结构的指针。这个结构包括了所有要读入AVI文件的信息。 在调用这个函数后,返回指针所指向的CvCpature结构被初始化到所对应的AVI文件的开头 frame=cvQueryFrame( 阅读全文
posted @ 2018-07-26 17:37 zuoyou 阅读(265) 评论(0) 推荐(0)