From 5701875ff9e3a7ce3a30f5a2f40afdf9905433b5 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Mon, 7 Mar 2016 12:43:47 +0100 Subject: [PATCH] Add graph for MRF image segmentation --- tikz/graph-mrf-image-segmentation/Makefile | 41 +++++++++++ tikz/graph-mrf-image-segmentation/README.md | 3 + .../graph-mrf-image-segmentation.tex | 73 +++++++++++++++++++ 3 files changed, 117 insertions(+) create mode 100644 tikz/graph-mrf-image-segmentation/Makefile create mode 100644 tikz/graph-mrf-image-segmentation/README.md create mode 100644 tikz/graph-mrf-image-segmentation/graph-mrf-image-segmentation.tex diff --git a/tikz/graph-mrf-image-segmentation/Makefile b/tikz/graph-mrf-image-segmentation/Makefile new file mode 100644 index 0000000..68e8371 --- /dev/null +++ b/tikz/graph-mrf-image-segmentation/Makefile @@ -0,0 +1,41 @@ +SOURCE = graph-mrf-image-segmentation +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +animatedGif: + make + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +svg: + make + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/graph-mrf-image-segmentation/README.md b/tikz/graph-mrf-image-segmentation/README.md new file mode 100644 index 0000000..10304c6 --- /dev/null +++ b/tikz/graph-mrf-image-segmentation/README.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](graph-mrf-image-segmentation.png) diff --git a/tikz/graph-mrf-image-segmentation/graph-mrf-image-segmentation.tex b/tikz/graph-mrf-image-segmentation/graph-mrf-image-segmentation.tex new file mode 100644 index 0000000..4c3ea81 --- /dev/null +++ b/tikz/graph-mrf-image-segmentation/graph-mrf-image-segmentation.tex @@ -0,0 +1,73 @@ +\documentclass[varwidth=true, border=2pt]{standalone} +\usepackage{tikz} + +\begin{document} +\tikzstyle{pixel}=[draw,black,circle,minimum size=10pt,inner sep=0pt,fill=red!50] +\tikzstyle{label}=[draw,black,circle,minimum size=10pt,inner sep=0pt,fill=blue!50] +\tikzstyle{edge}=[very thick] +\begin{tikzpicture}[scale=1.7] + \node (x1)[pixel] at (0.0,1.15) {$x_1$}; + \node (x2)[pixel] at (1.0,1.15) {$x_2$}; + \node (x3)[pixel] at (2.0,1.15) {$x_3$}; + \node (x4)[pixel] at (0.5,1.65) {$x_4$}; + \node (x5)[pixel] at (1.5,1.65) {$x_5$}; + \node (x6)[pixel] at (2.5,1.65) {$x_6$}; + \node (x7)[pixel] at (1.0,2.15) {$x_7$}; + \node (x8)[pixel] at (2.0,2.15) {$x_8$}; + \node (x9)[pixel] at (3.0,2.15) {$x_9$}; + + \node (y1)[label] at (0.0,1.5) {$y_1$}; + \node (y2)[label] at (1.0,1.5) {$y_2$}; + \node (y3)[label] at (2.0,1.5) {$y_3$}; + \node (y4)[label] at (0.5,2.0) {$y_4$}; + \node (y5)[label] at (1.5,2.0) {$y_5$}; + \node (y6)[label] at (2.5,2.0) {$y_6$}; + \node (y7)[label] at (1.0,2.5) {$y_7$}; + \node (y8)[label] at (2.0,2.5) {$y_8$}; + \node (y9)[label] at (3.0,2.5) {$y_9$}; + + \draw[edge] (y1) -- (y2); + \draw[edge] (y1) -- (y4); + \draw[edge] (y2) -- (y3); + \draw[edge] (y2) -- (y5); + \draw[edge] (y3) -- (y6); + \draw[edge] (y4) -- (y5); + \draw[edge] (y4) -- (y7); + \draw[edge] (y5) -- (y6); + \draw[edge] (y5) -- (y8); + \draw[edge] (y6) -- (y9); + \draw[edge] (y7) -- (y8); + \draw[edge] (y8) -- (y9); + + \draw[edge] (x1) -- (y1); + \draw[edge] (x2) -- (y2); + \draw[edge] (x3) -- (y3); + \draw[edge] (x4) -- (y4); + \draw[edge] (x5) -- (y5); + \draw[edge] (x6) -- (y6); + \draw[edge] (x7) -- (y7); + \draw[edge] (x8) -- (y8); + \draw[edge] (x9) -- (y9); + + %\draw [dashed] (-0.5,-0.3) -- (2,-0.3) -- (3.5,1.5) -- (0.5,1.5) -- (-0.5,-0.3); + \node (x1)[pixel] at (0.0,1.15) {$x_1$}; + \node (x2)[pixel] at (1.0,1.15) {$x_2$}; + \node (x3)[pixel] at (2.0,1.15) {$x_3$}; + \node (x4)[pixel] at (0.5,1.65) {$x_4$}; + \node (x5)[pixel] at (1.5,1.65) {$x_5$}; + \node (x6)[pixel] at (2.5,1.65) {$x_6$}; + \node (x7)[pixel] at (1.0,2.15) {$x_7$}; + \node (x8)[pixel] at (2.0,2.15) {$x_8$}; + \node (x9)[pixel] at (3.0,2.15) {$x_9$}; + + \node (y1)[label] at (0.0,1.5) {$y_1$}; + \node (y2)[label] at (1.0,1.5) {$y_2$}; + \node (y3)[label] at (2.0,1.5) {$y_3$}; + \node (y4)[label] at (0.5,2.0) {$y_4$}; + \node (y5)[label] at (1.5,2.0) {$y_5$}; + \node (y6)[label] at (2.5,2.0) {$y_6$}; + \node (y7)[label] at (1.0,2.5) {$y_7$}; + \node (y8)[label] at (2.0,2.5) {$y_8$}; + \node (y9)[label] at (3.0,2.5) {$y_9$}; +\end{tikzpicture} +\end{document}