Ovu stranicu je najbolje pregledavati u modernom internet pregledniku s omogućenim JavaScriptom.

[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


« Prethodna stranica Sljedeća stranica »