我正在尝试使用我的matlab脚本将X和Y分成两个文件,但我不确定如何将它们分开。我的代码如下所示:
close all
clear all
clc
jpgFiles = dir('*.jpg');
numFiles = length(jpgFiles);
mydata = cell(1,numFiles);
% mydata = zeros(numFiles);
for k = 1:numFiles
mydata{1,k} = imread(jpgFiles(k).name);
end
% initialize your array of coordinates
data = zeros(30,2,numFiles);
for k=1:numFiles
figure;
imshow(mydata{k});
[x, y] = ginput(30) %select 30 points on the image and return the
%xy coords in return
data(:,:,k) = [x y]; %save the xy coords as data matrix
end
%Get data into a csv text file for easy export to excel
filename = 'test.csv';
csvwrite(filename,data)
我试图将"data(:,:,k) = [x y];"
写成2行,一行用x,一行用y,但这不起作用。
任何人都可以帮助我,因为它会节省我很多时间,因为我只需要Y信息。
答案 0 :(得分:0)
使用[x y]
连接变量x
和y
,例如
x =
1
2
3
和
y =
3
2
1
,然后[x y]
将导致
ans =
1 3
2 2
3 1
由于您只需要y
坐标,只需不要执行此操作;-)将data
初始化为只有1列,而不是2列:< / p>
data = zeros(30,1,numFiles);
并使用
写入data(:,:,k) = y;
-
或者,如果您 需要x
信息用于其他目的(我不能100%确定您的问题是什么意思,所以这里有一个方法,如果你的意思是那样),那么你不想做我上面提到的改变。而是使用
data
的第二列写入CSV文件
csvwrite(filename,data(:,2,:))
这意味着:只占data
的第二列,并将其写入filename
。