Есть ли способ сократить время обработки пиксельного кода разделителя? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь преобразовать изображение в набор массивов, которые могут быть полезны для цифровой обработки и анализа в коммерческих целях.Код уже создан, и он работает, но есть ли способ сократить время, необходимое для выполнения кода?

Это последний этап для коммерциализации новой формы технологии, которая потребуетучитывать анализ в реальном времени изображений, снятых по этой технологии.

function pixelseperator()

clear all

close all
Image=imread('flirpolarcamtest3.png');


Image=uint16(Image);
[m,n]=size(Image);
Imagex=zeros(m/2,n/2);
Imagexrows=zeros((m/2),1);
col=1;
for ni=1:2:n-1
    row=1;
    for mi=1:2:m-1
      Imagexrows(row)=Image(mi,ni);
      row=row+1;   
    end
col=col+1;    
Imagex(:,col)=Imagexrows;
end
Image0=Imagex;

Среднее время, необходимое для активации кода, составляло примерно 0,74 секунды, что ожидалось, но слишком долго для требуемого времени.и содержит слишком много промежуточных, что делает код немного избыточным.Я ищу способ сократить избыточность и, следовательно, сократить время, затрачиваемое на обработку.

1 Ответ

0 голосов
/ 29 января 2019

Ваш код идентичен:

Image = imread('flirpolarcamtest3.png');
Image0 = uint16(Image(1:2:end-1,1:2:end-1));

Я не знаю, почему ваши циклы идут к n-1 и m-1, а не к n и m.Для изображений четного размера это будет то же самое, но для изображений нечетного размера вы пропустите одну строку и один столбец, используя ваш код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...