All MicroEvals
Jestem studentem przedmiotu Przetwarzanie Obrazów Cyfrowych....
Create MicroEval

Jestem studentem przedmiotu Przetwarzanie Obrazów Cyfrowych....

Prompt

Jestem studentem przedmiotu Przetwarzanie Obrazów Cyfrowych. Robię laboratorium 1 "Filtry nieliniowe" w MATLAB-ie i mam już zrobione zadania 1, 2a, 2b i 2c dla obrazów SZARYCH. Napisz za mnie resztę sprawozdania: zadanie 3 (obrazy barwne) oraz sekcję wniosków. MOJA KONWENCJA KODOWA (musisz się jej ściśle trzymać, będę wklejał Twój kod bezpośrednio do jednego skryptu .m): 1. Skrypt zaczyna się od: clear; close all; clc; oraz sekcji "%% Konfiguracja" ze zmiennymi plikO1, plikO2 (ścieżki do JPG), wyc = 250:400 (pokazywany wycinek), okna = {[3 3], [5 5], [7 7]}. 2. Obrazy barwne wczytuję z imread() + uint8() + przycięcie do 512x512, szum nakładam imnoise(obr, 'salt & pepper', d) dla d = [0.01 0.02 0.10]. 3. Moje własne filtry NIE doklejają zer na brzegu — PRZYNASZĄ obraz: wynik ma rozmiar (H-m+1) x (W-n+1). Używam do tego pomocniczej funkcji zbierzOkna(X, m, n), która buduje macierz [(H-m+1)*(W-n+1) x m*n] bez żadnego paddingu — Twoje funkcje MUSZĄ z niej korzystać. 4. PSNR liczę WYŁĄCZNIE funkcją matlabową psnr(obraz, referencja), przy czym referencja musi być przycięta do tego samego obszaru co wynik filtra (np. dla okna 3x3: ref = O1(2:end-1,2:end-1)). Nie pisz własnej funkcji PSNR. 5. Wyniki trzymam w komórkach (cell arrays) w pętlach for, rysunki robię przez figure + subplot + imshow + title, a PSNR wstawiam do tytułów przez sprintf('... (PSNR=%.2f)', ...). NIE zapisuję nic automatycznie do plików (żadnych saveas/imwrite). 6. Wycinki na rysunkach pobieram z przesunięciem: dla okna m x m wycinek (wyc-(m-1)/2, wyc-(m-1)/2), żeby porównywać ten sam fragment sceny. 7. Kod ma zwięzłe komentarze POLSKIE bez polskich znaków (jak wyżej), styl sekcji: "%% Zad 3a", "%% Zad 3b", funkcje lokalne na końcu pliku. DO ZROBIENIA: a) Zad 3a: samodzielna implementacja mediany SKALARNEJ obrazu barwnego — każdy kanał R/G/B filtrowany osobno moim filtrem medianowym 3x3 (reuse filtrmedian z oknem [3 3] i ranga 'mediana'). Pokaż wyniki dla OBU obrazów barwnych i 3 poziomów szumu (1/2/10%), z PSNR w tytułach. b) Zad 3b: samodzielna implementacja wektorowego filtra medianowego VMF dla obu norm: L1 (suma wartosci bezwzglednych) i L2 (euklidesowa). Wymagania: JEDNA funkcja z parametrem normy ('L1'/'L2'), okno jako parametr, brzeg przycięty tak jak w moich innych filtrach, wektor wyjściowy = wektor z okna o najmniejszej zagregowanej odleglosci R_i = sum_j rho(F_i, F_j). Wyniki dla jednego obrazu, 3 poziomy szumu, PSNR w tytułach. c) Zad 3c: porownanie skutecznosci: obraz zaszumiony vs mediana skalarna vs VMF L1 vs VMF L2 vs VMF zastosowany 2x (drugie przejscie po VMF L1), dla szumow 1/2/10%. Rysunek w ukladzie 3x6 (kolumny: szum, mediana, VMF L1, VMF L2, 2xVMF; oryginal pokazany tylko w pierwszym wierszu), plus tabela PSNR wypisywana przez fprintf i gotowe wnioski. d) Sekcja "%% Wnioski": zbierz wnioski z CAŁEGO labu (zad 1-3) w punktach, uwzglednij: dlaczego filtry liniowe zawodza przy szumie impulsowym, kompromis rozmycie-detale (LUM vs mediana, wplyw parametru k), zachowanie mediany skalarnej na krawedziach barwnych (rozjazd kanalow R/G/B) i dlaczego VMF tego unika, roznice miedzy normami L1 i L2, po co drugie przejscie VMF. Na koncu dodaj krotszy fragment: weryfikacje poprawnosci polecenia imnoise dla obrazow barwnych (dodatkowy punkt na labie) — porownanie obrazu przed i po zaszumieniu piksel po pikselu: procent zmienionych kanalow vs procent pikseli z co najmniej jednym zmienionym kanalem, porownane z teoretyczna zaleznoscia 1-(1-d)^3, z komentarzem dlaczego roznica jest okolo 3x wieksza niz zadana gestosc.

Response not available

Drag to resize
Drag to resize
Drag to resize
Drag to resize