ВУЗ:
Составители:
61
Инициализация весовой матрицы случайными числами из промежутка
[–0.3,0.3]:
procedure TMainForm.BtnInitRandomClick(Sender: TObject);
var i,j:integer;
begin
for i:=0 to n-1 do
for j:=0 to n-1 do
weights[i,j]:=-0.3+0.6*Random;
SBStatus.SimpleText:='Âåñà èíèöèèðîâàíû ñëó÷àéíûìè ÷èñëàìè';
end;
Заполнение входного вектора по изображению на сетке:
procedure TMainForm.DGImgSelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
begin
imgmatrix[Arow,Acol]:=abs(1-imgmatrix[Arow,Acol]);
end;
Масштабирование и выравнивание (локализация) изображения:
procedure TMainForm.BtnScaleClick(Sender: TObject);
var
i,j:integer;
xmin,xmax,ymin,ymax:integer;
tmp:bmatrix;
begin
for i:=0 to n-1 do for j:=0 to n-1 do tmp[i,j]:=0;
// èùåì ãðàíèöû êâàäðàòа, ограничивающего ðèñóíок
xmin:=n;xmax:=-1;ymin:=n;ymax:=-1;
for i:=0 to n-1 do
for j:=0 to n-1 do
if imgmatrix[i,j]=1 then
begin
if j<xmin then xmin:=j;
if j>xmax then xmax:=j;
if i<ymin then ymin:=i;
if i>ymax then ymax:=i;
end;
// ìàñøòàáèðóåì до границ всей сетки
for i:=0 to n-1 do
for j:=0 to n-1 do
begin
tmp[i,j]:=imgmatrix[ymin+trunc((i/n)*(ymax-
ymin+1)),xmin+trunc((j/n)*(xmax xmin+1))];
end;
DGImg.Enabled:=false;
for i:=0 to n-1 do
for j:=0 to n-1 do
imgmatrix[i,j]:=tmp[i,j];
DGImg.Enabled:=true;
Mainform.DGImg.Repaint;
end;
Отображение отмасштабированного и локализованного рисунка на сетке
(по измененным значениям входной матрицы):
Инициализация весовой матрицы случайными числами из промежутка [0.3,0.3]: procedure TMainForm.BtnInitRandomClick(Sender: TObject); var i,j:integer; begin for i:=0 to n-1 do for j:=0 to n-1 do weights[i,j]:=-0.3+0.6*Random; SBStatus.SimpleText:='Âåñà èíèöèèðîâàíû ñëó÷àéíûìè ÷èñëàìè'; end; Заполнение входного вектора по изображению на сетке: procedure TMainForm.DGImgSelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); begin imgmatrix[Arow,Acol]:=abs(1-imgmatrix[Arow,Acol]); end; Масштабирование и выравнивание (локализация) изображения: procedure TMainForm.BtnScaleClick(Sender: TObject); var i,j:integer; xmin,xmax,ymin,ymax:integer; tmp:bmatrix; begin for i:=0 to n-1 do for j:=0 to n-1 do tmp[i,j]:=0; // èùåì ãðàíèöû êâàäðàòа, ограничивающего ðèñóíок xmin:=n;xmax:=-1;ymin:=n;ymax:=-1; for i:=0 to n-1 do for j:=0 to n-1 do if imgmatrix[i,j]=1 then begin if jxmax then xmax:=j; if i ymax then ymax:=i; end; // ìàñøòàáèðóåì до границ всей сетки for i:=0 to n-1 do for j:=0 to n-1 do begin tmp[i,j]:=imgmatrix[ymin+trunc((i/n)*(ymax- ymin+1)),xmin+trunc((j/n)*(xmax xmin+1))]; end; DGImg.Enabled:=false; for i:=0 to n-1 do for j:=0 to n-1 do imgmatrix[i,j]:=tmp[i,j]; DGImg.Enabled:=true; Mainform.DGImg.Repaint; end; Отображение отмасштабированного и локализованного рисунка на сетке (по измененным значениям входной матрицы): 61
Страницы
- « первая
- ‹ предыдущая
- …
- 59
- 60
- 61
- 62
- 63
- …
- следующая ›
- последняя »