基于颜色的分割与实时图像采集
获取图像并进行图像分析找到小物体,计数,并通过颜色区分它们。
你好,欢迎。在这个视频中,我们将使用图像采集到MATLAB工具箱™来捕获图像®。然后我们将进行图像分析和其他操作使用图像处理工具箱™。作为一个例子,我建立了我的相机捕捉到的图像不同颜色的糖果。我们将确定图像和糖果的总数计算某种颜色的糖果。
在这个例子中,我将执行各种图像处理算法,如阈值、形态学操作,获得的图像和颜色分割。第一步是将我的相机连接到MATLAB。MATLAB是否承认我的相机,我使用imaqhwinfo命令得到的硬件列表适配器和特定的设备可以在我的电脑。目前我的相机,可以通过winvideo适配器连接。所以我使用imaqhwinfo命令来获取它的设备ID。
根据这些信息,我可以使用视频图像采集的输入命令来创建一个实例对象,可以从我的相机获取视频。使用这个视频输入对象,我可以弹出预览窗口捕获视频。然后我使用getsnapshot命令来捕捉一个图像帧从我获得视频。我可以显示这个图像帧使用imshow命令在MATLAB。我在这里停靠这幅图像帧。
让我们先使用阈值确定图像中的所有对象。所以我单独的R, G, B compoments我的形象和计算阈值分别为每个使用graythresh命令。然后我阈值每个组件分别使用im2bw命令,然后结合在一起有一个二进制图像包含明确确定的对象。
删除任何工件图像中,我使用形态学操作,比如imfill删除任何漏洞和imclearborder删除任何外来物体躺在边境。现在很容易清楚地计算对象的数量在我的形象。我使用bwlabel命令独特标签每个对象和图像中对象的总数。
坚定选择糖果的颜色,我们需要考虑颜色值的变化在一个对象等问题引起的非均匀照明条件和相机噪声。所以我需要构造一个图像代替实际的RGB值的平均颜色每一个糖果。
为此,我使用逻辑索引得到我想要的只有那些像素,然后计算其值。例如,我可以逻辑索引标签的图像矩阵和提取只有一个标签为1的像素。让我给一个例子。
然后我可以计算提取的像素的中值属于这个分割区域。所以我在这个for循环,因此计算中间值为每个标签所有三个颜色的飞机。最后的循环,我重组颜色组件中颜色值为每个糖果。
从图像处理工具箱使用impixelinfo命令,我可以看到值R, G, B值,我只是计算为每一个糖果。现在我想选择所需的颜色和数量的糖果数量特定颜色。因为我已经有了每个标记区域的平均颜色,我需要简单地找到中间的颜色接近的区域选择颜色。
基于颜色的选择,最好是使用实验室的颜色空间,因为它将发光颜色信息的信息。颜色值之间的欧几里得距离这个空间是一个更有效的措施相似比RGB颜色空间。所以我使用了makecform applycform评论把我的形象和所选实验室从RGB颜色空间。
从这一点,我可以把A和B组件不需要任何发光的信息在这里。找到区域具有相同的颜色,我第一次之间的欧氏距离计算颜色值与A和B组件使用函数的命令。然后我使用一个合适的阈值保存价值只选择那些谎言接近的地区选择的颜色。然后我可以使用bwlabel命令获得的选择区域。
所以这个演示说明了图像处理工具箱和图像采集工具箱可以组合执行图像分析操作的实时图像。把这个例子进一步,你可以添加一个GUI,引导甚至与MATLAB编译器™建立一个独立的可执行文件。图像采集和处理演示,请访问我们的网站的产品页面。谢谢你!
相关产品s manbetx 845
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。