从Vid测量裂纹的扩展速率

2024-05-16 12:17:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我的实验包括给一种物质施加压力,使其最终破裂。裂纹随着时间和压力的增加而扩展。我有一个装置,可以在固定的时间间隔内对物质拍照。你知道吗

我需要测量一下裂缝有多快成长。如何成长我该怎么办?(我可以用Python编写代码)。你知道吗

有没有办法测量裂纹从一个框架到另一个框架的活速度或扩展速度? enter image description here

谷歌驱动器链接到一系列图片拍摄-https://drive.google.com/open?id=189cv8B4rm3lhSgT6OYfI_aN0Xmqi-tYi

请告知。你知道吗

我根据这个问题的建议尝试了OpenCV的floodFill。但返回的掩码如下所示:

enter image description here

h, w = resized.shape[:2]
mask = np.zeros((h+2, w+2), np.uint8) 
seed = (int(w/2),int(h/2))

# Floodfill from point (0, 0)
num,im,mask,rect = cv2.floodFill(resized, mask, (0,0), (255,0,0), (10,)*3, (10,)*3, floodflags)

我想如果我能得到包围裂缝的矩形框的坐标,我就能追踪它在框架上的坐标,测量裂缝的大小,最终测量速度。你知道吗

我尝试了如下阈值设置:

th, im_th = cv2.threshold(im, 100, 255, cv2.THRESH_BINARY);

这将提供: enter image description here

我不确定这是否能让我过滤掉背景,并在裂缝上单独画一个边界框。请告知。你知道吗

提前谢谢。你知道吗


Tags: 框架np时间maskcv2速度int物质
3条回答

使用适当的分割方法,您将从单个帧中提取对象的详细几何图形。例如:

enter image description here

如果处理多个帧,您将能够看到几何体在时间上的演变。因此,比较多边形以发现形状变化、裂缝等应该很容易:

enter image description here

我曾经与4K视频工作,以获得所有必要的细节和良好的准确性。您可能不需要所有这些数据,但视频仍然更加灵活。你知道吗

下面是一个完整的示例:https://youtu.be/g2KyfrBtTA4

如果您想获得更详细的建议,请提供一些示例。你知道吗

更新

实例总是有用的。因此可以分割裂缝:

enter image description here

或物质: enter image description here

或两者兼有: enter image description here

基本上,您需要提高输入的整体质量(焦点、内容下的背景等)。你知道吗

正如Mark Setchell所示,你可能会得到不需要的背景作为结果形状的一部分(裂缝的右侧),所以最好确保不会发生这种情况,或者只是试着只分析物质。你知道吗

不管怎样,你的任务似乎并不复杂。如果你能提高图像质量并对环境做一些简化(一些特定的背景等),这可能是微不足道的。你知道吗

我很感激你只是刚刚开始,但你有一些问题,你的视频。首先,它的照明不是最好的,它是不一致的,因为人们在它前面走动,投下阴影-它也不能最好地照亮裂缝后面的背景-它会更好,如果它在裂缝的高度,更多地照射到它,使它更好地照亮裂缝后面的背景。第二,你可以不用相机在实验中移动一部分!你知道吗

最后,如果你想测量你需要校准的东西,这至少意味着在图像中放置一把尺子,或者在你的背景上以固定的间隔放置一条刻度线。如果你做了所有这些,你也可以让自己的生活更轻松,并把一个特定的颜色/模式的标记,都不同,在顶部和底部的框架板是应用负载。你知道吗

最后,你要做一些类似于泛光填充,或者仅仅在你的材料范围内填充(可能通过掩蔽),用不同的颜色填充裂缝。测量裂纹的长度和最左边的裂纹范围是非常简单的。你知道吗

enter image description here

根据裂纹形成的速度,您可能不需要视频;您可能会每X帧采样一次,然后将所有多余的帧都扔掉。你想要的是足够的帧来获得裂纹中的“增量”变化,而不会得到太多的帧,从而导致计算成本太高。你知道吗

  1. 如果你能在你的设置中小心地控制照明条件,那么你就很幸运了!这就变成了一个非常简单的问题。您可以获取像素的直方图(openCV对此有控制柄,但PIL和numpy也有控制柄);您应该获得两个颜色族;一个是物质外部的颜色,另一个是由裂缝中的阴影偏移的颜色。你知道吗

    您还可以尝试大幅增加每个图像/帧中的对比度,以获得裂缝的二值遮罩,或者在图像上运行edge detector。这些技术将产生比原始画面更容易处理的画面。您甚至可以将这些输入到骨架化过程中,以便在XY图像坐标中生成基于向量的线表示。

  2. 如果你不能控制光线,或者样品的颜色与裂缝相似,你可能需要使用object detection技术,但不太可能有一个现有的“裂缝探测器”,所以你可能需要建立自己的,或者寻找其他探测器作为形成裂缝的颜色和形状的良好代理。

如果可能的话,我强烈建议尝试第一种方法;像素和直方图数学比其他技术简单得多。你知道吗

相关问题 更多 >