diff --git a/Article/Fig_method/algoAuto.tex b/Article/Fig_method/algoAuto.tex new file mode 100644 index 0000000000000000000000000000000000000000..bafd70f2331b2c20c37f546820469531e3c5de70 --- /dev/null +++ b/Article/Fig_method/algoAuto.tex @@ -0,0 +1,45 @@ +\begin{algorithm}[h] + \SetAlgoLined + \SetKwInOut{Input}{input} + \SetKwInOut{Output}{output} + + \SetKwData{image}{$\mathcal{I}$} + \SetKwData{iwidth}{$W_I$} + \SetKwData{iheight}{$H_I$} + \SetKwData{resol}{$\delta$} + \SetKwData{nullset}{$\emptyset$} + \SetKwData{Result}{Result} + + \SetKwArray{mask}{$\mathcal{M}$} + \SetKwArray{bslist}{BSL} + + \SetKwFunction{multi}{MultiDetect} + \SetKwFunction{pt}{Pt} + + \SetKwData{Begin}{Start} + \SetKwData{End}{End} + + \Input{Image \image, width \iwidth, height \iheight, resolution \resol} + \Output{\textit{\bslist} $\rightarrow$ list of detected blurred segments} + \BlankLine + \bslist $\leftarrow$ \nullset\; + \mask $\leftarrow$ \nullset\; + $i \leftarrow$ \resol/2\; + \Repeat{$i <$ \iwidth/2}{ + \bslist $\leftarrow$ \bslist + \multi (\pt(\iwidth/2-i,\iheight), + \pt(\iwidth/2-i,0), \mask)\; + \bslist $\leftarrow$ \bslist + \multi (\pt(\iwidth/2+i,\iheight), + \pt(\iwidth/2+i,0), \mask)\; + $i \leftarrow i -$ \resol\; + } + $i \leftarrow$ \resol/2\; + \Repeat{$i <$ \iheight/2}{ + \bslist $\leftarrow$ \bslist + \multi (\pt(0,\iheight/2-i), + \pt(\iwidth,\iheight/2-i), \mask)\; + \bslist $\leftarrow$ \bslist + \multi (\pt(0,\iheight/2+i), + \pt(\iwidth,\iheight/2+i), \mask)\; + $i \leftarrow i -$ \resol\; + } + + \caption{AutoDetect: finds all blurred segments in the image.} +\end{algorithm} diff --git a/Article/Fig_method/plafondAuto.png b/Article/Fig_method/plafondAuto.png new file mode 100644 index 0000000000000000000000000000000000000000..ce9d50d33bcef3c0232dc25cfa134c5afbf1953d Binary files /dev/null and b/Article/Fig_method/plafondAuto.png differ diff --git a/Article/Fig_method/plafond_petit.png b/Article/Fig_method/plafond_petit.png new file mode 100755 index 0000000000000000000000000000000000000000..ca8499ffd8106085a21e07150bee48101f266997 Binary files /dev/null and b/Article/Fig_method/plafond_petit.png differ diff --git a/Article/Fig_method/vcercle.png b/Article/Fig_method/vcercle.png new file mode 100644 index 0000000000000000000000000000000000000000..5341e956c2d65b45c9de1f144c97898d3bdd1551 Binary files /dev/null and b/Article/Fig_method/vcercle.png differ diff --git a/Article/Fig_method/vcercleAuto.png b/Article/Fig_method/vcercleAuto.png new file mode 100644 index 0000000000000000000000000000000000000000..d9f8f3298a45da931a9c02a4c4e72c15411c1081 Binary files /dev/null and b/Article/Fig_method/vcercleAuto.png differ diff --git a/Article/main.tex b/Article/main.tex index 6fa922eb18ff44477f54826cc3265819b98cf6de..d01ce795ae216addeb8cc80568db6eb67be514be 100755 --- a/Article/main.tex +++ b/Article/main.tex @@ -4,7 +4,7 @@ %\usepackage[T1]{fontenc} \usepackage{graphicx} -\graphicspath{{./images/}{./images/introduction}} +%\graphicspath{{./Fignotions/}{./Figmethod}} \usepackage[ruled,vlined]{algorithm2e} diff --git a/Article/method.tex b/Article/method.tex index 63adc79987dea8f28c6cc62bb1fd97d46bada938..111ad61262ca6711bb7dd28741c224f52f7e46dd 100755 --- a/Article/method.tex +++ b/Article/method.tex @@ -95,7 +95,6 @@ iii) points marked as occupied are rejected when selecting candidates for the blurred selegment extension in the fine tracking step. \input{Fig_method/algoMulti} -%\input{algo1} Beyond the possible detection of a large set of edges at once, the multi-detection allows the detection of some unaccessible edges in @@ -162,9 +161,44 @@ This example illustrates our detector versatility. \subsection{Automatic blurred segment detection} -Explication et b\'etail de l'algo +An unsupervised mode is also proposed to automatically detect all the +straight edges in the image. A stroke that crosses the whole image, is +swept in both direction, vertical then horizontal, from the center to +the borders. At each position, the multi-detection algorithm is run +to collect all the segments found under the stroke. + +\input{Fig_method/algoAuto} + +The behaviour of the unsupervised detection is depicted through the two +examples of \RefFigure{fig:auto}. +The example on the left shows the detection of thin straight objects on a +circle with variable width. +On the left half of the circumference, the distance between both edges +exceeds the initial assigned width and a thick blurred segment is build +for each of them. Of course, on a curve, a continuous thickenning is +observed untill the blurred segment minimal width reaches the initial +assigned width. +On the right half, both edges are encompassed in a common blurred segment, +and at the extreme right part of the circle, the few distant residual points +are grouped to form a thick segment. + +The example on the right shows the limits of the edge detector on a picture +with quite dense repartition of gradient. +All the salient edges are well detected but they are surrounded be a lot +of false detections, that rely on the presence of many local maxima of +the gradient magnitude with similar orientations. -\subsection{Implementation details} +\begin{figure}[h] +\center + \begin{tabular}{c@{\hspace{0.2cm}}c} + \includegraphics[width=0.37\textwidth]{Fig_method/vcercleAuto.png} & + \includegraphics[width=0.58\textwidth]{Fig_method/plafondAuto.png} + \end{tabular} + \caption{Automatic detection of blurred segments.} + \label{fig:auto} +\end{figure} -A directional scanner is encoded as an iterator that provides successively -all the scan lines. +% \subsection{Implementation details} +% +% A directional scanner is encoded as an iterator that provides successively +% all the scan lines.