Я пытаюсь сделать динамическое пороговое значение, но появляется ряд ошибок. Я пытаюсь адаптировать из этого кода: http://www.inf.ed.ac.uk/teaching/courses/ivr/lectures/ivr5hand.pdfMatlab - Dynamic Thresholding
function [Output ] = dinamicthresh()
[filename,pathname] = uigetfile('*.bmp; *.jpg', 'Please select an image file');
I=fullfile (pathname,filename);
I=imread(I);
I=rgb2gray(I);
I=im2double(I);
[H,W]= size(I);
Output= zeros(H,W);
halfH=round(H/2);
halfW=round(W/2);
for i= H:H
for j = W:W
C = I(i-halfH:i+halfH,j-halfW:j+halfW);
adaptative_thresh = mean(mean(C)) - 12;
if I(i,j) < adaptative_thresh
Output(i,j)= 1;
else
Output(i,j)= 0;
end
end
end
subplot(1,2,1);imshow(I);title('Original Image');
subplot(1,2,2);imshow(Output);title('Adaptive Thresholding');
end
Могли бы вы предоставить некоторые информ об ошибках вы получаете и то, что часть коды дает вам ошибку? –
В ваших циклах 'for' есть диапазоны' H: H' и 'W: W' ... каждый из них выполняется один раз. Это выглядит подозрительно. Я бы ожидал чего-то вроде «1: H» и «1: W». – beaker