#opencv

OpenCV学习(15) 细化算法(3)

     本章我们学习一下Hilditch算法的基本原理,从网上找资料的时候,竟然发现两个有很大差别的算法描述,而且都叫Hilditch算法。不知道那一个才是正宗的,两个算法实现的效果接近,第一种算法更好一些。第一种算法描述参考paper和代码:LinearSkelet...
代码星球 ·2020-04-16

OpenCV学习(14) 细化算法(2)

     前面一篇教程中,我们实现了Zhang的快速并行细化算法,从算法原理上,我们可以知道,算法是基于像素8邻域的形状来决定是否删除当前像素。还有很多与此算法相似的细化算法,只是判断的条件不一样。在综述文章,ThinningMethodologies-ACompreh...
代码星球 ·2020-04-16

OpenCV学习(13) 细化算法(1)

程序编码参考经典的细化或者骨架算法文章:T.Y.ZhangandC.Y.Suen,“Afastparallelalgorithmforthinningdigitalpatterns,”Comm.ACM,vol.27,no.3,pp.236-239,1984.它的原理也很简单:   ...
代码星球 ·2020-04-16

OpenCV学习(12) 图像的腐蚀与膨胀(3)

通过使用不同的结构元素来进行膨胀腐蚀操作,可以检测图像中的角点,下面就一步一步看这个算法如果实现角点检测。原图像:首先我们创建四个结构元素先用十字结构元素对原图像进行膨胀操作,得到下面的图像再对这个图像用钻石型结构元素进行腐蚀操作,得到图像1,如下图所示:接着,我们对原图像用X型结构元素进行膨胀操作,得到:我们再用方形...

OpenCV学习(11) 图像的腐蚀与膨胀(2)

先对一副灰度图像进行腐蚀操作,然后在腐蚀后的图像上再进行膨胀操作,我们定义这个操作为开操作。先对一副图像进行膨胀操作,然后在膨胀后的图像上再进行腐蚀操作,我们定义这个操作为闭操作。     开操作可以去掉场景中一些孤立的点,而闭操作通常可以填充前景中一些小洞,通常通过这...

OpenCV学习(10) 图像的腐蚀与膨胀(1)

建议大家看看网络视频教程:http://www.opencvchina.com/thread-886-1-1.html  腐蚀与膨胀都是针对灰度图的形态学操作,比如下面的一副16*16的灰度图。它每个像素对应的值为(每个像素值范围都在0-255之间)为:    ...

OpenCV学习(6) 文件和Mat之间的数据交换

     有时候为了便于调试算法,我们需要从文本文件或二进制文件中读取数据,并把数据放到相应的矩阵中去。我们通常可以通过下面的函数实现。 1、从二进制文件中读取数据。    新建一个txt文件input.txt,在vs2...

OpenCV学习(5) Mat的基本操作(2)

     本章我们学习一下Mat中的常用操作,因为在后面其它的教程中,我们经常要对图像进行各种处理,也要使用这些操作。一、Mat的复制,就是从一个矩阵A,生成相关的另一个矩阵B。(1)使用赋值的方法,比如通过构造函数生成矩阵N,通过复制生成矩阵Pcv::MatN(M);...

OpenCV学习(4) Mat的基本操作(1)

     图像在OpenCV中都是通过Mat类来存储的,Mat可以用来表示N维矩阵,当然用的最多的还是二维矩阵。     Mat类有两部分组成:第一部分是头信息,这些信息主要用来描述矩阵,比如矩阵维数ndims,rows...

OpenCV学习(3) OpenCV框架

     OpenCV是一个开源的视觉库,其中包括很多计算机视觉的算法实现。在版本2.2以后,OpenCV采用C++特征的API,在1.x版本中,OpenCV函数都是传统的C语言形式。     OpenCV采用模块化的结...
代码星球 ·2020-04-16

OpenCV学习(2) OpenCV的配置

     下面我们在VS2010中编写一个简单的OpenCV程序,来看看如何在程序中使用OpenCV。创建一个新的Win32控制台程序,附加选项为空工程(emptyproject),并添加一个cpp源文件main.cpp,内容如下:#include<opencv2...
代码星球 ·2020-04-16

OpenCV学习(1) OpenCV的安装

1.下载文件下载最新的OpenCVwindows版本:链接:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/     我下载的版本是2.46,下载后得到OpenCV-2.4.6.0.exe,自...
代码星球 ·2020-04-16

OpenCV学习(9) 分水岭算法(3)

本教程我学习一下opencv中分水岭算法的具体实现方式。原始图像和Mark图像,它们的大小都是32*32,分水岭算法的结果是得到两个连通域的轮廓图。原始图像:(原始图像必须是3通道图像)Mark图像:结果图像:     初始的mark图像数据如下,黄色的部分为我们的第一...

OpenCV学习(8) 分水岭算法(2)

   现在我们看看OpenCV中如何使用分水岭算法。   首先我们打开一副图像:  //打开另一幅图像 cv::Mat   image=cv::imread("../tower.jpg&qu...

OpenCV学习(7) 分水岭算法(1)

       分水岭算法主要用于图像分段,通常是把一副彩色图像灰度化,然后再求梯度图,最后在梯度图的基础上进行分水岭算法,求得分段图像的边缘线。       下面左边的灰度图,可以...
首页上一页...910111213...下一页尾页