您的位置:首页 > 编程语言 > Python开发

Python下opencv使用笔记

2015-08-10 16:50 573 查看


Python下opencv使用笔记(十二)(k均值算法之图像分割)

k均值(kmeans)聚类是一种最为简单的聚类方法,直接根据数据点之间的距离(欧氏距离,几何距离等等)来划分数据是属于哪一类的,当所有数据点所属的类别不在变化的时候,聚类也就完成了。详细原理可索引下面一个博客:聚类分析笔记-K均值matlab算法(一)关于kmeans再谈几点认识: 重要的一点:聚类数目的问题。有的聚类、分类问题已经限制好了要聚类成几类,也就是聚类数目一定,那么这种聚类通常简单些,直...

2015-07-24 11:46 阅读(236) 评论(0)


Python下opencv使用笔记(十一)(详解hough变换检测直线与圆)

在数字图像中,往往存在着一些特殊形状的几何图形,像检测马路边一条直线,检测人眼的圆形等等,有时我们需要把这些特定图形检测出来,hough变换就是这样一种检测的工具。Hough变换的原理是将特定图形上的点变换到一组参数空间上,根据参数空间点的累计结果找到一个极大值对应的解,那么这个解就对应着要寻找的几何形状的参数(比如说直线,那么就会得到直线的斜率k与常熟b,圆就会得到圆心与半径等等)。关于hough...

2015-07-23 21:27 阅读(231) 评论(0)


Python下opencv使用笔记(十)(图像频域滤波与傅里叶变换)

前面曾经介绍过空间域滤波,空间域滤波就是用各种模板直接与图像进行卷积运算,实现对图像的处理,这种方法直接对图像空间操作,操作简单,所以也是空间域滤波。频域滤波说到底最终可能是和空间域滤波实现相同的功能,比如实现图像的轮廓提取,在空间域滤波中我们使用一个拉普拉斯模板就可以提取,而在频域内,我们使用一个高通滤波模板(因为轮廓在频域内属于高频信号),可以实现轮廓的提取,后面也会把拉普拉斯模板频域化,会发现...

2015-07-21 10:17 阅读(1468) 评论(5)


Python下opencv使用笔记(九)(图像直方图)

(一)图像直方图图像的构成是有像素点构成的,每个像素点的值代表着该点的颜色(灰度图或者彩色图)。所谓直方图就是对图像的中的这些像素点的值进行统计,得到一个统一的整体的灰度概念。直方图的好处就在于可以清晰了解图像的整体灰度分布,这对于后面依据直方图处理图像来说至关重要。一般情况下直方图都是灰度图像,直方图x轴是灰度值(一般0~255),y轴就是图像中每一个灰度级对应的像素点的个数。那么如何获得图像的直...

2015-07-14 17:52 阅读(218) 评论(0)


Python下opencv使用笔记(八)(图像金字塔)

图像金字塔操作的将是图像的像素问题(图像变清晰了还是模糊了)(本质上有点像图像的放大与缩小一样(前面介绍过的cv2.resize()函数))。一般来说我们操作的图像是具有固定分辨率的,但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理(尤其是在我们需要提取图像特征的时候)。这个时候我们需要创建一组新的图像,这些图像是具有不同分辨率的原始图像,那么我们把这组图像讲座图像金字塔。我们把最大的...

2015-07-13 21:26 阅读(126) 评论(0)


Python下opencv使用笔记(七)(图像梯度与边缘检测)

梯度简单来说就是求导,在图像上表现出来的就是提取图像的边缘(不管是横向的、纵向的、斜方向的等等),所需要的无非也是一个核模板,模板的不同结果也不同。所以可以看到,所有的这些个算子函数,归结到底都可以用函数cv2.filter2D()来表示,不同的方法给予不同的核模板,然后演化为不同的算子而已。并且这只是这类滤波函数的一个用途,曾经写过一个关于matlab下滤波函数imfilter()的扩展应用(等同...

2015-07-12 16:58 阅读(215) 评论(0)


Python下opencv使用笔记(六)(图像的形态学转换)

形态学一般是使用二值图像,进行边界提取,骨架提取,孔洞填充,角点提取,图像重建等等。常用的形态学操作时腐蚀与膨胀,在他们的基础上演变出一些变体,包括开运算、闭运算、梯度等等。形态学一般是对二值图像进行的操作。 下面贴几个比较好的介绍图像形态学方面的博客 图像处理基本算法-形态学 图像的形态学处理 (一)腐蚀关于腐蚀就是将图像的边界腐蚀掉,或者说使得图像整体上看起来...

2015-07-12 15:59 阅读(172) 评论(0)


Python下opencv使用笔记(五)(图像的平滑与滤波)

对于图形的平滑与滤波,但从滤波角度来讲,一般主要的目的都是为了实现对图像噪声的消除,增强图像的效果。 首先介绍二维卷积运算,图像的滤波可以看成是滤波模板与原始图像对应部分的的卷积运算。关于卷积运算,找到几篇相关的博客:图像处理:基础(模板、卷积运算) 图像处理-模板、卷积的整理对于2D图像可以进行低通或者高通滤波操作,低通滤波(LPF)有利于去噪,模糊图像,高通滤波(HPF)有利于找到图像边...

2015-07-10 11:31 阅读(231) 评论(0)


Python下opencv使用笔记(四)(图像的阈值处理)

图像的阈值处理一般使得图像的像素值更单一、图像更简单。阈值可以分为全局性质的阈值,也可以分为局部性质的阈值,可以是单阈值的也可以是多阈值的。当然阈值越多是越复杂的。下面将介绍opencv下的三种阈值方法。 (一)简单阈值简单阈值当然是最简单,选取一个全局阈值,然后就把整幅图像分成了非黑即白的二值图像了。函数为cv2.threshold() 这个函数有四个参数,第一个原图像,第二个进行分类的阈值,第...

2015-07-09 09:03 阅读(205) 评论(0)


Python下opencv使用笔记(三)(图像的几何变换)

写在之前 二维与三维图像的几何变换在计算机图形学上有重要的应用,包括现在的许多图像界面的切换、二维与三维游戏画面控制等等都涉及到图像几何变换,就比如说在三维游戏中,控制角色三维移动的时候,画面是要跟着移动的,那么怎么移动,怎么让上一时刻的画面移动到这一时刻,这都是根据了你的移动量,然后找到三维坐标之间的对应关系,用这一时刻的坐标替换到上一时刻的坐标像素值实现图像的切换。 图像的几何变换主要包括:平...

2015-07-08 11:18 阅读(246) 评论(0)


Python下opencv使用笔记(二)(简单几何图像绘制)

简单几何图像一般包括点、直线、矩阵、圆、椭圆、多边形等等。首先认识一下opencv对像素点的定义。图像的一个像素点有1或者3个值,对灰度图像有一个灰度值,对彩色图像有3个值组成一个像素值,他们表现出不同的颜色。 那么有了点才能组成各种多边形。 (一)首先绘制直线函数为:cv2.line(img,Point pt1,Point pt2,color,thickness=1,line_type=8...

2015-07-07 20:35 阅读(205) 评论(0)


Python下opencv使用笔记(一)(图像简单读取、显示与储存)

写在之前 从去年开始关注python这个软件,途中间间断断看与学过一些关于python的东西,感觉python确实是一个简单优美、容易上手的脚本编程语言,众多的第三方库使得python异常的强大,可以处理许多不同的问题,同时它的许多开源免费的库使得python的使用也是十分的广泛。在科学计算、数据处理与图像领域,自己曾经一直在使用matlab,感觉matlab也是一个语言优美、简单方便的编程语言,...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: