Created
January 3, 2014 01:28
-
-
Save dcrystalj/8230874 to your computer and use it in GitHub Desktop.
slike
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| SLIKE: | |
| .dcm pomeni DICOM format | |
| aeskulap - program za gledat slike | |
| I = imread ('0010.png'); %prebere sliko | |
| imshow(I) %narise sliko | |
| imshow(I, [200 250]) % skrièi spekter, oz intenziteto omejimo na samo od 200 - 250 | |
| set(gca, 'Position', [0.1 0.1 0.9 0.9]) %rob od slike | |
| subplot (1,2,1)%zaslikar veè slik na eno -> st vrstic, stolpcev, index kamor želimo risat | |
| imshow(I); % da jo not zapiše | |
| clf % zbriše subplot | |
| %risanje na eno sliko | |
| %imamo 8 bitne sivinske slik | |
| imshow(I); | |
| hold on | |
| plot([0 10 50 200 500], [0 29 00 30 500], 'm') % x in y vektor magenta po sliki | |
| %sliko filtriramo z masko in dobimo izhodno sliko sliko torej | |
| konvoluiramo z koeficienti maske. masko obrnemo za 180°C (tak je paè postopek konvolucije | |
| %istoležne elemente zmnožimo z masko in seštejemo | |
| %konvolucija v octave: | |
| %glajenje s tekoèim povpreèenjem, glajenje z mediano, raèunanje Gaussovih koeficientov in glajenje z Gaussom | |
| %imsmooth(I, 'filter', velikost) | |
| S = imsmooth(I, 'average', size=9) %zameglimo sliko | |
| subplot (1,2,1); | |
| imshow(I) | |
| subplot(1,2,2); | |
| imshow(S) | |
| kernel= [1 1 1; 1 1 1; 1 1 1;] ./9 | |
| S = imfilter(I, kernel); | |
| %ce seštejemo vse koeficiente maske in je vsota = 1 je svetlost enaka, <1 svetlost se zmanjša èe je >1 se svetlost poveèa | |
| %fspecial ('average', size=3) %zgenerira kernel da ni treba for zanke na roke | |
| f = fspecial ('average', size=3); | |
| h = fspecial ('average', size=25); | |
| S = conv2(I, kernel, 'same'); | |
| fspecial ('average', size=5) | |
| imshow(S) | |
| S = uint8(S); %popravimo ker mamo floate.. in en mormo met negativnih vrednosti za svetlost pixla | |
| imshow(S) | |
| %navadno za relief najprej naredimo konvolucijo potem prištejemo 128 potem uint | |
| S = conv2(I, kernel, 'same'); | |
| S = S.+128 | |
| S = uint(8); | |
| imshow(S) | |
| I = imread('0010.png') | |
| size(I);% 512 | |
| %[iX, iY] = size(I) | |
| iX = 512 | |
| iY = 512 | |
| for i=1:100 | |
| I(ceil(rand()*iX), ceil(rand()*iY)) = 255; | |
| end %slabo ker so ene random toèke bele zato uporabimo postopek z mediano -> sortiraš in uzameš srednjo vrednost | |
| %mediana | |
| S = imsmooth (I, 'median' size = 3) | |
| imshow(S) | |
| imshow(I) | |
| imshow(S) | |
| %raèunanje z haussom G(x,y) = e^(-(x^2+sigma) / (2*sigma^2)) -> sigma je 0.5% od 256 ---> 2.256 | |
| %teorija pravi da mormo porat 99.7% pod gausom -> 6*SIGMA zaokroženo navzgor (liho celo število) | |
| function [kernel] = Gauss(sigma) | |
| kSize = ceil(6*sigma); | |
| if rem(kSize/2) == 0 %je sodo | |
| kSize=kSize+1; | |
| end | |
| hsize = floor(kSize/2); | |
| %namest for zanke uporabimo vektorizacijo | |
| [X, Y] = meshgrid( -hSize:hSize, -hSize:hSize); | |
| kernel = exp(-(X.^2 + Y.^2)/(2*sigma^2))/(2*pi*sigma^2); | |
| kernel = round(kernel * (1/kernel(1,1))); | |
| end | |
| kernel = Gauss(2.56); | |
| %ga narišemo | |
| mesh(kernel) %isto kot | |
| mesh(fspecial('gaussian', 17, 2.56)) %tole | |
| S = imfilter(I,kernel/sum(kernel(:))); %delimo z vsoto koeficientov | |
| imshow(S) | |
| S = imfilter(I, fspecial('gaussian', 17, 2.56)); | |
| imshow(S) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment