我想从均匀分布的2D数据(类似图像的数据)的单个轮廓中获取数据。
基于在类似问题中找到的示例:如何获得轮廓图(matplotlib)绘制的线的(x,y)值?
>>> import matplotlib.pyplot as plt
>>> x = [1,2,3,4]
>>> y = [1,2,3,4]
>>> m = [[15,14,13,12],[14,12,10,8],[13,10,7,4],[12,8,4,0]]
>>> cs = plt.contour(x,y,m, [9.5])
>>> cs.collections[0].get_paths()
该调用的结果cs.collections[0].get_paths()
是:
[Path([[ 4. 1.625 ]
[ 3.25 2. ]
[ 3. 2.16666667]
[ 2.16666667 3. ]
[ 2. 3.25 ]
[ 1.625 4. ]], None)]
基于这些图,此结果是有意义的,并且似乎是轮廓线的(y,x)对的集合。
除了手动遍历此返回值,提取直线的坐标并组装线的数组以外,还有更好的方法从matplotlib.path
对象取回数据吗?从中提取数据时是否有陷阱要注意matplotlib.path
?
或者,是否有其他选择matplotlib
或更好的选择numpy
/scipy
做类似的事情?理想的做法是获取描述该线的(x,y)对的高分辨率矢量,该矢量可用于进一步分析,因为通常我的数据集并不像上面的示例那样小或简单。
对于给定的路径,您可以得到以下几点:
p = cs.collections[0].get_paths()[0]
v = p.vertices
x = v[:,0]
y = v[:,1]
我想提取图像的轮廓,用点坐标序列表示。 使用,我能够生成一个只包含图像边缘的二进制图像。然后,我尝试使用来提取轮廓。不过,结果并不好。 对于每一条边,我通常得到两条线,就像它被认为是一个非常薄的区域一样。我想简化我的轮廓,这样我可以把它们画成单线。或者用不同的函数提取它们,直接产生正确的结果会更好。 我查看了OpenCV的文档,但没有找到任何有用的东西,但我想我不是第一个遇到类似问题的人。有什么功
我想检查每个Canny检测到的边缘,并寻找其中的主线(以检查它们是否似乎形成矩形,例如,如果2对线是平行的等)。)。 Imgproc。HoughLinesP做了我想要的,但它给出了整个图像的线条,我想知道哪些线条来自相同的边缘。 我也尝试了FindContour,并用大约PolyDP在每个轮廓中寻找主线,但这看起来不合适,因为Canny检测到的边缘经常有缺口。这给出了边缘的轮廓,而不是边缘本身。
问题内容: 我正在尝试使用以下格式的文件的matplotlib绘制轮廓图: x1 y1 z1 x2 y2 z2 等等 我可以用numpy.loadtxt加载它以获得向量。到目前为止,没有问题。 我阅读了这篇文章以了解如何进行绘制,并且可以通过复制粘贴来复制它,因此,我确定我的安装没有错: http://matplotlib.org/examples/pylab_examples/griddata_
主要内容:1. outline-style,2. outline-width,3. outline-color,4. outline,5. outline-offset轮廓(outline)是绘制于元素周围的一条线,位于边框的外围(紧贴着边框),主要用来突出显示某个元素,如下图所示: 图:轮廓(outline) 轮廓和边框看起来非常相似,但它们之间也并非没有区别,例如: 元素上下左右四个方向上边框的样式、宽度、颜色可以单独设置,而轮廓在元素四个方向的宽度、样式、颜色都是相同的,不能单独设置; 边
我有2个URL,其中1个特定于Dev,另一个特定于Prod。我也在使用Spring profiling,其中我有一个单独的文件用于Dev和Prod application-Dev。性能和应用-prod。属性和我的应用。对于Dev env,属性文件如下所示 spring.profiles.active=dev 现在在我的java代码中,我想有一个属性,它将根据我使用的Spring配置文件绑定到适当的
本文向大家介绍C语言实现opencv提取直线、轮廓及ROI实例详解,包括了C语言实现opencv提取直线、轮廓及ROI实例详解的使用技巧和注意事项,需要的朋友参考一下 一、Canny检测轮廓 在上一篇文章中有提到sobel边缘检测,并重写了soble的C++代码让其与matlab中算法效果一致,而soble边缘检测是基于单一阈值的,我们不能兼顾到低阈值的丰富边缘和高阈值时的边缘缺失这两个问题。而c