From 7e1f8b0ed70bc8db75fa682e1fc545343fed9ad8 Mon Sep 17 00:00:00 2001 From: even <philippe.even@loria.fr> Date: Tue, 4 Dec 2018 16:29:56 +0100 Subject: [PATCH] assigned width in article --- Article/Fig_notions/fig.tex | 47 +++++++++++++++++++ Article/biblio.bib | 21 +++++---- Article/method.tex | 59 ++++++++++++------------ Article/notions.tex | 91 ++++++++++++++++++++++--------------- 4 files changed, 146 insertions(+), 72 deletions(-) create mode 100644 Article/Fig_notions/fig.tex diff --git a/Article/Fig_notions/fig.tex b/Article/Fig_notions/fig.tex new file mode 100644 index 0000000..f29f738 --- /dev/null +++ b/Article/Fig_notions/fig.tex @@ -0,0 +1,47 @@ + +\begin{center} +\begin{picture}(320,120)(0,0) +\multiput(-1,119)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,111)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,103)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,95)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,87)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,79)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,71)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,63)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,55)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,47)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,39)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,31)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,23)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,15)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,7)(8,0){40}{\makebox(2,2){.}} +\multiput(-1,-1)(8,0){40}{\makebox(2,2){.}} + +\put(176,24){\circle*{3}} +\multiput(168,32)(0,8){3}{\circle*{3}} +\multiput(160,56)(0,8){2}{\circle*{3}} +\multiput(152,72)(0,8){3}{\circle*{3}} +\put(144,96){\circle*{3}} + +\put(183,23){\framebox(2,2)} +\multiput(175,31)(0,8){3}{\framebox(2,2)} +\multiput(167,55)(0,8){2}{\framebox(2,2)} +\multiput(159,71)(0,8){3}{\framebox(2,2)} +\put(151,95){\framebox(2,2)} + +\put(192,24){\circle{3}} +\multiput(184,32)(0,8){3}{\circle{3}} +\multiput(176,56)(0,8){2}{\circle{3}} +\multiput(168,72)(0,8){3}{\circle{3}} +\put(160,96){\circle{3}} + +\put(168,24){\makebox(2,2){-1}} +\multiput(160,32)(0,8){3}{\makebox(2,2){-1}} +\multiput(152,56)(0,8){2}{\makebox(2,2){-1}} +\multiput(144,72)(0,8){3}{\makebox(2,2){-1}} +\put(136,96){\makebox(2,2){-1}} + +\end{picture} +\end{center} + diff --git a/Article/biblio.bib b/Article/biblio.bib index f0935b9..0f11aef 100755 --- a/Article/biblio.bib +++ b/Article/biblio.bib @@ -1,20 +1,28 @@ +@book{KletteRosenfeld04, + title = {Digital geometry -- Geometric methods for digital picture analysis}, + author = {Klette, Reinhard and Rosenfeld, Azriel}, + editor = {Elsevier}, + publisher = {Morgan Kaufmann}, + year = {2004} +} + + @inproceedings{KerautretEven09, title = {Blurred segments in gray level images for interactive line extraction}, - volume = {5852}, + author = {Kerautret, Bertrand and Even, Philippe}, booktitle = {Proceedings of the 13th {IWCIA}}, + series = {LNCS}, + volume = {5852}, publisher = {Springer}, - author = {Kerautret, Bertrand and Even, Philippe}, editor = {Wiederhold, P. and Barneva, R. P.}, month = nov, year = {2009}, - series = {{LNCS}}, pages = {176--186} } - -@inproceedings{Debled05, +@inproceedings{DebledAl05, title = {Blurred Segments Decomposition in Linear Time}, author = {Debled-Rennesson, Isabelle and Feschet, Fabien and Rouyer-Degli, Jocelyne}, @@ -30,7 +38,6 @@ } - @article{Buzer07, title = "A simple algorithm for digital line recognition in the general case", @@ -44,7 +51,6 @@ } - @article{EvenMalavaud00, author = {Even, Philippe and Malavaud, Anne}, title = {Semi-automated edge segment specification for an interactive @@ -57,7 +63,6 @@ } - @article{AubryAl17, author = {Aubry, Nicolas and Kerautret, Bertrand and Even, Philippe and Debled-Rennesson, Isabelle}, diff --git a/Article/method.tex b/Article/method.tex index f5520c1..fa4d322 100755 --- a/Article/method.tex +++ b/Article/method.tex @@ -5,34 +5,37 @@ The blurred segment detector workflow is summerized in the following figure. -\begin{center} -\begin{picture}(340,34)(0,-4) -%\put(0,-2.5){\framebox(340,35)} -\put(-2,18){\scriptsize $(A,B)$} -\put(-2,15){\vector(1,0){24}} -\put(24,0){\framebox(56,30)} -\put(24,15){\makebox(56,10){Initial}} -\put(24,3){\makebox(56,10){detection}} -\put(86,18){\scriptsize $S_{i}$} -\put(80,15){\vector(1,0){22}} -%\put(102,0){\framebox(56,30)} -\multiput(102,15)(28,9){2}{\line(3,-1){28}} -\multiput(102,15)(28,-9){2}{\line(3,1){28}} -\put(100,0){\makebox(60,30){Valid ?}} -\put(133,-2){\scriptsize $0$} -\put(130,6){\vector(0,-1){10}} -\put(159,18){\scriptsize $(C,\vec{D})$} -\put(158,15){\vector(1,0){28}} -\put(186,0){\framebox(56,30)} -\put(186,15){\makebox(56,10){Fine}} -\put(186,3){\makebox(60,10){tracking}} -\put(250,18){\scriptsize $S_{f}$} -\put(242,15){\vector(1,0){24}} -\put(266,0){\framebox(56,30){Filtering}} -\put(330,18){\scriptsize $S_{o}$} -\put(322,15){\vector(1,0){22}} -\end{picture} -\end{center} +\begin{figure}[h] +\center + \begin{picture}(340,34)(0,-4) + %\put(0,-2.5){\framebox(340,35)} + \put(-2,18){\scriptsize $(A,B)$} + \put(-2,15){\vector(1,0){24}} + \put(24,0){\framebox(56,30)} + \put(24,15){\makebox(56,10){Initial}} + \put(24,3){\makebox(56,10){detection}} + \put(86,18){\scriptsize $S_{i}$} + \put(80,15){\vector(1,0){22}} + %\put(102,0){\framebox(56,30)} + \multiput(102,15)(28,9){2}{\line(3,-1){28}} + \multiput(102,15)(28,-9){2}{\line(3,1){28}} + \put(100,0){\makebox(60,30){Valid ?}} + \put(133,-2){\scriptsize $0$} + \put(130,6){\vector(0,-1){10}} + \put(159,18){\scriptsize $(C,\vec{D})$} + \put(158,15){\vector(1,0){28}} + \put(186,0){\framebox(56,30)} + \put(186,15){\makebox(56,10){Fine}} + \put(186,3){\makebox(60,10){tracking}} + \put(250,18){\scriptsize $S_{f}$} + \put(242,15){\vector(1,0){24}} + \put(266,0){\framebox(56,30){Filtering}} + \put(330,18){\scriptsize $S_{o}$} + \put(322,15){\vector(1,0){22}} + \end{picture} + \caption{The detection method work flow.} + \label{fig:workflow} +\end{figure} The fast track stage consists in building and extending a blurred segment $S_i$ based on the highest gradient points on each line of the directional diff --git a/Article/notions.tex b/Article/notions.tex index bc8d705..15023cb 100755 --- a/Article/notions.tex +++ b/Article/notions.tex @@ -2,53 +2,72 @@ \subsection{Blurred segment} -Our work relies on the notion of digital straight line -as classically defined in the digital geometry literature \cite{debled}. +Our work relies on the notion of digital straight line as classically +defined in the digital geometry literature \cite{KletteRosenfeld04}. Only the 2-dimensional case is considered here. \begin{definition} -A digital line $\cal D$ with integer parameters $(a,b,c,\nu)$ is the set +A digital line $\mathcal{D}$ with integer parameters $(a,b,c,\nu)$ is the set of points $P(x,y)$ of $\mathbb{Z}^2$ that satisfy : $0 \leq ax + by - c < \nu$. \end{definition} -The parameter $\nu$ is the width of the digital line. -If $\nu = max (|a|, |b|)$, $\cal D$ is the narrowest 8-connected line -and is called a naive line. +The parameter $\nu$ is the arithmetic width of the digital line. +When $\nu = max (|a|, |b|)$, $\mathcal{D}$ is the narrowest 8-connected +line and is called a naive line. \begin{definition} -A blurred segment of width $\nu$ is a set ${\cal S}_\nu$ of points in -$\mathbb{Z}^2$ that all belong to a digital line of width $\nu$. +A blurred segment of assigned width $\epsilon$ is a set $\mathcal{S}_\epsilon$ +of points in $\mathbb{Z}^2$ that all belong to a digital line of arithmetical +width $\epsilon$. \end{definition} -\begin{picture}(300,20) -\framebox(300,20){Exemple de segment flou ? (\c ca va finir par lasser)} -\end{picture} - -To construct a blurred segment we use a liner time algorithm based on the -incremental growth of the convex hull of the input points using Melkman -algorithm \cite{Melkman87}. Points are added while the convex hull width -is less than the blurred segment assigned width. +Linear time algorithms have been developed to recognize a blurred segment +of assigned width $\epsilon$ \cite{DebledAl05,Buzer07}. +They are based on an incremental growth of the convex hull of the blurred +segment when adding each point successively. +The minimal width $\mu$ of the blurred segment is the minimal width of +this convex hull as computed by Melkman's algorithm \cite{Melkman87}. +The extension of the blurred segment with a new input point is controlled +by the recognition test $\mu < \epsilon$. + +\begin{figure}[h] +\center + \begin{picture}(300,40) + \end{picture} + \caption{Example of blurred segment and recognition problem.} + \label{fig:bs} +\end{figure} + +At the beginning, a large width $\epsilon_{ini}$ is assigned to the +recognition problem to allow the detection of large blurred segments. +Then, when extending the blurred segment, this assigned width is +gradually decremented to reach the detected blurred segment minimal width. \subsection{Directional scan} -A directional scan is a partition of a digital straight line ${\cal S}$, -called the {\it scan strip}, into naive straight line segments ${\cal L}_i$, -that are orthogonal to ${\cal S}$. The segments, called {\it scan lines}, are -developed on each side of a central scan line ${\cal S}_0$, and labelled -with their manhattan distance ($d_1 = |d_x| + |d_y|$) to ${\cal L}_0$ and +A directional scan is a partition of a digital straight line $\mathcal{S}$, +called the {\it scan strip}, into naive straight line segments $\mathcal{L}_i$, +that are orthogonal to $\mathcal{S}$. The segments, called {\it scan lines}, +are developed on each side of a central scan line $\mathcal{S}_0$, and labelled +with their manhattan distance ($d_1 = |d_x| + |d_y|$) to $\mathcal{L}_0$ and a positive (resp. negative) sign if their are on the left (resp. right) -of ${\cal L}_0$. - -\begin{picture}(300,20) -\framebox(300,20){Exemple de directional scan} -\end{picture} - -The directional scan can be defined by its central scan line ${\cal L}_0$. +of $\mathcal{L}_0$. + +\begin{figure}[h] +\center + %\begin{picture}(300,40) + %\end{picture} + \input{Fig_notions/fig} + \caption{Example of directional scan.} + \label{fig:ds} +\end{figure} + +The directional scan can be defined by its central scan line $\mathcal{L}_0$. If $A(x_A,y_A)$ and $B(x_B,y_B)$ are the end points of this scan line, the scan strip is defined by : \centerline{ -${\cal S}(A,B) = {\cal D}(a, b, c, \nu)$, with +$\mathcal{S}(A,B) = \mathcal{D}(a, b, c, \nu)$, with $\left\{ \begin{array}{l} a = x_B - x_A \\ b = y_B - y_A \\ @@ -59,10 +78,10 @@ c = min (c_1, c_2) \noindent where $c_1 = a\cdot x_A + b\cdot y_A$ and $c_2 = a\cdot x_B + b\cdot y_B$. -The scan line ${\cal L}_i(A,B)$ is then defined by : +The scan line $\mathcal{L}_i(A,B)$ is then defined by : \centerline{ -${\cal L}_i(A,B) = {\cal S}(A,B) \cap {\cal D}(a', b', c', \nu')$, with +$\mathcal{L}_i(A,B) = \mathcal{S}(A,B) \cap \mathcal{D}(a', b', c', \nu')$, with $\left\{ \begin{array}{l} a' = y_B - y_A \\ b' = x_A - x_B \\ @@ -80,7 +99,7 @@ The directional scan can also be defined by its central point $C(x_C,y_C)$, its direction $\vec{D}(x_D,y_D)$ and its width $w$ : \centerline{ -${\cal S}(C,\vec{D},w) = {\cal D}(a, b, c, \nu)$, with +$\mathcal{S}(C,\vec{D},w) = \mathcal{D}(a, b, c, \nu)$, with $\left\{ \begin{array}{l} a = y_D \\ b = -x_D \\ @@ -89,11 +108,11 @@ c = a\cdot x_C + b\cdot y_C - w / 2 \end{array} \right.$ } -and the scan line ${\cal L}_i(A,B)$ by : +and the scan line $\mathcal{L}_i(A,B)$ by : \centerline{ -${\cal L}_i(C,\vec{D},w) = -{\cal S}(C,\vec{D},w) \cap {\cal D}(a', b', c', \nu')$, with +$\mathcal{L}_i(C,\vec{D},w) = +\mathcal{S}(C,\vec{D},w) \cap \mathcal{D}(a', b', c', \nu')$, with $\left\{ \begin{array}{l} a' = x_D \\ b' = y_D \\ @@ -128,4 +147,4 @@ Il faut donc r\'eactualiser la direction du scan. $N$ scans reste limit\'e. -D'o\`u le scan adaptatif $\rightarrow$ r\'eorientation de $\cal S$. +D'o\`u le scan adaptatif $\rightarrow$ r\'eorientation de $\mathcal{S}$. -- GitLab