Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- \documentclass[12pt,a4paper,notitlepage]{report}
- \usepackage{polski}
- \usepackage[T1]{fontenc}
- \usepackage[utf8]{inputenc}
- \usepackage{graphicx}
- \usepackage{float}
- \usepackage[top=2cm, bottom=2cm, left=3cm, right=3cm]{geometry}
- \makeatletter
- \newcommand{\linia}{\rule{\linewidth}{0.4mm}}
- \renewcommand{\maketitle}{\begin{titlepage}
- \vspace*{1cm}
- \begin{center}\small
- Politechnika Śląska\\
- Wydział Automatyki, Elektroniki i Informatyki\\
- \vspace{4cm}
- LABORATORIUM PRZETWARZANIA OBRAZÓW CYFROWYCH
- \end{center}
- \vspace{3cm}
- \noindent\linia
- \begin{center}
- \LARGE \textsc{\@title}
- \end{center}
- \linia
- \vspace{0.5cm}
- \begin{flushright}
- \begin{minipage}{8cm}
- \vspace{6cm}
- \begin{flushright}
- \textit{\small Autor:}\\
- \normalsize \textsc{\@author} \par
- \end{flushright}
- \end{minipage}
- \end{flushright}
- \vspace*{\stretch{6}}
- \begin{center}
- \@date
- \end{center}
- \end{titlepage}%
- }
- \makeatother
- \author{Dominika Bujak \\ gr.2TI}
- \title{Wybrane metody poprawy kontrastu}
- \begin{document}
- \maketitle
- \newpage
- \begin{flushleft}
- \Large {\textbf{Zadanie 1}}
- \end{flushleft}
- To zadanie polegało na przetworzeniu obrazów achromatycznych o różnym poziomie kontrastu metodą rozciągania. Posłużono się trzema obrazami wybranymi przez prowadzących, przedstawiającymi sceny naturalne oraz budynek.
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.68\textwidth]{Ex1.png}
- \caption{Obraz 1}
- \end{figure}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.855\textwidth]{rozciagnietyEx1.png}
- \caption{Rozciągnięty obraz 1}
- \end{figure}
- \newpage
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.75\textwidth]{histogramEx1.png}
- \caption{Histogram obrazu 1}
- \end{figure}
- \vspace{2cm}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.68\textwidth]{Ex2.png}
- \caption{Obraz 2}
- \end{figure}
- \newpage
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.855\textwidth]{rozciagnietyEx2.png}
- \caption{Rozciągnięty obraz 2}
- \end{figure}
- \vspace{2cm}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.75\textwidth]{histogramEx2.png}
- \caption{Histogram obrazu 2}
- \end{figure}
- \newpage
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.68\textwidth]{Ex3.png}
- \caption{Obraz 3}
- \end{figure}
- \vspace{2cm}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.855\textwidth]{rozciagnietyEx3.png}
- \caption{Rozciągnięty obraz 3}
- \end{figure}
- \newpage
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.75\textwidth]{histogramEx3.png}
- \caption{Histogram obrazu 3}
- \end{figure}
- \vspace{1.5cm}
- Porównanie obrazów oraz ich histogramów na jednym rysunku:
- \begin{figure}[ht]
- \centering
- \includegraphics[width=1\textwidth]{zadanie1.png}
- \caption{Porównanie}
- \end{figure}
- \vspace{0.5cm}
- Jak widać na powyższym rysunku metoda rozciągania znacząco wpływa na zwiększenie kontrastu. Najlepszy efekt daje ona po zastosowaniu dla obrazów, w których odcienie szarości są skupione w niewielkim zakresie. Takim obrazem jest obraz 1. Różnicę można zauważyć bezpośrednio na obrazie, a patrząc na jego histogram widzimy, że zakres skali szarości po rozciągnięciu jest ponad trzykrotnie większy niż pierwotnie.
- \newpage
- \begin{flushleft}
- \Large {\textbf{Zadanie 2}}
- \end{flushleft}
- W tym zadaniu należało zrealizować przekształcenia potęgowe. W tym celu rozciągnięto histogramy oraz podniesiono poszczególne wartości skal szarości do potęgi 0.5 oraz 2. \\
- Bazowy obraz oraz jego rozciągnięty histogram:
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.7\textwidth]{M92.png}
- \caption{Obraz oryginalny}
- \end{figure}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.6\textwidth]{histOryg.png}
- \caption{Histogram obrazu oryginalnego}
- \end{figure}
- \newpage
- Obraz oryginalny po przekształceniu potęgowym o potędze $\lambda = 0.5$
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.85\textwidth]{obraz05.png}
- \caption{Obraz dla $\lambda = 0.5$}
- \end{figure}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.6\textwidth]{hist05.png}
- \caption{Histogram dla obrazu z rysunku 13}
- \end{figure}
- \newpage
- Obraz bazowy po przekształceniu potęgowym o potędze $\lambda = 2$
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.85\textwidth]{obraz2.png}
- \caption{Obraz dla $\lambda = 2$}
- \end{figure}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.6\textwidth]{hist2.png}
- \caption{Histogram dla obrazu z rysunku 15}
- \end{figure}
- \newpage
- Porównanie wyników na jednym rysunku:
- \begin{figure}[ht]
- \centering
- \includegraphics[width=1\textwidth]{zadanie2.png}
- \caption{Porównanie}
- \end{figure}
- \vspace{1cm}
- Istnieje zależność: $x^{\lambda}> x$, gdy $\lambda < 1$ oraz $x^{\lambda}< x$, gdy $\lambda> 1$ dla $x \in (0,1).$
- \vspace{1cm}
- W związku z tym potęgowanie z parametrem $\lambda < 1$ powoduje powiększenie się skali szarości, na obrazie poza kolorem białym i czarnym widać również kolory pośrednie. Gdy $\lambda > 1$ odcienie szarości są skupione w niewielkim zakresie, kontrast znacząco się zwiększa.
- \newpage
- \begin{flushleft}
- \Large {\textbf{Zadanie 3}}
- \end{flushleft}
- W tym zadaniu poprawiono kontrast obrazów na podstawie ich histogramów. Wyznaczono numerycznie dystrybuantę oraz przeskalowano zakres do maksymalnej wartości jasności, od 0 do 255 (8 bitów). Na podstawie dystrybuanty wyznaczono nowe wartości jasności poszczególnych pikseli.
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.68\textwidth]{Ex1.png}
- \caption{Obraz 1}
- \end{figure}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.855\textwidth]{Ex1z3.png}
- \caption{Przetworzony obraz 1}
- \end{figure}
- \newpage
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.68\textwidth]{Ex2.png}
- \caption{Obraz 2}
- \end{figure}
- \vspace{2cm}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.835\textwidth]{Ex2zad3.png}
- \caption{Przetworzony obraz 2}
- \end{figure}
- \newpage
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.7\textwidth]{Ex3.png}
- \caption{Obraz 3}
- \end{figure}
- \vspace{2cm}
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.9\textwidth]{Ex3zad3.png}
- \caption{Przetworzony obraz 3}
- \end{figure}
- \newpage
- Na poniższym rysunku zestawiono obrazy oryginalne oraz po przekształceniu:
- \begin{figure}[ht]
- \centering
- \includegraphics[width=0.9\textwidth]{zadanie3.png}
- \caption{Porównanie}
- \end{figure}
- Jak widzimy zaprezentowana metoda poprawy kontrastu spełnia swoje zadanie, co prawda na przekształconym obrazie drugim most jest słabiej widoczny niż był na obrazie bazowym, lecz jest to spowodowane niewielkim zakresem odcieni szarości w tym obszarze obrazu, patrząc jednak na górną część tego obrazu widać znacznie większy kontrast.
- \vspace{1cm}
- \textbf{Kod źródłowy programów:}\\\vspace{0.5cm}
- \textbf{Zadanie 1:}\\
- \% wczytanie 1 obrazu\\
- x = imread('Ex1.png');\\
- subplot(3,3,1);\\
- imshow(x);\\
- \% normalizacja histogramu\\
- x = double(x)/255;\\
- \% rozciągnięcie histogramu\\
- Min = double(min(min(x)));\\
- x1 = x-Min;\\
- Max = double(max(max(x1)));\\
- x1 = x1./Max;\\
- subplot(3,3,3);\\
- imhist(x);\\
- hold on\\
- imhist(x1);\\
- subplot(3,3,2);\\
- imshow(x1);\\
- \% wczytanie 2 obrazu\\
- x = imread('Ex2.png');\\
- subplot(3,3,4);\\
- imshow(x);\\
- x = double(x)/255;\\
- Min = min(min(x));\\
- x1 = x-Min;\\
- Max = max(max(x1));\\
- x1 = x1./Max;\\
- subplot(3,3,6);\\
- imhist(x);\\
- hold on\\
- imhist(x1);\\
- subplot(3,3,5);\\
- imshow(x1);\\
- \% wczytanie 3 obrazu\\
- x = imread('Ex3.png');\\
- subplot(3,3,7);\\
- imshow(x);\\
- x = double(x)/255;\\
- Min = min(min(x));\\
- x1 = x-Min;\\
- Max = max(max(x1));\\
- x1 = x1./Max;\\
- subplot(3,3,9);\\
- imhist(x);\\
- hold on\\
- imhist(x1);\\
- subplot(3,3,8);\\
- imshow(x1);\\\vspace{1cm}
- \textbf{Zadanie 2:}\\
- \% wczytanie obrazu\\
- x=imread('M92.png');\\
- subplot(2,3,1);\\
- imshow(x);\\
- \% normalizacja \\
- x = double(x)/255;\\
- %imhist(x)\\
- %rozciągnięcie\\
- Min = double(5/255);\\
- x1 = x-Min;\\
- Max = double(60/255);\\
- x1 = x1./Max;\\
- \% przekształcenie potęgowe\\
- lambda=1;\\
- x2= x1 .\^ lambda;\\
- subplot(2,3,1);\\
- imshow(x2);\\
- subplot(2,3,4);\\
- imhist(x2);\\
- lambda=0.5;\\
- x2= x1 .\^ lambda;\\
- subplot(2,3,2);\\
- imshow(x2);\\
- subplot(2,3,5);\\
- imhist(x2);\\
- lambda=2;\\
- x2= x1 .\^ lambda;\\
- subplot(2,3,3);\\
- imshow(x2);\\
- subplot(2,3,6);\\
- imhist(x2);\\
- \vspace{1cm}
- \textbf{Zadanie 3:}\\
- \% pierwszy obraz\\
- x = imread('Ex1.png');\\
- \lbrack n,m] = size(x);\\
- y = histc(x,0:255); \\
- sum = cumsum(y);\\
- \%przeskalowanie zakresu na 0-255\\
- for i=1:256\\
- sum(i,1) = sum(i,1)*255./max(sum(:,1));\\
- sum(i,1)=floor(sum(i,1));\\
- end\\
- output=zeros(n,m, 'uint8');\\
- for i=1:n\\
- for j=1:m\\
- output(i,j) = sum(x(i,j)+1,1);\\
- end\\
- end\\
- subplot(2,3,1);\\
- imshow(x);\\
- subplot(2,3,4);\\
- imshow(output);\\
- \%drugi obraz\\
- x = imread('Ex2.png');\\
- \lbrack n,m] = size(x);\\
- y = histc(x,0:255); \\
- sum = cumsum(y);\\
- \%przeskalowanie zakresu na 0-255\\
- for i=1:256\\
- sum(i,1) = sum(i,1)*255./max(sum(:,1));\\
- sum(i,1)=floor(sum(i,1));\\
- end\\
- output=zeros(n,m, 'uint8');\\
- for i=1:n\\
- for j=1:m\\
- output(i,j) = sum(x(i,j)+1,1);\\
- end\\
- end\\
- subplot(2,3,2);\\
- imshow(x);\\
- subplot(2,3,5);\\
- imshow(output);\\
- \% trzeci obraz\\
- x = imread('Ex3.png');\\
- \lbrack n,m] = size(x);\\
- y = histc(x,0:255); \\
- sum = cumsum(y);\\
- \%przeskalowanie zakresu na 0-255\\
- for i=1:256\\
- sum(i,1) = sum(i,1)*255./max(sum(:,1));\\
- sum(i,1)=floor(sum(i,1));\\
- end\\
- output=zeros(n,m, 'uint8');\\
- for i=1:n\\
- for j=1:m\\
- output(i,j) = sum(x(i,j)+1,1);\\
- end\\
- end\\
- subplot(2,3,3);\\
- imshow(x);\\
- subplot(2,3,6);\\
- imshow(output);\\
- \end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement