如何获取阈值图像分离两种颜色使用相同方法为所有不同类型的附加图片。

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)
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)
kanika bhalla) 2021年7月7日
编辑:kanika bhalla) 2021年7月8日
12个评论
kanika bhalla)
kanika bhalla) 2021年7月8日
我真的很抱歉再次清楚的解释 @Doug船体
我有附加一个图描述了绿色眼镜部分。以下绿色部分基本上是眼镜的图片。我现在清楚的解释。
我有附加的数据在早期的评论是错误的。我想基本上阈值图像绿色眼镜。我有照片在之前的评论。
请纠正我,如果我还不清楚。我很抱歉浪费你宝贵的时间。

登录置评。

类别

找到更多的在历史竞赛帮助中心文件交换

下载188bet金宝搏


释放

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!