Info

此问题已关闭。 请重新打开它进行编辑或回答。

fix a center of gravity loop

2 次查看(过去 30 天)
BA
BA 2022-7-27
关闭: Image Analyst 2022-7-28
imshow(matrix(:,:,1))
%identify axes
[x, y] = ginput(2);
% preallocate matrices
cog = zeros(size(matrix,3),1);
% the loop does not work and the error in the cog(i) line
% loop start
for i = 1:size(matrix,3)
I = matrix(:,:,i);
test = improfile(I,[x(1) x(2)],[y(1) y(2)]);
%the error comes from this line
cog(i) = sum((1:length(test)).*test)/sum(test);
% loop end
end
scog = (cog - min(cog)) / (max(cog) - min(cog));
  1 个评论
Matt J
Matt J 2022-7-27
You need to demonstrate the code and show us the error messages.

采纳的回答

David Hill
David Hill 2022-7-27
cog(i) = sum((1:length(test)).*test')/sum(test); %need to transpose test' to match dimensions
  1 个评论
BA
BA 2022-7-27
编辑:BA 2022-7-27
Fab. it works perfectly. I have another question: what is the equivalent of 'improfile' in octave? I mean to change the 'improfile' line to work in octave

更多回答(0 个)

此问题已关闭。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by