Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import matplotlib.pyplot as plt
- from scipy import misc as mc
- def funkcja_Coccurrance(img, n, kierunek):
- copy = img
- l=np.linspace(0,255,n+1)
- for i in range(0,n):
- copy[(img>=l[i]) & (img<l[i+1])] = i;
- Concc = np.zeros((n,n))
- if kierunek == 0: #prawo
- Tab1 = copy[:, 0:n - 1]
- Tab2 = copy[:, 1:n]
- elif kierunek == 1: #dol
- Tab1 = copy[0:n - 1, :]
- Tab2 = copy[1:n, :]
- elif kierunek == 2: #lewo
- Tab1 = copy[:, 1:n]
- Tab2 = copy[:, 0:n - 1]
- elif kierunek == 3: #gora
- Tab1 = copy[1:n, :]
- Tab2 = copy[0:n - 1, :]
- for i in range (1,n):
- for j in range(1,n):
- Concc[i, j] = np.sum(np.sum((Tab1 == i) & (Tab2 == j)))
- return Concc
- #
- def fO(c):
- przek = np.sum(np.diag(c)) #suma przekatnej z funkcja_Coccurrance
- suma = np.sum(np.sum(c)) #suma macierzy -> sa tez wartosci poza przekatna "poswiata"
- suma = suma - przek #zsumowanie tylko wartosci z wylaczeniem przekatnej
- #wieksza suma poza przekatna = wieksza ostrosc?
- return suma
- #
- obraz1 = mc.imread('pic1.png')
- img1 = obraz1[:, :, 1]
- obraz2 = mc.imread('pic2.png') #bardziej "ostry"
- img2 = obraz2[:,:,1]
- c = funkcja_Coccurrance(img1, 15, 1) #0prawo, 1dol, 2lewo, 3gora
- c2 = funkcja_Coccurrance(img2, 15, 1)
- #print c
- c = c/np.sum(c)
- c = c*255 #wyswietlenie wynikow z polecenia
- #print c2
- c2 = c2/np.sum(c2)
- c2 = c2*255
- ostrosc = fO(c)
- ostrosc2 = fO(c2)
- print ostrosc
- print ostrosc2
- plt.subplot(1,2,1)
- plt.imshow(c, cmap=plt.cm.gray, vmin=0, vmax=np.max(c))
- plt.subplot(1,2,2)
- plt.imshow(c2, cmap=plt.cm.gray, vmin=0, vmax=np.max(c2))
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement