Alternatively, use \cross{fromarray} with the \texttt{allowND} option to always return a \cross{cvMatND}.
+\subsection{OpenCV to pygame}
+
+To convert an OpenCV image to a \href{http://www.pygame.org/}{pygame} surface:
+
+\begin{lstlisting}
+>>> import pygame.image, cv
+>>> src = cv.LoadImage("lena.jpg")
+>>> src_rgb = cv.CreateMat(src.height, src.width, cv.CV_8UC3)
+>>> cv.CvtColor(src, src_rgb, cv.CV_BGR2RGB)
+>>> pg_img = pygame.image.frombuffer(src_rgb.tostring(), cv.GetSize(src_rgb), "RGB")
+>>> print pg_img
+<Surface(512x512x24 SW)>
+\end{lstlisting}
+
+\subsection{OpenCV and OpenEXR}
+
+Using \href{http://www.excamera.com/sphinx/articles-openexr.html}{OpenEXR's Python bindings} you can make a simple
+image viewer:
+
+\begin{lstlisting}
+import OpenEXR, Imath, cv
+filename = "GoldenGate.exr"
+exrimage = OpenEXR.InputFile(filename)
+
+dw = exrimage.header()['dataWindow']
+(width, height) = (dw.max.x - dw.min.x + 1, dw.max.y - dw.min.y + 1)
+
+def fromstr(s):
+ mat = cv.CreateMat(height, width, cv.CV_32FC1)
+ cv.SetData(mat, s)
+ return mat
+
+pt = Imath.PixelType(Imath.PixelType.FLOAT)
+(r, g, b) = [fromstr(s) for s in exrimage.channels("RGB", pt)]
+
+bgr = cv.CreateMat(height, width, cv.CV_32FC3)
+cv.Merge(b, g, r, None, bgr)
+
+cv.ShowImage(filename, bgr)
+cv.WaitKey()
+\end{lstlisting}
+
\fi
<h2>Help and Feedback</h2>
You did not find what you were looking for?
<ul>
- <li>Try the <a href="faq.html">FAQ</a>.</li>
+ {% if theme_lang == 'c' %}
+ {% endif %}
+ {% if theme_lang == 'cpp' %}
+ <li>Try the <a href="http://opencv.willowgarage.com/wiki/Welcome?action=AttachFile&do=get&target=opencv_cheatsheet.pdf">Cheatsheet</a>.</li>
+ {% endif %}
+ {% if theme_lang == 'py' %}
+ <li>Try the <a href="cookbook.html">Cookbook</a>.</li>
+ {% endif %}
<li>Ask a question in the <a href="http://tech.groups.yahoo.com/group/OpenCV/">user group/mailing list</a>.</li>
<li>If you think something is missing or wrong in the documentation,
please file a <a href="https://code.ros.org/trac/opencv/wiki">bug report</a>.</li>
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
-#html_theme_options = {}
+html_theme_options = {
+ "lang" : "%LANG%" # buildall substitutes this for c, cpp, py
+}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = ['../_themes']