Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 几何图形图像的非线性近似_Python_Opencv_Image Processing_Scikit Image_Edge Detection - Fatal编程技术网

Python 几何图形图像的非线性近似

Python 几何图形图像的非线性近似,python,opencv,image-processing,scikit-image,edge-detection,Python,Opencv,Image Processing,Scikit Image,Edge Detection,我试图用图形或理想(但不一定)函数来近似添加制造中焊道几何横截面的不同形状。区域是外部形状以及各个层。(见下图) 因此,我应用了一些预处理方法来提取代表焊道几何形状的相关像素,这些像素显示为白色像素。(见第三幅图) 我通过canny边缘检测和多种形态学操作(如之前的闭合腐蚀和膨胀)导出了这张图像,当然,还将其转换为灰度 “噪音”区域是金属各层之间的过渡区域,仅以这种方式显示,因此一般来说,在“噪音”较少的情况下,没有“更好”或“更尖锐”的过渡。图3和图4是我使用的一些图像预处理方法的示例

我试图用图形或理想(但不一定)函数来近似添加制造中焊道几何横截面的不同形状。区域是外部形状以及各个层。(见下图)

因此,我应用了一些预处理方法来提取代表焊道几何形状的相关像素,这些像素显示为白色像素。(见第三幅图) 我通过canny边缘检测和多种形态学操作(如之前的闭合腐蚀和膨胀)导出了这张图像,当然,还将其转换为灰度

“噪音”区域是金属各层之间的过渡区域,仅以这种方式显示,因此一般来说,在“噪音”较少的情况下,没有“更好”或“更尖锐”的过渡。图3和图4是我使用的一些图像预处理方法的示例

到目前为止,我处理内部几何体的主要方法是将图像分割成几个子图像,并通过将白色像素解释为数据点,对每个子图像执行最小二乘回归。之后,我将所有这些小近似函数缝合在一起,形成原始大小的图像。我试过用不同大小的子图像。(见图5和图6)

然而,这种方法会在函数之间以及相邻的函数之间产生跳跃,在我的例子中,像素或数据点应该只使用一个函数进行近似(见附图)。我的下一个方法是在子图像上使用多元自适应回归

因此,我在问是否有人知道我的问题的更好的解决方案,甚至可能是在不将图像分割成子图像的情况下在全局范围内进行近似。近似不需要是多项式函数,分段线性但连通函数是完全足够的。如果有人知道一种至少能够实现我想做的事情的方法,我将不胜感激。是否采用纯非线性回归方法。不幸的是,我没有很多图像(只有64个),因此我认为我不能使用ANN。(如果我错了,请纠正我)


如果您需要查看我的代码,请告诉我。谢谢!:)

我能得到的最好结果是双边滤波去噪,然后自适应二值化

在缩小的图像上:


预处理可能会破坏图像中的大部分可用信息。我们需要原始图像和预期结果的手绘图。在我看来,你的XY问题太多了。我是stackoverflow的新手,所以我不确定是在这里发布答案还是编辑我的原始问题。因此,我将编辑我的原始帖子,以便您可以再看一眼。非常感谢你看了我的问题!预处理可能会破坏图像中的大部分可用信息。我们需要原始图像和预期结果的手绘图。在我看来,你太过专注于XY问题了。我现在更新了我原来的帖子:)谢谢你,这一点现在更清楚了。哇,这看起来比我通过预处理获得的效果要好得多。我用你的图像预测了每个过渡区域的位置,我正在使用另一种方法,因为我的最终目标是测量每个层的焊道高度。它工作得好多了,非常感谢!我将通过回答我的问题向您展示我的结果。您可以发布生成此结果的代码吗?:)再次感谢@PhilE:是用专有软件包制作的。好的,没问题,我会用cv2库试试你的建议。但是,如果我无法重新创建您的结果,是否可以将我的照片发送给您,以便您可以对其进行预处理?总共会有64幅图像。@PhilE:呃,如果需要调整参数,这至少需要一个小时的工作!