【发布时间】:2018-11-09 12:28:08
【问题描述】:
很遗憾,我不是太精通技术,只有基本的 MATLAB/编程背景...
我在一个文件夹中有几个 csv 数据文件,并且想同时制作所有这些文件的直方图以便比较它们。我不知道该怎么做。网上一些挖掘给出了一个脚本:
d=dir('*.csv'); % return the list of csv files
for i=1:length(d)
m{i}=csvread(d(i).name); % put into cell array
end
问题是我现在不能简单地编写histogram(m(i)) 命令,因为 m(i) 是一种单元格类型而不是 csv 文件类型(我不确定我是否正确使用了这个术语,但 MATLAB 绝对不是接受前者)。
我不太确定如何进行。事实上,我不确定元素 m(i) 的本质是什么,以及我能/不能用它们做什么。 histogram 命令需要一个矩阵输入,所以大概我需要一个“矩阵向量”和一个在单独的图中绘制每个向量元素(即矩阵)的命令。我总共有大约 14 个,这相当多并且需要很长时间才能加载,但我不确定如何更有效地进行。
概括问题:
稍后我将编写一个脚本来减少噪音并平滑 csv 文件中的数据,并将其二值化(csv 文件适用于形状模糊的嘈杂图像,我想通过设置剪切来区分这些形状off 用于 csv 矩阵中的像素强度/值,例如创建显示这些形状的二进制图像)。理想情况下,我想一次将其应用于我文件夹中的所有图像,这样我就可以转移出哪些图像最适合分析。所以我的问题是,我怎样才能运行一个包含我文件夹中所有 csv 文件的脚本,以便我可以一次比较它们?我认为我用于直方图的任何技术也适用于此,但我不确定。
编写一个脚本可能会更好: - 为文件夹中的每个 csv 文件制作直方图和/或运行二值化脚本 - 并将所有图像放入一个新的指定文件夹中,这样我就可以筛选这些。
我将非常感谢有关如何执行此操作的指示。正如我所提到的,我对编程很陌生,在查看建议时会感到不知所措,看到各种不同的命令显然可以实现相同的目的——一次读取多个文件。
【问题讨论】: