2016-04-22 4 views
0

У меня есть следующий код, с помощью которого я импортирую кадр из фильма, конвертирую в оттенки серого и рисую по свободной области интересующей области. Затем я использую область Chan-Vese, чтобы получить интересующую меня область и создать маску на основе этого. Я могу, наконец, получить двоичное изображение, которое я ищу, которое называется кодом BW3 в коде. Теперь это глупая часть. Как создать цикл таким образом, чтобы код выполнялся (загружать кадры с 1 по 58), представить мне изображение в градациях серого для кадра 1, разрешить рисовать интересующую область, а затем создать и сохранить окончательное двоичное изображение BW3? С уважением, JСоздайте петлю, чтобы создать рендеринг ROI

% Select Initial Image 
for n = 5:87 
frame = read(obj,n); 


%Isolate the Blade 
imggray = rgb2gray(frame); 
h_im=imshow(imggray); 

%Region of interest 
% r = imrect(gca,[646,188,18,-648]); 
% BW2 = createMask(r,h_im); 

hROI = imfreehand(gca); 
Position = getPosition(hROI); 
BW2 = createMask(hROI); 

%Get blade Binary 

BW3 = activecontour(imggray, BW2, 1000, 'Chan-Vese'); 

% Fill Holes 
BW3 = imfill(BW3, 'holes'); 

% Form masked image from input image and segmented image. 
maskedImage = h_im; 
maskedImage(~BW3) = 0; 

%Save binary frame 
filename = sprintf('C:..........\\binaryimage%d.png', n); 
imwrite(BW3,filename,'png'); 
end 

ответ

0

Если предположить, что у вас есть ограниченное количество кадров (т.е. до 58), вы могли бы просто использовать цикл для достижения этой цели. В вашем коде вам придется изменить исходный код изображения, чтобы он повторялся с циклом.

for counter=1:58 
    frame=read(obj,counter); 
    imwrite(frame,strcat('frame',num2str(counter),'.png')) 
    .....% the remainder of your code likely remains unchanged. 
end 

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

+0

Привет, мне удалось это сделать сам. См. Измененный код. По какой-то причине я просто немного потерялся и не мог понять. еще раз спасибо – jer

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