【发布时间】:2013-11-19 02:23:31
【问题描述】:
我遇到的编程挑战超出了我结结巴巴的 Matlab 专业知识的能力范围。我有一个单元格数组中的图像列表和 ROI 掩码列表,我想分别提取每个 ROI 的平均像素值, 我的代码是这样的:
files=dir('*.tif');
for f=1:length(files)
image=im2double(imread(files(f).name));
pixel_value(:,f)=cellfun(@(x) extractROIpixel(x,image), mask);
% apply extractROIpixel on each cell of the mask array
end
function [ mean_pixel_value ] = extractROIpixel( mask, img )
mask=im2double(mask);
mask(mask == 0) = NaN;
mask_area=mask.*img;
mean_pixel_value=mean(mask_area(~isnan(mask_area)));
end
这可行,但速度很慢(
【问题讨论】: