\IfFileExists{preamble.tex}
{\input{preamble.tex}}
{
\documentclass[a4paper,11pt]{article}

\usepackage[brazil]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{url}
\usepackage{graphicx}
\usepackage[square]{natbib}
}


\begin{document}

\begin{center}
  \textsc{Universidade Federal de Minas Gerais --- UFMG} \\
  \textsc{Instituto de Ciências Exatas --- ICEx} \\
  \textsc{Departamento de Ciência da Computação --- DCC} \\
\end{center}

\bigskip

\begin{tabular}{@{}ll@{}}
  \emph{Disciplina:} & DCC884 --- Visão Computacional \\
  \emph{Professor:}  &
    Mario Fernando Montenegro Campos (\url{mario@dcc.ufmg.br}) \\
  \emph{Monitor:}    & Vilar Fiuza da Camara Neto (\url{neto@dcc.ufmg.br}) \\
  \emph{Período:}    & 1º semestre / 2007 \\
  \emph{Aulas:}      &
    Segundas e quartas, das 11:10 às 12:50, na sala 2029 do ICEx \\
  \emph{Página:}     &
    \url{http://www.dcc.ufmg.br/verlab/doku.php?id=cursos:visao:index} \\
\end{tabular}

\bigskip

\begin{center}
  \Large\textbf{2ª Lista de Exercícios}
\end{center}

\begin{flushright}
  \emph{Data da entrega:} 09/abr/2007
\end{flushright}

\bigskip


A lista é individual e as datas de entrega são fixas, devendo o trabalho ser
entregue no início da aula. Cada lista vale 5 pontos na nota final. Para cada
dia de atraso na entrega será descontado 0,5 ponto do valor da lista.

Esta lista de exercícios é composta de duas partes: a primeira de exercícios
teóricos e a segunda com implementações práticas. Não há formato específico
para apresentar as respostas e resultados. Porém, clareza na redação é um
requisito essencial. Embora o resultado possa ser manuscrito, lembre-se de que
``o que não se pode ler não se pode avaliar''. Assim, sugere-se que o trabalho
seja digitado, podendo o desenvolvimento matemático ser manuscrito.

O Matlab ou Scilab são recomendados para o desenvolvimento das aplicações, pois
permitem o desenvolvimento rápido de aplicativos e já incorporam várias rotinas
matemáticas e de manipulação de imagens. O Scilab é gratuito e pode ser baixado
da página \url{http://www.scilab.org/}. Você também pode usar outras linguagens
de programação, mas nesse caso lembre-se de incluir as instruções de compilação
dos programas e eventuais arquivos auxiliares, como ``makefiles'' ou arquivos
de projeto.

Em todos os casos, não se exige nenhuma interface gráfica: os programas podem
ler os dados de entrada por argumentos de linha de comando ou por digitação
pelo usuário, e podem gravar a saída em arquivos no disco.

Para arquivos gráficos, recomenda-se o uso dos formatos PNG ou JPEG. Nesse
sentido o Matlab e o Scilab ajudam, pois ambos disponibilizam rotinas de
leitura e gravação para esses formatos. Para os entusiastas de C e C++, a
biblioteca FreeImage (\url{http://freeimage.sourceforge.net/}) é uma
alternativa gratuita e multi-plataforma. Para a visualização dos arquivos, os
aplicativos IrfanView (Windows) e xv (Linux) são boas ferramentas e também são
gratuitos.

Em qualquer situação, os programas devem ser entregues com documentação de uso
ou devem ser auto-explicativos.


\section{Exercícios Teóricos}

\begin{enumerate}

\item O que é o ruído? Como podemos quantificá-lo em uma imagem? Como o ruído
  pode afetar as computações em Visão Computacional?

\item O que é um filtro linear? O filtro da mediana é linear? Prove sua
  resposta.

\item O que é um filtro separável? Quais são as vantagens da separabilidade? O
  filtro da média é separável? Por quê?

\item Imagine uma imagem de tamanho infinito, de tal forma que não o deixe
  preocupado com as questões relativas as bordas da imagem. Quantas somas por
  pixel são necessárias quando uma suavização com uma máscara $m \times m$ é
  realizada através da utilização da equação (3.5) do livro-texto
  \citep{trucco98introductory}? Quantas somas serão realizadas se utilizarmos a
  separabilidade?

\end{enumerate}


\section{Exercícios Práticos}

\begin{enumerate}

\item Qualquer filtro de ruídos inevitavelmente destrói parte da informação de
  interesse. Por causa disso, os filtros devem ser usados de maneira
  criteriosa: o uso de um filtro muito agressivo degrada muito a imagem
  original, enquanto filtros ``leves'' tendem a preservar muito ruído.

  Em paralelo, um dos aspectos importantes do estudo de filtros de ruídos é
  saber como cada um deles afeta a imagem. Com isso, adquire-se sentimento
  prático para saber qual filtro deve ser usado em cada caso.

  Com isso em mente, escreva um programa capaz de aplicar o filtro gaussiano ou
  o filtro da mediana sobre uma imagem de entrada. O usuário deve ser capaz de
  informar o tamanho da janela dos dois filtros.

  \begin{enumerate}

  \item Baixe da internet imagens de rostos ou de paisagens. Aplique o filtro
    gaussiano sobre as imagens, fazendo variar bastante o tamanho da janela
    (\emph{kernel}), desde $3 \times 3$ pixels até algo como $15 \times 15$
    pixels. Observe os efeitos do filtro --- o que ocorre com a imagem como um
    todo, com os detalhes, com as bordas e com os pequenos grupos de dois ou
    três pixels que têm cor distinta de sua vizinhança. O objetivo do exercício
    não é fazer você descrever detalhadamente o que ocorre com cada tamanho de
    janela, mas sim ``sentir'' e relatar a influência desse filtro sobre a
    imagem.

  \item Repita o mesmo para o filtro da mediana.

  \item Tome uma imagem que tenha gerado resultados interessantes para as
    questões anteriores. Corrompa a imagem com ruído aditivo gaussiano.
    Descreva os parâmetros do ruído. Passe novamente os filtros gaussiano e da
    mediana sobre a imagem ruidosa. Discuta suas impressões sobre os resultados
    obtidos: se os filtros são capazes de eliminar os ruídos, se é possível
    reduzir substancialmente os ruídos preservando-se as características
    originais da imagem, etc.

  \item Repita a questão anterior, porém use ruído do tipo sal-e-pimenta.

  \end{enumerate}

\end{enumerate}

\bibliographystyle{apalike}
\bibliography{bibfile}

\end{document}


%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% End:

% LocalWords:  preamble tex Mario Montenegro Vilar Fiuza Camara Matlab Scilab
% LocalWords:  makefiles FreeImage IrfanView xv pinhole white separável kernel
% LocalWords:  separabilidade detalhadamente substancialmente bibfile
