2013-11-18 4 views
0

У меня есть проблема программирования вне досягаемости моего самого заикающегося опыта Matlab. У меня есть список изображений и список ROI маски в массиве ячеек, и я хочу, чтобы извлечь среднее значение пикселя каждого 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 

Это работает, но очень медленно (< 5min), у меня есть 400 изображений для обработки с 200 длинными ячейками массивов масок (200 ROI). Я уверен, что это связано с плохим дизайном, поскольку Matlab широко используется для таких задач обработки изображений, но я не могу понять, какой еще доступный способ сделать это, спасибо заранее.

ответ

0

насчет:

files=dir('*.tif'); 
for f=1:length(files) 
    image=im2double(imread(files(f).name)); 
    masked=cellfun(@(x) image.*x, mask); 
    stats{f}=cellfun(@(x) regionprops(x, 'MeanIntensity'), masked); 
end 

Я не сделал тест два подхода, так что я не знаю, если это более эффективно.

+0

Спасибо за ваш быстрый ответ, но он не может работать, поскольку я хочу применить функцию «masked» к каждой ячейке моего массива масок в одном и том же изображении: другими словами, мне нужно применить функцию по всей маске сохраняя изображение неизменным и повторяя все мои изображения. Следовательно, мой цикл «for» в списке изображений. – user2319639

+0

Я вижу. Я отредактировал его соответствующим образом. Опять же, я не знаю, эффективна ли «regionprops». –

+0

Спасибо, что обратил мое внимание на метод regionprops, о котором я не знал ... Но на самом деле это занимает в два раза больше времени, чем моя функция extractROIpixel. – user2319639

Смежные вопросы