如何获取阈值图像分离两种颜色使用相同方法为所有不同类型的附加图片。
2视图(30天)
显示旧的评论
我工作在一个工业项目,任务是自动生成两条路径,可以连接传导线从左到右,如附图1所示。我有successsfuly线自动获得的目标和实现。但我想所有图片上运行我的代码。所以,我被困在一个部分,使它适用于所有图像没有手动更改任何输入值。
我想separte两种颜色(如裁剪图所示)。我有自动生成的图像裁切,我将只剩下separte两种颜色。我可以separte这两种颜色使用基于RGB阈值,HSV分割,实验室,色差,大津法,基于阈值的方法。在下面提到的代码我做了基于RGB阈值获取阈值图像。但我面临的问题是,我需要阈值图像用同样的方式和相同的值。这些方法给预期的结果只对不同的图像通过改变不同的值。我拥有1000年代sround图像。
我可以观察并确认背景(棕色)比绿色部分有不同的值。但是我不能够删除这部分,只提取绿色边界。我一步一步学习Matlab编程。所以,我不能够实现这一任务。我附上了一些原始和裁剪图片,供您参考。
谁能帮我完成我的任务。我不能认为任何方法和有严重困在这一部分,都是休息。
谢谢你的时间和支持! !金宝app
OriginalPicture = imread (“D: \测试\ 14 h17 \ 18. jpg);%输入图像
CroppedPicture = imreda (“裁剪”)%输入裁剪照片只有两种颜色
binaryImage = > 130 & R < 150 & G > 150 & G < 180 & B > 110 & B < 150;%宽大的灰色的颜色从绿色到边界
2的评论
kanika bhalla)
2021年7月7日
编辑:kanika bhalla)
2021年7月7日
感谢你您的回复先生
@Image分析师
我真的很抱歉,因为我没有添加代码。我的错误。当小很难添加2 separte文件来描述我如何得到这个自动裁剪图像。但是这里我试图解释清楚我所做的一切。如果我还是错了,请纠正我。
首先,我获得segemnted缺陷部分。然后automatially谈一段周围绘制矩形缺陷。之后,我已经延长了矩形,这样我将留下更少的部分交易和剪裁。然后我做了部分在一个矩形零缺陷,这样我将只剩下两个颜色两个分离。
谢谢您的时间和帮助。
OriginalPicture = imread (“D: \测试\ 14 h17 \ 18. jpg);%输入图像
segmenteddefect = imread (“segmenteddefect”);%我获得这个自动分割的缺陷。因为它是困难的对我来说两添加两个函数文件来描述我如何获得这个自动分割的缺陷。
图;imshow (segmenteddefect)
持有在
为k = 1:长度(信息)
BB = info (k) .BoundingBox;
矩形(“位置”,(BB (1), BB (2), BB (3), BB (4)],“EdgeColor”,“r”,“线宽”2);%画矩形周围获得segemnted缺陷轮廓。
x = BB (1)
y = BB (2)
宽度= BB (3)
身高= BB (4)
结束
持有从;
%步骤2:我已经延长一个矩形,这样我就只剩下更少
%这个颜色。
图;imshow(图片);%画出矩形周围OriginalPicture彩色输入
x = BB (1)
y = BB (2)
宽度= BB (3)
身高= BB (4)
持有在;
矩形(“位置”,x, y,宽度,高度,…
“EdgeColor”,“r”,…
“线宽”3,…
“线型”,“- - -”)
持有从;
x1 =装天花板(x);
x2 =圆(x1 +宽度);
日元=装天花板(y);
y2 =圆(y1 +高度);
%步骤3:我想只有两种颜色。所以我取得了
%矩形帐目零缺陷部分
图像(y1, y2, x1, x2,:) = 0
图;imshow(图片)
%第四步:画biggere矩形
x11 = x1-24
去年= y1-16
width11 = x2 - 410
height11 = y2 - 275
持有在;
h1 =矩形(“位置”日元(x11 width11 height11],…
“EdgeColor”,“y”,…
“线宽”3,…
“线型”,“- - -”)
%第五步:作物黄色的矩形对象,这样我将只剩下
%两种颜色。
I2 = imcrop(图片,x11 y11 width11 height11]);
图;imshow (I2);
%第七步:基于RGB阈值
%(行、列numberOfColorChannels) =大小(I2)
R = I2 (:,: 1);% Crop_image的红色通道
G = I2 (:,:, 2);% Crop_image的绿色通道
B = I2 (:,:, 3);% Crop_image的蓝色通道
持有在;
掩码= > 130 & R < 150 & G > 150 & G < 180 & B > 110 & B < 150;
图;imshow(面具)
%向删除多余的部分
面具(:28:圆(col_im / 2):) = 0;
图;imshow(面具);
答案(1)
kanika bhalla)
2021年7月7日
编辑:kanika bhalla)
2021年7月8日
@Image分析师
@Walter罗伯森
@KALYAN ACHARJYA
@Matt J
@Adam Danz
@Doug船体
@Ameer哈姆萨
@Yair奥特曼
。你能帮我在这。我将会非常感激你。
12个评论
kanika bhalla)
2021年7月7日
我只是寻找任何方法将分离两种颜色,给我绿线阈值边界如图。
正如我在1000年代的图片和一些如下所示,供您参考。所以,我想用同样的方法相同的阈值的所有图像的方法。这是因为我的过程应该是自动适用于所有图像在同一时间。有什么方法阈值或删除不同于绿色部分的背景。希望我的解释是清楚的。请纠正我,如果这一次我也不清楚。
非常感谢你的时间和支持。金宝app
Doug船体
2021年7月7日
编程是一种艺术,把问题分解成越来越小的碎片,可以轻松解决。
你要求一些真正伟大的贡献者本论坛,但无法沟通我们任何你想做的事。我怀疑这是你所面临的问题的根源。
如果你不能清楚地定义文字自然语言的问题对我们来说,还有没有机会可以解释MATLAB代码的形式。
我在MATLAB高度怀疑这个问题是可以解决的,但我不认为我们中的任何一个知道这个问题是什么。
对不起,我想给输入。
kanika bhalla)
2021年7月8日
我工作在一个实时工业项目的自动化visula检查缺陷面板图像。我的任务是自动检查是否存在任何绿色眼镜(我有附图所示),被认为是一个缺陷。在那之后我们需要做激光切割在绿色的眼镜。这个我需要自动生成两条路径(如目标图像所示)可以连接传导线从左向右。
因此,要实现这一目标我将我的问题分成子部分如下所述:
步骤1:我从原始图像自动segemnted缺陷部分。这样做是为了自动生成缺陷周围的矩形轮廓。然后我有自动扩展矩形,这样我只能作物的部分将包含玻璃部分和背景。
第二步:然后我对彩色图像obatined相同的矩形。之后,在矩形裁剪图像。然后矩形缺陷轮廓周围充满了0。他们的想法是一个图像颜色阈值较低。现在我剩下一个戴眼镜的形象部分和背景如图。
我做了这一步,因为我们可以清楚地观察到它留下绿色的眼镜和背景。现在我想thrsehold这张图片,这样我将绿色眼镜阈值范围如下所示:
我获得这个阈值图像由RGB阈值。同样我想thrsehold结果图像。但是我不能得到任何方法能解决我的问题。所有过程都应该自动和适用于所有1000年代的图片在同一时间。
步骤3:现在我有门槛的玻璃部分手动检查眼镜的RGB值和背景。所以,我被困在这部分因为我有手动检查的RGB值附图并得到结果。但是在其他情况下我必须手动更改RGB值阈值玻璃部分。
步骤4:在那之后我有自动计算它们之间的端点画线。但是我被困在步骤3中应用这种方法对所有图像。
所以我寻找一个方法将阈值只有玻璃部分,这样我将计算它们之间的结束点画线,如图。
请帮我在这。我已经尝试了许多方法,但无法解决这个问题阈值的玻璃部分。有什么方法我可以删除所有图片背景部分。
谢谢你这么多的时间和耐心。
Doug船体
2021年7月8日
这个怎么样:
给我们一个明确的输入图像。
然后给我们一个手修改图像每一步。手画出你想要的。
我读过很多次这样的经历,我开始有一个想法,但是我不是很明白你想做什么,。
这是一个沟通的问题,我只是非常小的想法你的流程是什么。
kanika bhalla)
2021年7月8日
回答你的第一个问题,这是一个输入LCD面板缺陷图像。
和我的目标是在绘制线条图如下所示:
我已经画这些线自动如上所示图。但是我必须画这些线在其他图像自动使用相同的代码。因此,我被困在一个步骤方法适用于所有图像。现在我要描述我想一步一步实现。
我想thrsehold绿色部分的边界。我已经表明我试图做的例子。
我有这幅图像阈值基于RGB值。所以,这是不确切的结果。但我想绿色部分的边界有点像上面所示图。
这是另一个例子。
下面是一个示例3:
示例4:
例5:
我已经尝试过许多方法实验室,HSV分割,色差。大津法阈值。这些方法给出的结果,但在一些图片和我必须手动改变阈值。所以,我正在寻找一种方法将适用于我的所有图片。
有没有基于直方图的方法,将删除我的背景部分,绿色部分阈值图像或其他方法来完成我的任务。
因为现在我能够生成路径thta是只在一个图像绘制线条。因为我需要更改其他图像阈值。
如果你想让我添加的代码如何我画线的原始图像,我将愉快地一步一步添加和解释。
请帮我在这。我坚持这部分。
在这里我将一步一步的程序我已经做达到自动生产线。以下步骤手动实现。我所做的那些自动。因此,我在寻找一种可以阈值绿色部分,这样我将所有图片上画线。
kanika bhalla)
2021年7月8日
在伟大的人民的帮助下,现在在论坛。我已经完成我的任务。非常感谢你和matlab社区成员。我只是卡住了,一部分是如何thrsehold绿色眼镜我的方法适用于其他图像。
请帮我。
Doug船体
2021年7月8日
好的,我有一个更清晰的知道你要做什么。
> >在伟大的人民的帮助下,现在在论坛。我已经完成我的任务。
和这个看起来你已经做了这个。
现在我还不清楚,图像,这是要去哪里是错误的?
您正在使用的术语如“绿色玻璃”许多如果美国不subjuect你领域的专家。所以,这对我来说并不意味着什么。
kanika bhalla)
2021年7月8日
我有附加一个图描述了绿色眼镜部分。以下绿色部分基本上是眼镜的图片。我现在清楚的解释。
我有附加的数据在早期的评论是错误的。我想基本上阈值图像绿色眼镜。我有照片在之前的评论。
请纠正我,如果我还不清楚。我很抱歉浪费你宝贵的时间。
一个错误发生
无法完成的行动,因为页面所做的更改。重新加载页面更新状态。
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。