summaryrefslogtreecommitdiff
path: root/html/en/samples.html
diff options
context:
space:
mode:
authorscuri <scuri>2008-10-17 06:10:15 +0000
committerscuri <scuri>2008-10-17 06:10:15 +0000
commit5a422aba704c375a307a902bafe658342e209906 (patch)
tree5005011e086bb863d8fb587ad3319bbec59b2447 /html/en/samples.html
First commit - moving from LuaForge to SourceForge
Diffstat (limited to 'html/en/samples.html')
-rw-r--r--html/en/samples.html163
1 files changed, 163 insertions, 0 deletions
diff --git a/html/en/samples.html b/html/en/samples.html
new file mode 100644
index 0000000..b659a25
--- /dev/null
+++ b/html/en/samples.html
@@ -0,0 +1,163 @@
+<!doctype HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<head>
+<meta http-equiv="Content-Language" content="en-us">
+<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
+<title>Samples</title>
+<link rel="stylesheet" type="text/css" href="../style.css">
+</head>
+
+<body>
+
+<h1>Complete Samples</h1>
+<h3><code>im_info</code></h3>
+
+ <p>This is a command line application that displays information obtained from a file using the IM I/O functions,
+ basically <b>imFile</b> functions. It depends only on the IM main library.</p>
+ <p>Here is an output sample:</p>
+
+ <pre>IM Info
+ File Name:
+ exif_test.tif
+ File Size: 9.00 Mb
+ Format: TIFF - Tagged Image File Format
+ Compression: NONE
+ Image Count: 1
+ Image #0
+ Width: 2048
+ Height: 1536
+ Color Space: RGB
+ Has Alpha: No
+ Is Packed: Yes
+ Is Top Down: Yes
+ Data Type: byte
+ Data Size: 9.00 Mb
+ Attributes:
+ YResolution: 72.00
+ XResolution: 72.00
+ DateTime: 2004:01:14 11:30:11
+ Make: SONY
+ ResolutionUnit: DPI
+ Model: CD MAVICA
+ Photometric: 2</pre>
+
+ <p>You can view the source code here: <a href="../download/im_info.cpp">im_info.cpp</a></p>
+
+<h3><code>im_copy</code></h3>
+
+ <p>This is a command line application that copies all the information from one file to another using the IM I/O
+ functions. It depends only on the IM main library. It is usefull for testing the drivers.</p>
+ <p>You can view the source code here: <a href="../download/im_copy.cpp">im_copy.cpp</a></p>
+
+<h3><code>proc_fourier</code></h3>
+
+ <p>This is another command line application that process an image in the Fourier Frequency Domain. In this domain the
+ image is a map of the spatial frequencies of the original image. It depends on the IM main library and on the IM_FFTW
+ library. The FFTW is a very fast Fourier transform, but is contaminated by the GPL license, so everything must be also
+ GPL. To use it in a commercial application you must contact the MIT and pay for a commercial license.</p>
+ <p>Se also <a href="doxygen/group__transform.html)">Reference / Image Processing / Domain
+ Transform Operations</a>.</p>
+ <p>You can view the source code here: <a href="../download/proc_fourier.cpp">proc_fourier.cpp</a></p>
+
+<h3><code>im_view</code></h3>
+
+ <p>This application uses IUP and CD to create a window with a canvas and draw the image into that canvas. It is a very
+ simple application, no zoom nor scrollbar management. The image is obtained from a file using the IM I/O functions,
+ but using the <b>imImage</b> structure to make the implementation easier.</p>
+ <p>For more IUP <a target="_blank" href="http://www.tecgraf.puc-rio.br/iup">http://www.tecgraf.puc-rio.br/iup</a> and
+ more CD <a target="_blank" href="http://www.tecgraf.puc-rio.br/cd">http://www.tecgraf.puc-rio.br/cd</a></p>
+ <p>You can view the source code here <a href="../download/im_view.c">im_view.c</a>, or download it with some makefiles
+ <a href="../download/im_view.zip">im_view.zip</a>.</p>
+
+<h3><code>glut_capture</code></h3>
+
+ <p>This application uses GLUT and OpenGL to create a window with a canvas and draw the image into that canvas. But the
+ image is obtained from a capture device. The image can be processed before display and a sequence of captured images
+ can be saved in an AVI file during capture.</p>
+ <p>You can view the source code here: <a href="../download/glut_capture.c">glut_capture.c</a></p>
+
+<h3><code>iupglcap</code></h3>
+
+ <p>This application uses IUP and OpenGL to create a window with two canvases and draw a video capture image into one
+ canvas. A processed image can be displayed in the second canvas. It can also process frames from a video file. It is
+ very usefull for Computer Vision courses..</p>
+ <p>You can download the source code and projects for Visual C++, Borland C++ Builder X and Dev-Cpp, here:
+ <a href="../download/iupglcap.zip">iupglcap.zip</a>&nbsp; You will need to download IUP, CD and IM libraries for the
+ compiler you use</p>
+
+<h3><code>IMLAB</code></h3>
+
+ <p>If you want to see a more complex application with all the IM features explored the IMLAB is a complete example. It
+ displays each image in an individual image with zoom and pan capabilities. All the IM processing operations are
+ available together with some extra operations.</p>
+ <p>For more IMLAB go to <a href="http://www.tecgraf.puc-rio.br/~scuri/imlab">
+ http://www.tecgraf.puc-rio.br/~scuri/imlab</a>.</p>
+
+<h3>Lua Samples</h3>
+
+ <p>To retreive information from an image file:</p>
+
+ <pre>require&quot;imlua&quot;
+local ifile, error = im.FileOpen(file_name)
+local format, compression, image_count = ifile:GetInfo()
+local format_desc = im.FormatInfo(format)
+for i = 1, image_count do
+ local width, height, color_mode, data_type, error = ifile:ReadImageInfo(i)
+end
+ifile:Close() </pre>
+
+ <p>To edit pixels in an image and save the changes:</p>
+
+ <pre>require&quot;imlua&quot;
+
+local image = im.FileImageLoad(filename)
+
+local r = image[0]
+local g = image[1]
+local b = image[2]
+
+for row = 0, image:Height() - 1, 10 do
+ for column = 0, image:Width() - 1, 10 do
+ r[row][column] = 0
+ g[row][column] = 0
+ b[row][column] = 0
+ end
+end
+
+image:Save(&quot;edit.bmp&quot;, &quot;BMP&quot;)</pre>
+
+ <p>To render noise:</p>
+
+ <pre>require&quot;imlua&quot;
+require&quot;imlua_process&quot;
+local image = im.ImageCreate(500, 500, im.RGB, im.BYTE)
+im.ProcessRenderRandomNoise(image)
+image:Save(&quot;noise.tif&quot;, &quot;TIFF&quot;) </pre>
+
+ <p>To render using the CD library:</p>
+
+ <pre>require&quot;imlua&quot;
+require&quot;cdlua&quot;
+require&quot;imlua_cd&quot;
+
+local image = im.ImageCreate(500, 500, im.RGB, im.BYTE)
+local canvas = image:cdCreateCanvas() -- Creates a CD_IMAGERGB canvas
+
+canvas:Activate()
+canvas:Clear()
+canvas:Font(&quot;Times&quot;, cd.BOLD, 24)
+canvas:Text(100, 100, &quot;Test&quot;)
+canvas:Line(0,0,100,100)
+canvas:KillCanvas(canvas)
+
+image:Save(&quot;new.bmp&quot;, &quot;BMP&quot;) </pre>
+
+ <p>Check the file <a href="../download/samples_imlua5.tar.gz">samples_imlua5.tar.gz</a>
+ or <a href="../download/samples_imlua5.zip">samples_imlua5.zip</a> for several samples in Lua. For
+ some of them you will need also the CD and the IUP libraries. </p>
+
+
+</body>
+
+</html>