des images pour le cours de traitement d'image
|
@ -3,7 +3,73 @@
|
||||||
\section{Introduction}
|
\section{Introduction}
|
||||||
\subsection{Domaines d'applications}
|
\subsection{Domaines d'applications}
|
||||||
Refaire le graphe stylé en TikZ
|
Refaire le graphe stylé en TikZ
|
||||||
\emph{Whoua c'est vachement stylé le TI}
|
|
||||||
|
% \begin{figure}[H]
|
||||||
|
% \centering
|
||||||
|
% \begin{tikzpicture}
|
||||||
|
% \tikzset{every node/.append style={scale=0.5}}
|
||||||
|
% \path[mindmap,concept color=green!50!black, text=white,
|
||||||
|
% level 1/.append style={level distance=3cm},
|
||||||
|
% level 2/.append style={level distance=1.5cm}]
|
||||||
|
|
||||||
|
% node[concept](TI) at (0,0){Traitement D'image}
|
||||||
|
% child[grow = 90, concept color = green!75!black]{
|
||||||
|
% node[concept](ImMed){Imagerie Médicale}[clockwise from = -60]
|
||||||
|
% child{node[concept](seg) {Segmentation}}
|
||||||
|
% child{node[concept](therapie){Therapie}}
|
||||||
|
% child{node[concept](debruit){Débruitage}}
|
||||||
|
% child{node[concept](Imcel){Imagerie Cellulaire}}
|
||||||
|
% child{node[concept](Recal){Recalage}}
|
||||||
|
% child{node[concept](Rec3D){Reconstruction 3D}}
|
||||||
|
% }
|
||||||
|
% child[grow = 0,level distance=5cm, concept color = violet]{
|
||||||
|
% node[concept](VRob){Vision Robotique}
|
||||||
|
% child[grow=90]{node[concept](Carto) {Cartographie}}
|
||||||
|
% child[grow=0]{node[concept](Ass){Assistance}}
|
||||||
|
% child[grow=-90]{node[concept](VR){VR}}
|
||||||
|
% }
|
||||||
|
% child[grow = -90, concept color = orange]{
|
||||||
|
% node[concept](Index){Indexation d'image}
|
||||||
|
% child[grow=30]{node[concept](reco) {Reconnaissance de forme}}
|
||||||
|
% child[grow=150]{node[concept](fouille){Fouille d'image}}
|
||||||
|
% child[grow=270]{node[concept](Biomet){Biométrie}}
|
||||||
|
% }
|
||||||
|
% child[grow = 180,level distance=5cm, concept color = violet]{
|
||||||
|
% node[concept](ImSat){Imagerie satellitaire}
|
||||||
|
% child[grow=180]{node[concept](prev) {Prévisions}}
|
||||||
|
% child[grow=90]{node[concept](Surv){Surveillance}}
|
||||||
|
% };
|
||||||
|
% \path[mindmap,concept color=brown!80!white!60!green, text=white]
|
||||||
|
% node[concept](Phy) at (-6,4){Physique};
|
||||||
|
% \path[mindmap,concept color=blue!80!white!60!green, text=white]
|
||||||
|
% node[concept](Algo) at (-6,-4){Algorithmique};
|
||||||
|
% \path[mindmap,concept color=brown!80!black, text=white]
|
||||||
|
% node[concept](AppStat) at (6,-4){Apprentissage Statistique};
|
||||||
|
% \path[mindmap,concept color=blue!80!white!60!green, text=white]
|
||||||
|
% node[concept](Opti) at (6,4){Optimisation};
|
||||||
|
|
||||||
|
% \begin{pgfonlayer}{background}
|
||||||
|
% \draw (Phy) to[circle connection bar] (ImSat);
|
||||||
|
% \draw (Algo) to[circle connection bar] (ImMed);
|
||||||
|
% \draw (Algo) to[circle connection bar] (Index);
|
||||||
|
% \draw (Phy) to[circle connection bar] (ImMed);
|
||||||
|
% \draw (Opti) to[circle connection bar] (ImMed);
|
||||||
|
% \draw (Opti) to[circle connection bar] (VRob);
|
||||||
|
% \draw (AppStat) to[circle connection bar] (VRob);
|
||||||
|
% \draw (AppStat) to[circle connection bar] (Index);
|
||||||
|
|
||||||
|
% \draw (seg) to[circle connection bar] (ImSat);
|
||||||
|
% \draw (Surv) to[circle connection bar] (VRob);
|
||||||
|
% \draw (ImSat) to[circle connection bar] (Carto);
|
||||||
|
% \draw (ImSat) to[circle connection bar] (reco);
|
||||||
|
% \draw (reco) to[circle connection bar] (ImMed);
|
||||||
|
% \draw (reco) to[circle connection bar] (ImSat);
|
||||||
|
|
||||||
|
% \end{pgfonlayer}
|
||||||
|
% \end{tikzpicture}
|
||||||
|
% \caption{Domaines et interface du Traitement d'image}
|
||||||
|
% \end{figure}
|
||||||
|
|
||||||
\subsection{Définion}
|
\subsection{Définion}
|
||||||
|
|
||||||
\begin{defin}
|
\begin{defin}
|
||||||
|
@ -14,6 +80,17 @@ Refaire le graphe stylé en TikZ
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{defin}
|
\end{defin}
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/mona_lisa_echantillon.png}
|
||||||
|
\caption{Echantillonage spatial}
|
||||||
|
\end{figure}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/mona_lisa_quantif.png}
|
||||||
|
\caption{Quantification}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\subsection{Notation et structure}
|
\subsection{Notation et structure}
|
||||||
|
|
||||||
Pour accéder aux pixel d'une image:
|
Pour accéder aux pixel d'une image:
|
||||||
|
@ -158,7 +235,7 @@ Une autre possibilité et de faire de l'égalisation d'histogramme pour se rappr
|
||||||
\item déconvolution (Fergus et al.) : il faut avoir le mouvement ("masque") pour pouvoir déconvoluer. Par minimisation de l'énergie, on essaye de trouver cette trajectoire de l'échec.
|
\item déconvolution (Fergus et al.) : il faut avoir le mouvement ("masque") pour pouvoir déconvoluer. Par minimisation de l'énergie, on essaye de trouver cette trajectoire de l'échec.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Filtrage}
|
\section{Filtrage Linéaire}
|
||||||
\paragraph{Caractéristiques}
|
\paragraph{Caractéristiques}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item processus qui élimine une composante indésirable d’un signal
|
\item processus qui élimine une composante indésirable d’un signal
|
||||||
|
@ -172,7 +249,6 @@ classifications très variées :
|
||||||
\item etc.
|
\item etc.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\section{Filtrage Linéaire}
|
|
||||||
\subsection{Généralités}
|
\subsection{Généralités}
|
||||||
\subsubsection{Formulation de Base (1D)}
|
\subsubsection{Formulation de Base (1D)}
|
||||||
\begin{defin}
|
\begin{defin}
|
||||||
|
@ -300,7 +376,11 @@ et son \emph{orientation}:
|
||||||
\theta = \arctan( \frac{I \star H_y}{I \star H_x})
|
\theta = \arctan( \frac{I \star H_y}{I \star H_x})
|
||||||
\]
|
\]
|
||||||
\end{prop}
|
\end{prop}
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/sobel_magnitude.png}
|
||||||
|
\caption{Echantillonage spatial}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\subsection{Implémentation du filtrage}
|
\subsection{Implémentation du filtrage}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
|
@ -440,11 +520,10 @@ où le point de coordonnées $(a, b)$ est le centre du cercle et $r$ en est le r
|
||||||
|
|
||||||
\paragraph{Méthode}
|
\paragraph{Méthode}
|
||||||
|
|
||||||
Dans l'espace (a, b, r), un cercle est caractérisé par un point. L'ensemble des cercles passant par un point M(x, y) donné forme un cône de sommet (a = x, b = y, r = 0) et d'axe r. Un « bon candidat » correspond à l'intersection de plusieurs cônes.
|
Dans l'espace (a, b, r), un cercle est caractérisé par un point. L'ensemble des cercles passant par un point $M(x, y)$ donné forme un cône de sommet $(a = x, b = y, r = 0)$ et d'axe $r$. Un « bon candidat » correspond à l'intersection de plusieurs cônes.
|
||||||
|
|
||||||
Si le rayon du cercle recherché est connu, on peut alors se placer dans le plan (a, b). Dans ce plan, l'ensemble des cercles passant par M est décrit par le cercle de centre (a = x, b = y) et de rayon r. Un bon candidat est donc à l'intersection de plusieurs cercles. On construit une matrice d'accumulation A : chaque élément Ai, j de la matrice contient le nombre de cercles passant par le point, ou bien par un carré de plusieurs pixels, correspondant à cet élément.
|
|
||||||
|
|
||||||
Si le rayon est inconnu, la méthode de recherche consiste à construire une hypermatrice d'accumulation dont chaque cellule Ai, j, k correspond à un cube de l'espace (a, b, r), en balayant tous les rayons possible de 1 pixel jusqu'à la dimension de l'image.
|
Si le rayon est inconnu, la méthode de recherche consiste à construire une hypermatrice d'accumulation dont chaque cellule $A_{i, j, k}$ correspond à un cube de l'espace $(a, b, r)$, en balayant tous les rayons possible de 1 pixel jusqu'à la dimension de l'image.
|
||||||
|
|
||||||
\begin{listing}
|
\begin{listing}
|
||||||
\inputminted{python}{hough.py}
|
\inputminted{python}{hough.py}
|
||||||
|
@ -630,6 +709,15 @@ Une autre alternative est d'utilisé une autre fonction de cout (cf UE 451),qui
|
||||||
`` RANSAC, abréviation pour RANdom SAmple Consensus, est une méthode pour estimer les paramètres de certains modèles mathématiques. Plus précisément, c'est une méthode itérative utilisée lorsque l'ensemble de données observées peut contenir des valeurs aberrantes (outliers). Il s'agit d'un algorithme non-déterministe dans le sens où il produit un résultat correct avec une certaine probabilité seulement, celle-ci augmentant à mesure que le nombre d'itérations est grand. L'algorithme a été publié pour la première fois par Fischler et Bolles en 1981''
|
`` RANSAC, abréviation pour RANdom SAmple Consensus, est une méthode pour estimer les paramètres de certains modèles mathématiques. Plus précisément, c'est une méthode itérative utilisée lorsque l'ensemble de données observées peut contenir des valeurs aberrantes (outliers). Il s'agit d'un algorithme non-déterministe dans le sens où il produit un résultat correct avec une certaine probabilité seulement, celle-ci augmentant à mesure que le nombre d'itérations est grand. L'algorithme a été publié pour la première fois par Fischler et Bolles en 1981''
|
||||||
\end{defin}
|
\end{defin}
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.3\textwidth]{img/ransac_0.png}%
|
||||||
|
\includegraphics[width=0.3\textwidth]{img/ransac_1.png}
|
||||||
|
\includegraphics[width=0.3\textwidth]{img/ransac_2.png}%
|
||||||
|
\includegraphics[width=0.3\textwidth]{img/ransac_3.png}
|
||||||
|
\caption{Méthode RANSAC}
|
||||||
|
\end{figure}
|
||||||
|
\newpage
|
||||||
\paragraph{Algorithme}~\\
|
\paragraph{Algorithme}~\\
|
||||||
\textbf{entrées :}\vspace{-1em}
|
\textbf{entrées :}\vspace{-1em}
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
|
|
BIN
453/Cours/img/Gaussian_LoG.png
Normal file
After Width: | Height: | Size: 221 KiB |
BIN
453/Cours/img/mona_lisa_echantillon.png
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
453/Cours/img/mona_lisa_quantif.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
453/Cours/img/ransac_0.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
453/Cours/img/ransac_1.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
453/Cours/img/ransac_2.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
453/Cours/img/ransac_3.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
453/Cours/img/sobel_magnitude.png
Normal file
After Width: | Height: | Size: 326 KiB |
|
@ -7,7 +7,8 @@
|
||||||
\let\snugshade\relax \let\endsnugshade\relax
|
\let\snugshade\relax \let\endsnugshade\relax
|
||||||
\usepackage{minted}
|
\usepackage{minted}
|
||||||
\setminted{linenos=true, tabsize=4, fontsize=\small, xleftmargin=5pt, xrightmargin=5pt,bgcolor=gray!10,frame=lines,framesep=2mm}
|
\setminted{linenos=true, tabsize=4, fontsize=\small, xleftmargin=5pt, xrightmargin=5pt,bgcolor=gray!10,frame=lines,framesep=2mm}
|
||||||
% Mise en page
|
\usetikzlibrary{mindmap,backgrounds}
|
||||||
|
%Mise en page
|
||||||
\title{Notes de Cours}
|
\title{Notes de Cours}
|
||||||
\author{Pierre-Antoine Comby}
|
\author{Pierre-Antoine Comby}
|
||||||
\teacher{Emmanuel Aldea \& Thomas Rodet}
|
\teacher{Emmanuel Aldea \& Thomas Rodet}
|
||||||
|
@ -17,9 +18,9 @@
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
|
\tableofcontents
|
||||||
\chapter{Introduction au traitement d'image}
|
\chapter{Introduction au traitement d'image}
|
||||||
\subfile{chap1.tex}
|
\subfile{chap1.tex}
|
||||||
\chapter{Chapitre2}
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
||||||
|
|