У меня какие-то проблемы, так как я новичок в концепции анализа изображений и в инструменте Matlab.То, что я имею в виду, не работает как строки кода.
Я пытаюсь использовать функцию расширения для двоичных изображений.Это должно расширить данные двоичные изображения.
Это моя главная страница:
I = imread('logo_XXXX.png');
binaryImage = im2bw(I, 0.4);
s = ones(3,3,'int8');
i = dilate(binaryImage,s);
figure, imshow(i);
Это функция dlate.m:
function [i] = dilate(I,s)
[Irows,Icols] = size(I);
i=I;
Itemp = I;
for row=1:Irows
for col=1:Icols
x = intersectAt(Itemp,s,row,col);
if x == 1
i(row,col)=1;
else
i(row,col)=0;
end
end
end
И это istersectAt.m function:
function [i] = intersectAt(I,s,row,col)
[Srows,Scols] = size(s);
[Irows,Icols] = size(I);
i=0;
rowx = row - int8(Srows/2);
colx = col - int8(Scols/2);
for r=1:Srows
for c=1:Scols
if rowx+r <= 0 || rowx+r > Irows || colx+c <= 0 || colx+c > Icols
continue;
elseif I(rowx+r,colx+c) == 1 && s(r,c)==1
i = 1;
end
end
end
Эти коды должны расширять это изображение:
однако, в какой-то момент он не работает должным образом:
Если вы поможете мне исправить мой код, я буду признателен.Если вы хотите узнать о расширении, вы можете следовать этому URL: http://www.mathworks.com/help/toolbox/images/f18-12508.html
Matlab имеет эту функцию в своей библиотеке, но мне нужно реализовать свою собственную функцию.