From 5a422aba704c375a307a902bafe658342e209906 Mon Sep 17 00:00:00 2001 From: scuri Date: Fri, 17 Oct 2008 06:10:15 +0000 Subject: First commit - moving from LuaForge to SourceForge --- html/en/samples.html | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 html/en/samples.html (limited to 'html/en/samples.html') 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 @@ + + + + + + +Samples + + + + + +

Complete Samples

+

im_info

+ +

This is a command line application that displays information obtained from a file using the IM I/O functions, + basically imFile functions. It depends only on the IM main library.

+

Here is an output sample:

+ +
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
+ +

You can view the source code here: im_info.cpp

+ +

im_copy

+ +

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.

+

You can view the source code here: im_copy.cpp

+ +

proc_fourier

+ +

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.

+

Se also Reference / Image Processing / Domain + Transform Operations.

+

You can view the source code here: proc_fourier.cpp

+ +

im_view

+ +

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 imImage structure to make the implementation easier.

+

For more IUP http://www.tecgraf.puc-rio.br/iup and + more CD http://www.tecgraf.puc-rio.br/cd

+

You can view the source code here im_view.c, or download it with some makefiles + im_view.zip.

+ +

glut_capture

+ +

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.

+

You can view the source code here: glut_capture.c

+ +

iupglcap

+ +

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..

+

You can download the source code and projects for Visual C++, Borland C++ Builder X and Dev-Cpp, here: + iupglcap.zip  You will need to download IUP, CD and IM libraries for the + compiler you use

+ +

IMLAB

+ +

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.

+

For more IMLAB go to + http://www.tecgraf.puc-rio.br/~scuri/imlab.

+ +

Lua Samples

+ +

To retreive information from an image file:

+ +
require"imlua"
+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()    
+ +

To edit pixels in an image and save the changes:

+ +
require"imlua"
+
+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("edit.bmp", "BMP")
+ +

To render noise:

+ +
require"imlua"
+require"imlua_process"
+local image = im.ImageCreate(500, 500, im.RGB, im.BYTE)
+im.ProcessRenderRandomNoise(image) 
+image:Save("noise.tif", "TIFF") 
+ +

To render using the CD library:

+ +
require"imlua"
+require"cdlua"
+require"imlua_cd"
+
+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("Times", cd.BOLD, 24)
+canvas:Text(100, 100, "Test")
+canvas:Line(0,0,100,100)
+canvas:KillCanvas(canvas)
+
+image:Save("new.bmp", "BMP")  
+ +

Check the file samples_imlua5.tar.gz + or samples_imlua5.zip for several samples in Lua. For + some of them you will need also the CD and the IUP libraries.

+ + + + + -- cgit v1.2.3