Sandeep Hiremath, MathWorks
学习MATLAB与图像处理很容易开始。
图像处理与摄像机构建应用系统的基础。你可能有一个新的想法来使用你的相机在一个工程或科学应用程序但不知道从哪里开始。虽然图像处理可以看起来像一个黑色艺术,有几个关键工作流程,这将让你开始学习。
在这个网络研讨会,用实际的例子中,我们将演示如何用MATLAB很容易:
以前的MATLAB知识不是必需的。
Sandeep Hiremath产品经理在图像处理和计算机视觉领域MathWorks。在他13年在MathWorks,面向客户的角色不同支持MATLAB和Simulink用户。金宝app金宝app在MathWorks他之前的角色,他是一个技术传教士支持学术MATLAB的用户。金宝app他拥有克莱姆森大学的机械工程硕士学位,美国,和一个B.E.在马德拉斯大学的电气工程,印度。
记录:2020年10月21日
欢迎来到“图像处理很容易”研讨会。我的名字叫Sandeep,我到在MathWorks产品营销团队。图像处理是一个非常受欢迎的领域,我们看到很多客户广泛用于设计应用系统在各种不同的应用程序空间像自动驾驶机器人、机器视觉、医学成像,仅举几例。图像处理主要是用于这些应用程序作为一个预处理步骤。但通常,它需要的不仅仅是图像定价技术设计完整的应用解决方案。
图像处理是什么?图像处理和数字图像处理涉及到一个图像上执行某些操作为了得到一个增强的图像或从中提取一些有用的信息进行进一步的分析。,在这个简单的例子中,主要目标是发现邮票的视频或者谴责,图像处理已被用于去除噪声、边缘检测和过滤操作预处理视频帧。
这些处理帧可以用于检测邮票使用计算机视觉和深度学习技术。在这个视频中,我们将看到一些应用的例子,我们将主要集中在图像处理部分。
我们看到许多工程师和科学家们想在自己的项目中使用图像处理。然而,对于一个新的人这一领域,有许多挑战开始。其中的一些典型的挑战是,如何开始?或者我怎么学习不同的技术?或者我如何探索选项来解决我的问题吗?或者我怎么测试我的想法在大数据集的图像?
在这个网络研讨会,我们的目标是帮助您开始使用在您的项目中应用图像处理通过一些实际的例子,向您展示如何开始使用图像处理可以使用MATLAB更为方便,快捷。在接下来的30分钟左右,我们将看到两个vision-related问题在实际的例子,以及图像处理技术将用于每个其中之一。
首先,您将看到如何改善水下图像的可见性的对象,其次,识别彩色锥或对象在一个机器人的观点。所以让我们开始解决一些问题。
寻找帮助导航对象水下潜艇是一项常见的任务。右边的图片是一个小规模的自主设计的潜艇一些工科学生进行自主导航任务。的任务之一是水下定位水下笼,在右边的图像,和自主导航。
然而,这里有一个问题,可以看到,门在这水下图像不清晰可见。通常,物体在水中的能见度是影响由于各种原因像水运动,碎片或照明条件差。所以这里的主要目的是调整图像应对低能见度问题之前使用更先进的技术来分析和检测门在这幅图像。
这个问题的解决方案是图像增强。图像增强是图像定价技术应用到调整图像属性,因此准备的图片进行进一步分析。例如,改善光线条件和图像改善对象的可见性,或增加清晰度提高能见度的某些特性,如在图像边缘。
现在让我们把MATLAB,看看如何解决这个问题。这是我的MATLAB环境。我要开始我的MATLAB脚本在这里生活,,我要做的第一件事是读水下场景的形象与我们之前看到的水下闸门。
所以,这个我要使用imread函数图像处理工具箱,将图像文件的名称作为输入,并返回一个变量的图像数据。接下来,我想在MATLAB中查看这张图片。为此,我使用imshow函数,再次,从图像处理工具箱。
让我们运行这个函数并查看输出。这里是我的输出脚本嵌入到现场,这使得它很容易跟随我们执行这个脚本一段一段的生活。我也可以码头出这个图窗口仔细看看它。
现在,我的目标是检测的位置埋栅结构图像。为此,我有一个非常简单的自定义函数,我叫找到盖茨写的。我们看看这个函数之前,让我们来运行这个下一节,我将图像作为输入传递给找到门的功能。
这应该返回水下图像注释与门的位置结构。输出的结果应该是这样的。然而,正如您所看到的,它无法找到盖茨。
现在,让我们快速看发现盖茨函数是如何实现的。没有太多的细节,这个函数的输入是一个图像。首先,它是将图像转换为二进制。
然后,它是改进二进制图像删除任何微不足道的像素区域。最后,使用区域和属性分析检测剩余的大片段,它应该给我们门的垂直结构。所以输出应该两个注释在大门的垂直结构。
现在,鉴于水似乎比我们预期的模糊图像,发现盖茨算法未能在这水下图像。这是一个常见的场景,此类故障发生之前当我们设计算法发现盖茨知道图像的实际情况,我们正在与。然而,而不是改变算法使用这张图片,我们可以使用一些简单的增强技术可在MATLAB预处理图像,看看这将帮助检测门的结构使用相同的发现盖茨功能之前,改变底层算法。
好的。所以我们要预处理图像,但是我们用的是重新定价的定价或增强技术的水下图像吗?好吧,我能做的就是从MATLAB得到一些帮助文档。要做到这一点,我可以去帮助搜索栏和搜索增强图像。这将打开MATLAB帮助处理器这个词的搜索结果。
的第一件事就是图像处理工具箱。并进一步下降,我看到一个搜索结果在低光照条件下的图像增强。我可以定义搜索结果说我想只看到例子。这是我的精细搜索。
现在,在例子中,让我们看看说低光照条件下的图像增强。如果你通过这个例子中,您将看到一些不同的技术被用来提高图像低照度的环境下。MATLAB使您能够在一个编辑器窗口中打开脚本和探索它,修改,并运行它看到输出,而无需从头开始实现。
也在这里,我可以去相关帮助主题,图像滤波和增强,学习更多关于广泛的技术,可用于预处理图像使用图像处理工具箱。好的。所以根据我的快速研究这些页面和一些相关的例子,我可以挑选几个图像增强算法,我想试一试与水下图像,看看我能找到盖茨函数使其工作。
让我们看看这个。这里,我将展示我有三个技术。首先,根据我们刚才看到的例子在低光照条件下的图像增强,我用dehazing算法。为此,我使用imreducehaze图像处理工具箱的函数。这应该返回一个输出图像,去除图像中模糊处理。
通常,dehazing或与调整图像去雾技术帮助等大气霾雾从安全摄像机拍摄的图像在大雾天气能见度,以帮助改善如果对象是整体的形象。所以让我们试着去雾,看看这将有助于消除一些黑暗的水下图像。让我们运行部分,看到旁边的原始图像的输出。
正如您可以看到的,有一些改善某些地区的形象。但这是配不上我们的门检测算法吗?好吧,让我们继续找到盖茨函数和测试图片。这一节中,我已经找到盖茨,我将选择dehazed图像从下拉菜单中。一旦我选择,部分是自动执行的。这里是门口dehazed图像检测的结果。所以这种技术并不真的像我们预期工作。
现在,我有一个选择回到iamreducehaze功能和调整一些输入参数是否给我一个结果,与盖茨发现功能。我可以找到更多关于这些输入参数iamreducehaze函数通过查看帮助参考页面的功能。但是现在,在我的例子中,基于默认语法,由此产生的图像没有成功的衰变检测算法。
好吧,让我们继续第二增强技术,图像锐化。图像锐化应该帮助锐化边缘和门结构,这似乎有点模糊的图像中,大部分是由于水运动引起的。为此,我将使用imsharpen函数图像处理工具箱。
让我们运行一节,看看磨图像。它可能很难注意到在这个视频中,但还是有一些改善的边缘锐度门结构,而且在整个图像。现在,我想测试磨找到盖茨函数图像。让我们再去部分,从下拉菜单选择磨图像,并自动执行的部分。
如您所见,再次找到盖茨没有检测门的结构。所以图像尖锐化技术还没有工作。到目前为止,我已经试过两种预处理技术,我已经能够快速测试他们找到盖茨函数,和其中一个都没有工作。
接下来,我将使用对比调整预处理图像。调整图像中的像素的对比有助于做一些轻像素脱颖而出相比,较暗的像素。如你所见,因为门结构较轻的像素,这种技术可能会有帮助。让我们试一试。
现在应用对比调整,有许多图像处理工具箱中的可用功能。我选择imadjust函数。Imadjust灰度和彩色图像。好的。所以在这一节中,我通过原始图像作为输入,这应该返回调整图像的对比。
让我们运行部分,看看输出。好吧,如你所见,它抛出一个错误的语法Imadjust这里只支持灰度图像。金宝app对于彩色图像,这里是需要额外的输入参数。如果你看看imadjust的帮助信息,你会发现,对于彩色图像,我们需要提供每个颜色通道的低和高范围,r, g, b。
我可以在这些数据类型参数的函数。然而,生活为我们提供了交互式脚本控制,我们可以用它来调优参数和在生活中看到结果更新。我可以调整这些值,直到我满意最终的结果。
让我们看看这预处理图像将与找到盖茨函数。让我们回到代码部分,我们有找到。在这里我选择对比调整图像的下拉菜单,这应该好和运行部分。
这里的输出检测结果。正如你所看到的,它已经成功与这张图片,因为这两个门结构注释。这是我们期望的结果从门检测算法。
这里我们看到的是我们能够探索和尝试不同的预处理技术在MATLAB不知道很多关于这些技术使用前对比调整成功预处理图像,使其与盖茨发现功能。现在请注意,我们必须做一些手动调整颜色和水平imadjust得到期望的结果。这只是一个形象。
现在,想象一下,如果我们有一个大型的序列,说,500年到1000年图像或视频中帧包含盖茨结构在水下照明和环境变化。在这里,这将是很难预计相同pre-pricing技术和设置工作成功探测门结构在所有这些图像。在这种情况下,它将需要运行并验证所有图像的预处理步骤,然后可能回去和调优预处理算法和也找到盖茨函数,使他们足够健壮在所有这些图像。
图片批处理应用程序使整个工作流非常快速和容易在MATLAB。让我们看看这个程序,用它来自动化的预处理的水下场景的图像序列。打开这个程序,我们去应用程序选项卡并单击展开下拉列表。
在这里,寻找图像批处理器应用在图像处理和计算机视觉部分。注意,有许多其他应用程序可用在本节。应用程序是一个伟大的方式开始探索和尝试不同的技术或算法,特别是如果你新的图像处理计算机视觉。
让我们打开图像批处理器应用程序。现在,我想读的水下场景的图像序列,然后应用相同的对比调整算法预处理所有这些图像。要做到这一点,我要加载我的形象。你可以看到所有的加载图片缩略图的左面板。
这是一个预览所选的形象。接下来,我要选择我想要的算法在这些图像上使用。我有我的脚本包含对比调整部分保存为一个新的函数。它被称为预处理image.m。如果你想了解更详细的步骤创建这个功能,请点击问号按钮参考文档。
接下来,我将选择过程所有运行的函数图像。一旦完成,您可以查看结果在右面板。你可以扩大和进一步检查。还要注意,应用程序允许加速批处理与并行计算。
这是特别有用,当你想加速处理一个非常大的图像数据集。然后您可以导出这些结果与发现盖茨MATLAB进行测试的功能。这也可以自动在一个脚本。这里需要注意的是,图片批处理器应用使我们轻松地处理大型自动化的图像,然后使用这些结果来回去找到优化我们的算法,使其工作在所有的图像。
正如我们所见,处理多个图像是容易的,可以使用批处理加速处理器应用。也请注意,MATLAB现在提供了一个ImagaDataStore对象很容易访问和管理大量的图像。现在,我们已经看到在我们的演示只是几个简单的增强技术。但也有许多其他技术可在MATLAB使用取决于我们的问题。
例如,由模糊变清晰,这是非常有用的,当你试图删除从你的图像模糊或图像过滤技术去除噪声和图像。您可以了解更多关于滤波和增强技术指的是链接在下面描述。
让我们结束这个演示。总之,我们看到的是多么容易开始使用MATLAB使用帮助文档,它为您提供了一套非常好的现成的例子和综合函数引用页面。我们看到MATLAB脚本是互动的生活,很容易在不同的技术探索和迭代及其参数和中间结果的看法。
我们也看到MATLAB为您提供一个图像批处理器应用程序通过图像处理工具箱,让你大的图像的自动测试算法。在前面的演示,我们了解了如何增强图像。现在让我们看看下一个演示如何处理图像中提取有用的信息。
相机在机器人的主要目标之一,或无人机,检测对象在他们面前特别是机器人执行任务喜欢挑选和地方,避障,或目标探测。这里是一个简单的例子的选择和放置机器人在右边的图像,其目标是搬到一个特定的颜色的锥,拾起并把它们移到垃圾箱。左边是机器人所看到的图像从其前置摄像头。
现在,这似乎是一件很容易的任务找到肉眼的锥,但不一定是机器人。为什么这是一个挑战吗?如果你注意到,还有其他对象的目标对象是锥。此外,位置,方向,和锥的规模很难找到他们。这是一种常见的挑战对象检测问题,在设计交通监控系统、车辆或行人检测器自动驾驶汽车,或选择并将机器人放在仓库。
这里的主要目的是单独或部分感兴趣的区域的图像中的杂波前检测场景中的实际位置。图像分割将帮助我们解决这个问题。细分技术实现从图像中提取有意义的信息通过分配一个区域中的所有像素具有类似属性相同的值。这就是所谓的掩蔽。
例如,二进制面具需要分配一个图像中的所有像素,黑色或白色的价值。通过这种方式,我们可以分离出正确的前景从背景屏幕。现在,您可以分析这个二进制图像进一步说,例如,计算图像中颗粒的数量。
现在,图像分割技术是用于各种不同的应用程序像一个光学字符识别,有时一个文本图像中需要首先提取识别它们。在目视检查你分割图像基于强度之前发现有缺陷的对象,或在医学成像在组织执行基于颜色的分割图像中提取感兴趣的区域进行进一步分析。
为我们的问题,你可能会想,我们怎么知道使用哪些技术?像在第一个演示,通过一个简单的搜索在MATLAB帮助细分和通过一些例子,我能够迅速找出颜色阈值将在我们的例子中很好地工作。颜色阈值将使分离出单个颜色的视锥细胞,然后使用结果来检测图像中的锥的确切位置。
现在,让我们去MATLAB,看看如何执行颜色阈值。所以我怎么开始使用颜色阈值在MATLAB ?为此,我要首先导航到帮助浏览器。在这里,我将搜索颜色阈值。这是我对颜色阈值的搜索结果。
第一个结果这里说颜色阈值。让我点击。在这里,我可以看到,有一个颜色阈值的应用程序,我可以在MATLAB中使用执行颜色阈值。我还看到有一个例子,我可以敞开心扉,了解更多关于这个应用程序是如何工作的。
现在,让我回到MATLAB和打开颜色阈值的应用程序,就像我们之前做的,我要去应用程序选项卡并向下滚动到图像处理和计算机视觉部分。在这里,我可以寻找颜色阈值的应用程序,在这里。这是我们的颜色阈值的应用。
接下来,我要进口我的形象,我要工作。,点击加载图片并选择从文件加载图像。下面是我的形象的选择。我要选择第一个,这是cones1.jpeg。
现在应用程序加载图像并显示它与不同的颜色空间与硬币云代表这四个颜色的图片在每一个空间。这些空间是RGB颜色,HSV, YCbCr和L * a * b。在这里,我可以选择的颜色空间,提供了最佳的分色图像。我可以了解更多关于这些不同的颜色空间,如何从MATLAB与他们合作帮助文档。
现在,我要继续挑选HSV颜色空间通过点击这里的HSV按钮。所以这应该打开一个新标签页称为HSV和显示图像。在这里你也可以看到我们有一些互动的控制。这些控件允许您调整三个值代表这个颜色空间。
H是一个纸风车的色调值,基本上代表了不同维度的颜色。S只不过是饱和值,代表黑暗或光明的颜色。和V的强度值是图像中每个像素的颜色。
您还可以看到,有一个3 d点控制在底部。现在,我将继续与三个HSV控制调整这些值。我改变这些值,你可以看到左边的图像被过滤掉生活中更新基于HSV的像素值,我选择。我也可以使用点云的控制执行类似的过滤操作。
让我们继续,选择匹配的所有色调的颜色黄色和黄颜色的阴影。现在我们所看到的左边基于我们的过滤操作是一个蒙面的图像仅包含像素匹配的HSV的价值选择。我可以移动纸风车的值来选择不同的颜色。
说,让我们选择红色和红色的阴影。现在你可以看到它实际上过滤掉所有的颜色除了红色和红色的阴影。然后我可以调整我的面具通过调整饱和磁化强度值。
接下来,您也可以尝试颜色阈值在不同的颜色空间通过选择新的颜色空间开始一个新的会话。通过这种方式,您可以探索阈值在不同的颜色空间和选择最合适的结果进行进一步分析。在MATLAB中,我可以表现颜色阈值以编程方式。但是正如你所看到的,颜色阈值的应用使得此工作流更加互动和容易探索不同的选择。
我们可以得到一个体面的结果很快不知道很多关于颜色空间和代表他们的价值观。现在,我很高兴与我的结果,我可以继续和出口蒙面映像MATLAB工作区。我可以通过导出选项,点击导出图片。
正如你所看到的,我也可以选择导出二进制掩模和原始输入RGB图像。通过这种方式,我可以使用这些结果来进一步分析和检测图像中的锥使用一些其他的技术。现在,如果我想这些步骤适用于大量的图片吗?要做到这一点,我可以使用,导出选项并单击导出功能。通过这种方式,我可以出口的颜色阈值应用会话MATLAB函数。
现在,我可以使用这个函数在未来使用相同的算法和编程阈值更多的图片相同的设置。让我们继续看了创建这个函数。叫做创建面具,它需要在一个RGB输入图像,给出了二元掩模和一个戴面具的RGB图像作为输出,非常相似的颜色阈值应用。
让我们继续和这个函数保存到当前文件夹名称,创建面具。现在,我在这里有一个生活的脚本,我创建了使用这个函数和其他一些分析和检测技术来检测图像中的锥。让我们去看看脚本。
在第一部分中,我读到一个新的输入图像,这是cones4.jpg。第二行这是创建掩模函数。让我们继续和运行部分。这是输出,三个图像。第一个是输入图像,然后带着面具的RGB图像,然后是二进制图像。
在下一节中,我将使用一个叫做形态学的分割技术进一步完善二进制面具。在这种情况下,我要过滤掉图像中的像素区域小。我就是使用Iamopen函数。然后我使用bwconcomp函数找到图像中所有连接组件。
让我们继续和运行部分。这里是Iamopen的输出函数。正如你所看到的,二进制面具已经进一步细化。
最后,在本节中,我将使用regionprops命令找到这些连接能力的职位,这个图像的视锥细胞,然后注释原始图像的信息,我已经从该地区道具,这些连接组件的位置。让我们继续运行这个部分。
和这是我的最终结果的原始图像注释与红锥的位置在这个形象。所以这种方式,我可以对多个输入图像和使用执行这个操作返回的信息,调整阈值和检测算法。现在,许多细分技术的当前阈值只是一个可用的,你可以考虑来解决你的问题。
MATLAB实际上提供了一个详尽的列表其他细分和分析技术。还有函数来执行对象和区域属性分析与检测类似于我们所做的锥使用regionprops命令。你还会发现有很多良好解释的例子,向您展示如何使用这些不同的分割和基于现实问题的分析技术。
我们看到有很多其他分割技术可以在MATLAB作为现成的函数。MATLAB通过图像处理工具箱还提供了一个应用程序分割速度和互动。你可以探索不同的技术在你的形象和完善你的直到你得到结果
你想要的结果。您可以导出这些结果为进一步分析MATLAB。你甚至可以选择为您的会话生成MATLAB函数并使用它们来自动化测试相同的算法在大量的图像。这是特别有用如果你应用分段连续帧的视频。
所以总而言之,在这个演示中,我们看到的颜色阈值应用非常迅速有效地探索不同的颜色空间,然后调优值来得到理想的分割结果。我们看到MATLAB提供各种分割算法用于我们的工作与坚实的文档和示例开始迅速应用。我们也了解到,裂殖体图像应用程序可以通过图像处理工具箱,使探索和尝试的一些图像分割技术交互。
这就引出了这次演讲的结束。总之,我们已经看到如何使图像处理容易开始使用MATLAB。我们专门看到通过演示,MATLAB的全面帮助文档很容易和快速开始发现和学习。现成的例子提供了一个快速的起点与自己的数据尝试不同的算法。交互式应用程序和脚本使它生活的方便和快速探索和迭代在不同技术和它们的参数,然后再决定哪些工作最好的在你的情况中。
最后,测试算法在大数据集的图像或图像序列在MATLAB容易得多。所以你去哪里呢?这里有一些步骤。图像处理工具箱可以做更多的比我们在这个视频覆盖。了解更多关于这个工具箱,在Mathworks.com上产品页面。
如果你们愿意去探索和评估图像处理工具箱,今天得到产品的试用许可证。你也可以得到一个更详细的和实践经验注册MATLAB的图像处理工具箱的培训课程。这也可以作为一个在线课程。
如果你解决计算机视觉问题特别感兴趣,然后MATLAB计算机视觉工具箱可以帮助你。我们的许多客户有兴趣使用深度学习技术和他们的应用程序。如果你不知道,我们有一个深度学习工具箱,可以使您在MATLAB中使用深度学习。请参考下面的描述这些资源的链接。谢谢你的关注。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
本网站使用cookie来提高用户体验,个性化的内容和广告,并分析网站流量。通过继续使用本网站,您同意我们使用cookie。请参阅我们的隐私政策了解更多关于饼干和如何改变你的设置。