[DOIAS] 3. laboratorijska vježba - 2021/2022
bjunolulz
kad dodam noise rekonstruirana slika postane siva i mse je u milijunima. bez noisa radi ispravno. jel to ocekivano ili?
i kako kvantiziram sliku na 8 bitova?
Emma63194
U 6.2, ako, recimo, računamo entropiju i imamo 256 × 256 sliku, dobit ćemo pomoću one funkcije rowfilt
neku matricu 256 × 256 s nekim čudno izračunatim entropijama. Jel to ideja ili sam nešto fulala?
Also, dobiva li još itko errore kad proba predati one blokove da budu 5 × 5?
Artemis
Emma63194 također dobivam error sa dimenzijom (5,5), a kad stavim neku drugu mi radi
Emma63194
Artemis Kad god bude neparan broj za te dimenzije, breaka se njihov kod.
Treba u biti popraviti getPadRanges
funkciju:
def getPadRanges(nhood):
l = []
for x in nhood:
l.append((x // 2, x // 2 - 1 if x % 2 == 0 else x // 2))
return tuple(l)
Ovako mi radi.
Also, ako samo može odgovor na moje pitanje?
Ideja je onda dobiti 256 × 256 matricu s nekakvim vrijednostima ili?
dora
U primjeru 5.4 sto bi trebalo bit imgO i imgOP_mean?
bjunolulz
AE meni se cini da tu fali dobar dio koda pa sam ignorirao
bjunolulz
kako u 6.2 napisat ove funkcije da mogu koristit unutar rowfilt()? trebam li imat ovaj block, p i binsize ko oni u funkcijama za histogram drugog reda?
Emma63194
bjunolulz Ja sam bez tog njihovog napisala.
Funkcija ti treba primati samo jedan argument da bi je rowfilt
funkcija mogla koristiti. Taj argument će ti biti obični 1D numpy array.
Za moment će ti trebati dva argumenta, ali možeš onu potenciju staviti na neki default.
Ja sam samo po onim formulama na prezama to napisala (kao, nađemo kolko se često ponavlja koji element unutar tog arraya i onda izračunamo kaj već treba po formulama).
---
kako se paddali u funkciji restore?
bjunolulz
🤡
imgd_padded = np.pad(imgD, [(0, psfsize[0] - 1), (0, psfsize[1] - 1)])
psf_padded = np.pad(psf, [(0, imgDsize[0] - 1), (0, imgDsize[1] - 1)])
---
bjunolulz ovo mi baca: ValueError: operands could not be broadcast together with remapped shapes [original->remapped]: (2,2) and requested shape (3,2)
🙁
blablajar
Emma63194 energija za histogram prvog reda je suma kvadriranih vjerojatnosti?
bjunolulz
🤡 ne znam al evo gugl kaze da mozda loadas rgb slike umisto grayscale
---
bjunolulz ja sam shvatio da tu trebamo restoreati ovu sliku koju smo degradali svaki RGB channel?
bjunolulz
🤡 aha to, napravis zasebno 3 slike koja ima svaka svoj channel kao npr.
red = img[:,:,0]
. green je 1 a blue je 2. i ne restoreas ih nego samo displayas blur
edit: tribas ta 3 channela degradirana vratit u rgb, nisan to napravia jer nisan dobro procita
bjunolulz
bjunolulz mergas ovako merged = cv2.merge([imgR, imgG, imgB])
.
ovo su degradirane R,G i B slike
---
bjunolulz i onda taj merged saljem u restore?
Emma63194
blablajar Stavila sam tako, da. Nez jel to točno tho.
bjunolulz
🤡 ne pise nigdi da radis restore
---
opet ova kvantizacija lol jel itko zna na sta se tu misli? (konkretno u 5.4.1 - 3. podzadatak)
aeeo
Ne znam jesu na to mislili ali ja sam ovako :
img = Image.fromarray(img)
img = img.quantize(N)..to je s prvog labosa cini mi se.. I onda tu sliku obradis