我是 matlab 的初学者,目前正在编写一个脚本,用于从热成像视频中提取数据。
首先,视频被切割成单独的帧。第一帧作为样本图片打开,用于定义采样点的坐标。然后目标是从一组帧中选择那些定义坐标的 rgb 值并将它们保存到矩阵中。
现在我有一个问题,将矩阵分离为 n 个较小的矩阵。例如,我将要选择的点数定义为 n=2 ,图片计数为 31。现在它返回一个矩阵,说明 62x3 双矩阵中 31 张图片的 rgb 代码,每张图片有 2 个点...
现在我想将第 1、3、5 ......等行提取到一个新矩阵......这应该在一个循环中完成,根据 n 点的数量......例如每个 5 个点图片等于5个矩阵,包含31张图片的值......
这是我分析图片的代码的摘录,它返回矩阵“值”
files = dir('*.jpg');
num_files = numel(files);
images = cell(1, num_files);
cal=imread(files(1).name);
n = input('number of selection points?: ');
imshow(cal);
[x,y] = ginput(n);
eval(get(1,'CloseRequestFcn'))
%# x = input('x-value?: '); manual x selection
%# y = input('y-value?: '); manual y selection
for k = 1:num_files
images{k} = imread(files(k).name);
end
matrix=cell2mat(images);
count=(0:size(matrix,1):size(matrix,1)*num_files);
for k = 1:num_files
a(k)= mat2cell(impixel(matrix,x+count(k),y));
end
values = cat(1,a{:})