Kmeans集群检测壶穴

18视图(30天)
默罕默德Zulkifli
默罕默德Zulkifli 约19小时前
回答: 图像分析 约6小时前
嗨。
如何使用K段壶穴的图像聚类方法。你能共享代码和步骤去做。
我做什么现在是调整到300 x300然后把它转换成灰度高斯噪声过滤。谢谢你!
% %图像采集
我= imread (“69. jpg”);
= imresize (Im (300 300))
% % RGB灰度
b = rgb2gray(一个);
次要情节(221);
imshow (b)
impixelinfo
% %高斯滤波器
c = imnoise (b,“高斯”,0.01,0.003);
次要情节(222)
imshow (c)
impixelinfo
% %图像分割(Canny_edge))
BW c > = 160;
BW = imclearborder (BW);
BW = bwpropfilt (BW,“区域”(2500、20000));
se = strel (“球”5);
BW = imdilate (BW, se);
次要情节(224)
imshow (BW)
% BW:圆,钥匙孔形的腔长
% ~ BW:背景
% %边界框
labeledImage = bwlabel (BW);
测量= regionprops (labeledImage,的边界框(“大小),“区域”);
k = 1:长度(测量)
thisBB = (k) .BoundingBox测量;
矩形(“位置”,(thisBB (1) thisBB (2), thisBB (3), thisBB (4)],
“EdgeColor”,“r”,“线宽”,2)
结束
次要情节(223)
imshow (labeledImage)

答案(4)

KALYAN ACHARJYA
KALYAN ACHARJYA 7分钟前
编辑:KALYAN ACHARJYA 7分钟前
请改变k号码段,最适合你的情况。
我= imread (“image_pathhole.jpeg”);
k = 3;
[L,中心]= imsegkmeans (I (k);
结果= labeloverlay (Im, L);
imshow(结果);标题(“标记图像”)
#通过改变最小面积大小
BW = bwpropfilt (BW,“区域”(100、20000));
在分割,实现基于尝试以多种方式接受正确的结果,这是最合适的。在某些情况下,简单的方法有更多的令人印象深刻的结果。

沃尔特·罗伯森
沃尔特·罗伯森 约3小时前
编辑:沃尔特·罗伯森 约1小时前
为了做到kmeans集群,您需要一个二维数组中每个位置的信息特征聚类。集群的每个位置都需要有自己的行数组中。
在典型的例子比如费舍尔虹膜数据集,信息反映了不同的物理特性,如花瓣的宽度。费舍尔虹膜数据集 包括任何信息在地理上任何特定样本收集,所以一般来说包括位置信息并不总是必要的。
图像时,是很常见的一个像素的唯一信息是行数,列数,灰度或R G B组件。在某些情况下,如确定突出的颜色,图像中的位置无关(相同的颜色将突出的如果你对像素进行排序。)在这种情况下,你只会包含颜色信息,没有位置信息。
如你的情况,如果这个任务被确定 凹坑装满水 而不是 凹坑 然后它可以帮助很多如果你有一个多光谱图像与红外通道。
但是你还没有定义“壶穴”。一个“壶穴”的目的是什么?如果有一个孤立的湿像素,将构成一个“壶穴”本身?或有最低物理相邻像素的大小来确定一个坑?如果有很长一段狭窄的裂缝在路上,可能被认为是一个坑,还是有一个最小长度和宽度要考虑一个坑?如果有一个 减少在路上,应该被视为一个坑吗?
如果地理位置并不重要,如果你可以确定凹坑逐像素的基础上没有提及相邻像素,那么你将需要建立一个数组,包括信息,每一个像素,像素的x和y坐标,以及任何你有可用的像素强度信息,它可能有助于使用RGB代替灰度。例如,
[r、c、s] =找到(b);% b是你的灰度图像
data = [r、c、s];
[idx,中心]= kmeans(数据,NUMBER_OF_CLUSTERS);
坦率地说,结果应该将crud。几率很高,你要确定“壶穴”,一些地区的信息,比如通过搜索对象与特定的纵横比。

为副总经理
为副总经理 约1小时前
编辑:为副总经理 约1小时前
我不知道为什么你会使用kmeans来做到这一点。任何像素的颜色绝对没有告诉你它是否属于一个坑。你可以使用本地的对比信息找到漏洞,而是告诉我你已经知道这一点。
inpictrgb = imread (“//www.tatmou.com/matlabcentral/answers/uploaded_files/1383684/image.jpeg”);
inpict = im2gray (inpictrgb);
%得到粗略的面具
G = imgradient (inpict);
可= G < 70;%找到平滑区域
%清理的面具
se = strel (“矩形”[5]11日);
可= imopen(可,se);
可= imclose(可,se);
可= bwpropfilt(可“定位”,-10年[10]);
可= bwareaopen(可,1000);
imshow(可“边界”,“紧”)

图像分析
图像分析 约2小时前
@Muhammad Zulkifli 我同意为副总经理和沃尔特上面的答案,但需要说明的是,它只能坑洞里面装满水,有统一的颜色。换句话说,可能只是一个形象,一般不会强劲的其他图像。例如如果凹坑干/空,这种方法(寻找光滑均匀彩色地区)将不会工作。
真的只健壮的(或更健壮的)的方法(使用水或空凹坑)如果你有地形(高度)的数据。即便如此,如果回去与相当大萧条道路并不平坦,但只是整体很粗笨的/崎岖不平,那么定义什么是壶穴甚至变得非常棘手的或任意。
但如果这不是一个现实世界的问题,只是一些练习或作业类和所有你有图片看起来非常类似于这个,那么上述3方法可能的工作。只是不要期望去你的交通部壶穴探测提议出售road-scanning车辆与这样一个简单的算法。

标签

下载188bet金宝搏

社区寻宝

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

开始狩猎!