Matlab - Построение определенных пикселей (обработка изображений) - PullRequest
0 голосов
/ 29 октября 2019

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

Я постараюсь разобрать проблему в отношениисделать его более понятным:

  1. У меня есть исходное изображение ( figureB - это синяя линия исходного изображения ) размера NxM, из этого изображения я выбираюопределенная область для изучения ( NewfigureB ), размер 120x170;

  2. Затем я делю эту область на так называемые макропиксели , которые представляют собой массивы 10x10точек данных (пикселей);

  3. Затем я применяю маску к выбранной области, чтобы выбрать только точки, соответствующие определенным условиям свечения;

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

Пока это то, что я придумал. Любая помощь будет принята с благодарностью.

Большое спасибо

%Make the number of pixels in the matrix divisible
Macropixel = 10; %determine the size of the macropixel
[rows,columns] = size(figureB); %determine dimentions of the matrix used in the calculations
MacropixRows = floor(rows/Macropixel); %determine how many macropixels are in a row of the original matrix
MacropixColumn = floor(columns/Macropixel); %determine how many macropixels are in a column of the original matrix

%define new dim for the matrix
rows = MacropixRows * Macropixel;
columns = MacropixColumn * Macropixel;
NewfigureB = figureB(1:rows,1:columns); %divisible by the size of the macropixels created

%select area 
NewfigureB = NewfigureB(1230:1349,2100:2269);

%create luminescence mask
Lmin=50;
hmax=80;
mask=false(size(NewfigureB));
mask(NewfigureB <Lmin)=true;
mask=mask & (NewfigureB<hmax);

%Apply mask
NewfigureB=NewfigureB(mask);


    for jj = 1:Macropixel:120
        for ii =1:Macropixel:170 
        histogram( NewfigureB(jj:jj+Macropixel-1, ii:ii+Macropixel-1))
        end
    end'''


...