自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 第十三章 图像的几何变换之旋转

旋转,在几何变换中属于比较复杂的算法。因为旋转算法无法离开旋转方程。先进行旋转方程的推导吧。这个是初中的知识。复习一下。如图所示,点V绕原点旋转θ角,得到V’.假设V点的坐标是x,y.则V到原点的距离是R .它的角度是ϕ。则X= Rcos(ϕ) Y = Rsin(ϕ)V’旋转θ的X’= Rcos(ϕ+θ); Y’= Rsin(ϕ+θ);展开后得x’=rcosθcosϕ-rsinθcosϕ代入后得X’=xcosθ-ysinθY’=xsinθ...

2020-06-17 21:58:15 1258 1

原创 ​第十二篇 图像的几何变换之缩放

几何变换包括平移,缩放,斜切,旋转等。本系列文章仅讲缩放与旋转。缩放,在OpenCV中讲了三种算法,最近邻插值法,双线性插值法和双三次样条插值法。近邻插值是采用最近像素填充,效率高,但效果差。双三次样条插值法虽然效果好,但是计算量却非常大,所以一般在绝对大多数情况下都是采用双线性插值。关于双线性插值的数学描述我就不讲,网上有海量的内容。我按我自己理解的方式来讲。简单点的说,双插法非整数倍时,取两个近邻整数的按系数乘以相应的比例。举个例子:如果是3.14系数倍时,则取第3和4行(列)的像素值,将第3行

2020-06-17 21:57:08 383

原创 第十一篇 灰度形态学

二值图像形态学主要是膨胀腐蚀,直白一点说,就是放大一圈与缩小一圈。灰度形态学的方式大体上差不多。从另一个角度来说,放大或缩小一圈,就是在8邻域中取最大值和最小值。所以,灰度形态学,也是这样。灰度形态学的膨胀,就是以某像素为中心,取最大值,相反腐蚀,就是取最小值。下面以Lena灰度图像为基础,做灰度形态学变换。先上原图:膨胀图:膨胀后的图像提高了整体亮度,并且变得更模糊了。腐蚀图:腐蚀后的图像,降低了整个图像的亮度,同样变...

2020-06-17 21:56:06 1235

原创 第十篇 数学形态学运算

数学形态学运算主要是讲基于二值图像的膨胀,腐蚀和开运算,闭运算。下面分别说一下这几种算法。首先基本上所有形态学运算都是基于边缘的。膨胀运算,就是以如果一个黑色像素的八邻域中有一个白点(二值图像中为255),则将当前像素置为白点。这就相当于是将目标白色区域膨胀了一圈。腐蚀运算,则刚好相反,即如果一个白色像素的八邻域中有一个黑点(二值图像为0),则将当前像素置为黑点。这就相当于将白色目标减少了一圈,或者腐蚀掉了一圈。开运算,就是将一个目标图像先执行腐蚀运行再对结果进行膨胀运算。闭运算,就是.

2020-06-17 21:55:14 2137

原创 第九篇 邻域

这一篇先讲邻域,因为邻域是其它接下来所有运算的基础。邻域运算是图像处理中比较重要的运算。基本上,边缘处理,模数处理,形态学等,都是基于邻域的运行。其实邻域这个概念很简单,很直白。就是讲一个像素的上下左右的想念的像素。邻域又有两种情况,即4邻域与8邻域。先看图吧。这个就是4邻域,即只包含上下左右四个方向,分别是以(x,y)为中心的四个方向上的点,数学上记着:(x-1,y),(x+1,y)(x,y-1),(x,y+1)。这个就是8邻居,在4邻域上基础上加上了4个角上的点。是以(x..

2020-06-17 21:54:12 1836

原创 ​第八篇 自动阈值----OTSU 大津法

OTSU法,专业术语叫最大类间方差法,又叫大津法,这个算法是由一个日本人,叫大津展之(Nobuyuki Otsu)的提出来的。嗯,网上对于这个算法的文章很多,大多从数学方面,公式方面来讲解的。不过我想用自己的方式来讲解一下。首先这个算法是用于灰度图像的阈值的自动计算法。主要方法是从0-255,搜索每一个像素,假设搜索变量为X,则0-X之间为前景,x-255之间背景。这个好理解。不过在这之前,先要求出直方图,即所有像素在0-255之间的每个灰度值的像素总数。先讲几个概念,1.平均灰度。平均灰度..

2020-06-17 21:52:19 1324

原创 第七篇 二值化

这一篇终于讲到二值化。二值化是图像处理中的一个非常重要的手段。因为经过二值化处理后的图像基本就是目标处理手段了。比如膨胀腐蚀等形态学,联通区域的搜索等等。二值化,故名思义,就是将图像处理成只有黑白两个极端,即黑色为0,白色为255的两个值,这样做的好处是明显的,成为了特定的目标。再配合其它算法就可能实现算法的目标。做二值化前,必须求得一个阈值。是阈值,不是阀值。很多人读错这个字。阈值一般两种方法求得,一是手动。即有先验值。二是自动化判断。这里先讲手动。手动即知道预先知道这个值,这个值之前为前景,这个

2020-06-17 21:51:20 849

原创 第六篇 直方图均衡化

直方图是通过图的方式反映图像像素的分布情况。在做图像处理时,一般也会利用直方图的波峰波谷做图像二值化分割,或者多个不同的波峰波谷来做分割。不过在讲图像分割之前,我们再来讲一下关于直方图的均衡化。直方图的均衡化主要是用在将相对较暗的图像通过均衡化的方式把它整体拉亮一点。当然,也是为了更好的处理图像,得到更好的图像效果。先上原图。说明一下,因为原来那张簕杜鹃花的图片的像素分布相当的广泛且均衡,所以我做了均衡化后基本上变化不大。体现不出它的使用。所以我用了这张Lena。这张图从灰度..

2020-06-17 21:49:16 668

原创 第五篇 直方图

前面举例子时(番外第二篇),有讲到判断巧克力存在时用到了直方图,那么我们现在就开始讲一讲直方图。直方图这个东西挺简单,其实就是统计一个ROI区域里的灰度分布。ROI Region Of Instrest,中文翻译为感兴趣区域。一般就是我们要处理的目标区域。灰度直方图就是将颜色值按0-255个数量,每一个值进行累加,最后将这个数据生成一张图像,这就是直方图。它的作用主要是方便直观的知道像素数据的分布状态。先贴上一张原图:这张图经过直方图后产生的分布数据如下:看得出来,像素值分布..

2020-06-17 21:46:29 262

原创 第四篇 灰度

从前面的两篇文章看得出,图像算法处理主要还是以灰度为基础。的确也是这样。多数算法对篇图像的处理。基本上都是以灰度为基础。究其原因,是因为灰度图像只有一个维度,便运算吧。像RGB,HSV,HSI,YCrCb等,都是多个维度的信息。只有灰度,是一个维度,且取值范围是在0-255之间.当然,我不是说所有算法都是这样。举个例子,有一些算法需要识别皮肤,这个时候就不能以灰度为基础,必须用色度为基础。前面第一篇文章有提到,RGB其实是在灰度的信号上,通过覆膜过滤光的方式来取得的。但本质上,还是光电转换中的亮度...

2020-06-12 22:55:13 370

原创 第三篇 颜色的合成与计算

前面的文章虽然有提到颜色,有提到三原色和亮度,但实际上并没有说它是怎么得出来的。我们知道五颜六色的缤纷色彩是三原色组合的,但是具体是怎么组合的,却没有讲。本次,我们就来讨论一下到底颜色是怎么得出来的。说到颜色合成,就必须说一说颜色加色法,或颜色加法。所谓的颜色加法,就是将三原色按不同数量进行混合,即相加,就可以得到其它的色。先上图吧:这个就是颜色相加的结果,也是四条公式红色+绿色=黄色红色+蓝色=品红蓝色+绿色=青色红+绿+蓝=白色嗯。这四个公式很重要。为什么...

2020-06-11 22:15:17 4525

原创 第二篇 关于BMP图像

第一篇文章中已粗略的讲了一下关于图像的亮度与颜色。也捎带说了一下图像的表现与图像的获得。这一篇将要讲到具体的干货了。图像(或者说我们还是拿照片来说事吧)我们一般从相机上获得时,都是一张标准的长方形图像文件。先上一张我用手机拍的照片,以此图像来说事吧。第一眼,这图很漂亮,是的,这没错,毕竟拍的是花嘛。那漂亮之余呢?先提一个问题,这图有多大?这个很重要。一般我们会去看图像文件的存储大小。我看了一下,4.44M。好吧。具体我把图贴上来。嗯,我们看到了具体数字:4665654字节,466万.

2020-06-11 22:13:44 947

原创 第一篇 关于亮度与颜色的理解

先来说说图像吧。从专业的角度上来讲,图像是基于时间域在二维平面里的数字信号表现。这里有一个名词叫二维平面,之所以这么说,其实还一种我常见的信息,即音频,是基于时间域在一维数字信号的表现。对于图像,我们常见的表现方式,要么是黑白的,要么彩色的。嗯,像早年70,80年代的时候的照片最流行的就是黑白。到后面技术革新出现了彩色照片,我们可以理解为它们是基于模拟信号的表现。现在我们一般获取到的都是经过光电转换成数字信号后的数字图像。黑白图像,主要是通过不同的亮度对比的强度来表现图像的内容。而彩色图像,则是通过不同的颜

2020-06-11 22:12:08 3203

原创 第四篇 曾经做过的项目

前面主要介绍了VisionBuilder软件在工业现场的机器视觉应用。全部看完这些文章的朋友应该对机器视觉在工业现场领域的应用有了比较详细的了解。下面简单介绍一下我曾经做过的一些小项目。这些项目都是业余时间做的。原来公司的产品主要是机器视觉平台。第一个项目是识别农残检测结果。读到图片去色二值化去背景抽取目标抽取中心部分着色识别结果另一个项目:一段视频中识别加油表的跳变数字。...

2020-05-28 22:47:15 607

原创 第三篇 图像检测在流水线的应用(二)

前面虽然讲了一个案例,但那个案例仅用到了灰度直方图,想来想去,觉得一个案例没有太多的代表性,也体无法完全体现出机器视觉的工业应用场景。所以本篇还是再讲两个案例。同样的,也对案例中的技术做详细讲解。当然,暂时没有涉及到算法与代码,因为还没有讲图像灰度,图像变换,图像连续的算法等。上面这个案例是一个茶包的检测,主要是通过检测黑边和计算包数。再上一个案例。然后对这个案例中的图像处理关键技术进行一些讲解。下面两张图是所有的算法(共用到十二个算法)。然后再贴四张图一张...

2020-05-28 22:45:00 1194

原创 第二篇 干货:VisionBuilder如何完成图像检测

前面铺垫性的文章写了很多,但一直没有真正的给大家展示机器视觉是如何真正的辅助工业流水线完成检测工作的。下面我将用美国的NI的Vision Builder AI软件用具体的案例来给大家展示一下它的工作过程。先上两张图,分别为检测正常的结果和异常的结果.以下是原始图片。(那张出错的图就是右上解的图像image_03305.jpg)当然,我们光看图像,顶多也只能知道它有这个作用而已。所以,接下来我将向大家讲解一下它是如何完成这些工作的。这次讲干货,讲仔细一点,看看它是如何工...

2020-05-28 22:41:15 2915 1

原创 第一篇 学习图像处理有何作用?

之前在微信上写了两篇图像和颜色的问题,本来按照常规则依次按图像去色,图像变换,模糊处理,边缘算法之类的写,但是突然想到的一个问题,我这么写和大多数技术流的没有什么区别吧。而且看的人也少,因为很多人不知道学习这个东西到底有什么作用。所以也就没有什么学习兴趣吧。就像我们以前读书学数字物理化学英语一样,我们不知道学它后究竟用它来干什么,为什么要学它,所以当然提不起兴趣,也就学不好是理所当然的了。所以我突然想,还是先写一篇,学习图像处理的作用吧。 开讲之前,先说说图像处理方面的应用领域...

2020-05-28 22:37:21 3200

文章配套算法源代码,包括直方图,几何变换等。

文章配套算法源代码,与前一个工程属于同一个工程,只不过把算法独立出来了,包括 直方图,直方图均衡化,二值算法,旋转,缩放,等等。

2020-06-16

imageprocesse.zip

原创文章中配套文章所附代码,主要包括BMP文件的读写,及各种灰度的解析。本源代码在VS2013上编译,及相关工程和图片一并附上。所有代码是基于纯C,是因为原来代码是基于嵌入式平台开发。

2020-06-11

字模处理软件.

本软件用于字模处理.如果需要源代码,请和我Email联系

2008-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除