【发布时间】:2017-04-07 21:19:29
【问题描述】:
我想使用 Matlab 从绘图中提取曲线。我想选择我想提取的曲线的颜色,然后输出它们的坐标。我意识到为相对图完成此操作很复杂,因此我需要的只是像素位置。从那里我可以分析它们对应的内容。提供了一个示例图像,我想在其中获取红色曲线,并将它们的位置输出到文本文件。
对此的一个非常好的补充是对提取的像素进行“曲线拟合”。提取的图形值很可能来自您的数字数据具有宽度的 +5 像素宽度曲线。将这种行为平均化并精简数据将是理想的选择。
红色是曲线上的像素,蓝色是要提取的有效像素。我认为这是通过两种方式完成的:对图像进行转换,然后提取值,反之亦然。我不确定哪个会更好。
【问题讨论】:
-
您知道它们会按扫描线顺序出现吗?我的意思是图像第一行中的所有红色像素,然后是第二行中的所有红色像素,依此类推。
-
@MarkSetchell 好吧,在 MATLAB 中按列顺序排列。摩根船长,看起来这张图与
Img(:,:,1) & ~Img(:,:,2)配合得很好。您的所有图表都会如此漂亮和整洁吗? -
这在 Matlab 中是可行的,但如果这是一项一次性任务,我建议使用网络应用程序“WebPlotDigitizer”,您可以在其中以高精度手动完成。如果您使用 Matlab 制作,相交的红线会让您的生活变得更加复杂。
-
@Mark 没关系。我不关心顺序,我只需要单一颜色的所有实例的位置。 @beaker 是的,大多数都会这么整洁。也许还有两两种其他颜色,但大多数都是“简单”的。
标签: matlab image-processing extraction