Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. % 1.Obrazek: http://www.k.bartecki.po.opole.pl/nsi/lena.tif
  2. % 2.Przygotowanie
  3. close all; %zamyka wszystkie okna
  4. clear; %usuwa zmienne z pamieci
  5. clc; %czysci okno komend
  6.  
  7. % 3.Wyswietlanie informacji o obrazku.
  8. imfinfo('lena.tif')
  9.  
  10. % 4.Wczytywanie obrazka do macierzy
  11. obraz = imread('lena.tif')
  12.  
  13. % 5.Wyswietlenie obrazka
  14. figure(1)
  15. colormap gray
  16. imagesc(obraz, [0 255]);
  17.  
  18. % 6.Wyswietlenie wlasciwosci obrazka
  19. whos obraz
  20. workspace
  21.  
  22. % 7.Tablica blokowa
  23. nx=4;
  24. ny=4;
  25.  
  26. [X, Y] = size(obraz)
  27.  
  28. Nx = X/nx
  29. Ny = Y/ny
  30.  
  31. A = mat2cell(obraz, repmat(ny,1,Ny), repmat(nx,1,Nx));
  32.  
  33. % 8.Wlasciwosci zmiennej A
  34. %whos A
  35. %disp(A)
  36. %disp(A{1,1}) %lewa gorna ramka
  37. %disp(A{128,1}) %lewa dolna ramka
  38.  
  39. % 9.Przygotowanie macierzy wzorcow wejsciowych
  40. P = zeros(nx*ny,Nx*Ny); % tworzymy m acierz zer
  41.  
  42. for i=1:Ny
  43. for j=1:Nx
  44. P(:, j * i) = reshape(A{i, j}, (nx * ny), 1);
  45. % tu wstawić odpowiednią instrukcję
  46. end
  47. end
  48.  
  49. % 10.Definiowanie sieci Kohena
  50. N = 8; %liczba neuronow
  51. eta = 0.1; %predkosc uczenia sieci
  52. net = newc(P, N, eta)
  53.  
  54. % 11.Wyswietlanie rozmiarow wsp. wagowych
  55. disp('Rozmiary macierzy wag przed trenowaniem: ')
  56. disp(net.IW)
  57. disp('Zawartość macierzy wag przed trenowaniem: ')
  58. disp(net.IW{1})
  59.  
  60. % 12.Wybor wzorcow uczacych
  61. nf=Nx*Ny/4; %ile ramek bedzie prezentowanych sieci w trakcie uczenia
  62. Fi=randperm(Nx*Ny,nf); %wektor zawierajcacy nf losowych numerow ramek
  63.  
  64. whos Fi
  65.  
  66. Pu=P(:,Fi);
  67.  
  68. % 13.Trenowanie sieci
  69. net.trainParam.epochs = 1;
  70. net = train(net, Pu);
  71.  
  72. % Wsp.wagowe
  73. disp('Rozmiary macierzy wag po trenowaniu: ')
  74. disp(net.IW)
  75. disp('Zawartość macierzy wag po trenowaniu: ')
  76. disp(net.IW{1})
  77.  
  78. % 14.
  79. W = net.IW{1};
  80.  
  81. % 15. symulacja działania
  82. a = sim(net, P)
  83.  
  84. % 16. konwersja
  85. af = full(a);
  86.  
  87. % 17.
  88. ac = vec2ind(a);
  89.  
  90. % 18.
  91. W = uint8(W);
  92. ac = uint8(ac);
  93.  
  94. % 19.
  95. save ('obraz.mat', 'W', 'ac', 'Nx', 'Ny', 'nx', 'ny');
  96.  
  97. % 20.
  98. p = 8;
  99. k = 8;
  100. m = 64;
  101.  
  102. Kr = (Nx * Ny * nx * ny * p) / ((Nx * Ny * k) + (N * nx * ny * m));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement