ruby-iup 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +97 -0
- data/doc/README +10 -0
- data/doc/build_install.txt +77 -0
- data/examples/README +16 -0
- data/examples/ctrl/cbox.rb +221 -0
- data/examples/ctrl/checkboard.rb +33 -0
- data/examples/ctrl/degrade.rb +73 -0
- data/examples/ctrl/example1.rb +53 -0
- data/examples/ctrl/example2.rb +39 -0
- data/examples/ctrl/iupcolorbar.rb +95 -0
- data/examples/ctrl/iupcolorbrowser.rb +45 -0
- data/examples/ctrl/iupdial.rb +117 -0
- data/examples/ctrl/iupgauge.rb +242 -0
- data/examples/ctrl/iupgetcolor.rb +8 -0
- data/examples/ctrl/iupgetparam.rb +62 -0
- data/examples/ctrl/iupglcanvas.rb +172 -0
- data/examples/ctrl/iupmask.rb +15 -0
- data/examples/ctrl/iupmatrix.rb +39 -0
- data/examples/ctrl/iupplot2.rb +603 -0
- data/examples/ctrl/iuptabs.rb +22 -0
- data/examples/ctrl/iuptree.rb +190 -0
- data/examples/ctrl/iupval.rb +71 -0
- data/examples/ctrl/numbering.rb +46 -0
- data/examples/ctrl/sample.rb +166 -0
- data/examples/dlg/iupalarm.rb +14 -0
- data/examples/dlg/iupfiledlg.rb +19 -0
- data/examples/dlg/iupgetfile.rb +19 -0
- data/examples/dlg/iuplistdialog.rb +26 -0
- data/examples/dlg/iupmessage.rb +5 -0
- data/examples/dlg/iupscanf.rb +17 -0
- data/examples/elem/iupbutton.rb +197 -0
- data/examples/elem/iupcanvas.rb +27 -0
- data/examples/elem/iupcanvas2.rb +113 -0
- data/examples/elem/iupcanvas3.rb +62 -0
- data/examples/elem/iupdialog.rb +71 -0
- data/examples/elem/iupdialog2.rb +25 -0
- data/examples/elem/iupfill.rb +51 -0
- data/examples/elem/iupframe.rb +25 -0
- data/examples/elem/iuphbox.rb +68 -0
- data/examples/elem/iupimage.rb +113 -0
- data/examples/elem/iupitem.rb +60 -0
- data/examples/elem/iuplabel.rb +57 -0
- data/examples/elem/iuplist.rb +41 -0
- data/examples/elem/iuplist2.rb +125 -0
- data/examples/elem/iupmenu.rb +32 -0
- data/examples/elem/iupmultiline.rb +24 -0
- data/examples/elem/iupmultiline2.rb +156 -0
- data/examples/elem/iupradio.rb +32 -0
- data/examples/elem/iupseparator.rb +81 -0
- data/examples/elem/iupsubmenu.rb +85 -0
- data/examples/elem/iuptext.rb +61 -0
- data/examples/elem/iuptimer.rb +36 -0
- data/examples/elem/iuptoggle.rb +110 -0
- data/examples/elem/iupvbox.rb +87 -0
- data/examples/elem/iupzbox.rb +60 -0
- data/examples/elem/mdisample.rb +376 -0
- data/examples/elem/progressbar.rb +294 -0
- data/examples/elem/scrollbar.rb +66 -0
- data/examples/elem/tray.rb +90 -0
- data/examples/func/iupgetattribute.rb +32 -0
- data/examples/func/iupidle.rb +48 -0
- data/ext/extconf.rb +27 -0
- data/ext/iup-linux/include/cd.h +494 -0
- data/ext/iup-linux/include/cd_canvas.hpp +358 -0
- data/ext/iup-linux/include/cd_old.h +158 -0
- data/ext/iup-linux/include/cd_private.h +362 -0
- data/ext/iup-linux/include/cdcgm.h +34 -0
- data/ext/iup-linux/include/cdclipbd.h +22 -0
- data/ext/iup-linux/include/cddbuf.h +23 -0
- data/ext/iup-linux/include/cddebug.h +24 -0
- data/ext/iup-linux/include/cddgn.h +23 -0
- data/ext/iup-linux/include/cddxf.h +22 -0
- data/ext/iup-linux/include/cdemf.h +22 -0
- data/ext/iup-linux/include/cdgdiplus.h +29 -0
- data/ext/iup-linux/include/cdimage.h +23 -0
- data/ext/iup-linux/include/cdirgb.h +30 -0
- data/ext/iup-linux/include/cdiup.h +22 -0
- data/ext/iup-linux/include/cdlua.h +39 -0
- data/ext/iup-linux/include/cdlua3_private.h +120 -0
- data/ext/iup-linux/include/cdlua5_private.h +141 -0
- data/ext/iup-linux/include/cdluaim.h +24 -0
- data/ext/iup-linux/include/cdluaiup.h +27 -0
- data/ext/iup-linux/include/cdluapdf.h +27 -0
- data/ext/iup-linux/include/cdmf.h +24 -0
- data/ext/iup-linux/include/cdmf_private.h +32 -0
- data/ext/iup-linux/include/cdnative.h +26 -0
- data/ext/iup-linux/include/cdpdf.h +38 -0
- data/ext/iup-linux/include/cdpicture.h +22 -0
- data/ext/iup-linux/include/cdprint.h +23 -0
- data/ext/iup-linux/include/cdps.h +37 -0
- data/ext/iup-linux/include/cdwmf.h +22 -0
- data/ext/iup-linux/include/im.h +282 -0
- data/ext/iup-linux/include/im_attrib.h +116 -0
- data/ext/iup-linux/include/im_attrib_flat.h +39 -0
- data/ext/iup-linux/include/im_binfile.h +214 -0
- data/ext/iup-linux/include/im_capture.h +365 -0
- data/ext/iup-linux/include/im_color.h +465 -0
- data/ext/iup-linux/include/im_colorhsi.h +61 -0
- data/ext/iup-linux/include/im_complex.h +160 -0
- data/ext/iup-linux/include/im_convert.h +127 -0
- data/ext/iup-linux/include/im_counter.h +69 -0
- data/ext/iup-linux/include/im_dib.h +195 -0
- data/ext/iup-linux/include/im_file.h +111 -0
- data/ext/iup-linux/include/im_format.h +79 -0
- data/ext/iup-linux/include/im_format_all.h +576 -0
- data/ext/iup-linux/include/im_format_avi.h +87 -0
- data/ext/iup-linux/include/im_format_ecw.h +93 -0
- data/ext/iup-linux/include/im_format_jp2.h +78 -0
- data/ext/iup-linux/include/im_format_raw.h +64 -0
- data/ext/iup-linux/include/im_format_wmv.h +100 -0
- data/ext/iup-linux/include/im_image.h +403 -0
- data/ext/iup-linux/include/im_kernel.h +315 -0
- data/ext/iup-linux/include/im_lib.h +191 -0
- data/ext/iup-linux/include/im_math.h +368 -0
- data/ext/iup-linux/include/im_math_op.h +219 -0
- data/ext/iup-linux/include/im_palette.h +172 -0
- data/ext/iup-linux/include/im_plus.h +73 -0
- data/ext/iup-linux/include/im_process.h +35 -0
- data/ext/iup-linux/include/im_process_ana.h +221 -0
- data/ext/iup-linux/include/im_process_glo.h +170 -0
- data/ext/iup-linux/include/im_process_loc.h +577 -0
- data/ext/iup-linux/include/im_process_pon.h +712 -0
- data/ext/iup-linux/include/im_raw.h +34 -0
- data/ext/iup-linux/include/im_util.h +277 -0
- data/ext/iup-linux/include/imlua.h +83 -0
- data/ext/iup-linux/include/iup.h +255 -0
- data/ext/iup-linux/include/iup_pplot.h +40 -0
- data/ext/iup-linux/include/iupcb.h +25 -0
- data/ext/iup-linux/include/iupcbox.h +23 -0
- data/ext/iup-linux/include/iupcbs.h +42 -0
- data/ext/iup-linux/include/iupcells.h +130 -0
- data/ext/iup-linux/include/iupcolorbar.h +126 -0
- data/ext/iup-linux/include/iupcompat.h +62 -0
- data/ext/iup-linux/include/iupcontrols.h +40 -0
- data/ext/iup-linux/include/iupcpi.h +76 -0
- data/ext/iup-linux/include/iupdef.h +520 -0
- data/ext/iup-linux/include/iupdial.h +64 -0
- data/ext/iup-linux/include/iupgauge.h +57 -0
- data/ext/iup-linux/include/iupgc.h +20 -0
- data/ext/iup-linux/include/iupgetparam.h +27 -0
- data/ext/iup-linux/include/iupgl.h +101 -0
- data/ext/iup-linux/include/iupim.h +21 -0
- data/ext/iup-linux/include/iupkey.h +290 -0
- data/ext/iup-linux/include/iuplua.h +41 -0
- data/ext/iup-linux/include/iuplua_pplot.h +26 -0
- data/ext/iup-linux/include/iupluacontrols.h +27 -0
- data/ext/iup-linux/include/iupluagl.h +26 -0
- data/ext/iup-linux/include/iupluaim.h +26 -0
- data/ext/iup-linux/include/iupluaole.h +26 -0
- data/ext/iup-linux/include/iupmask.h +52 -0
- data/ext/iup-linux/include/iupmatrix.h +69 -0
- data/ext/iup-linux/include/iupole.h +24 -0
- data/ext/iup-linux/include/iupsbox.h +20 -0
- data/ext/iup-linux/include/iupspeech.h +23 -0
- data/ext/iup-linux/include/iupspin.h +21 -0
- data/ext/iup-linux/include/iuptabs.h +79 -0
- data/ext/iup-linux/include/iuptree.h +93 -0
- data/ext/iup-linux/include/iupval.h +46 -0
- data/ext/iup-linux/include/lauxlib.h +174 -0
- data/ext/iup-linux/include/lua.h +388 -0
- data/ext/iup-linux/include/lua.hpp +9 -0
- data/ext/iup-linux/include/luaconf.h +763 -0
- data/ext/iup-linux/include/lualib.h +53 -0
- data/ext/iup-linux/include/old_im.h +59 -0
- data/ext/iup-linux/include/wd.h +78 -0
- data/ext/iup-linux/include/wd_old.h +85 -0
- data/ext/iup-linux/libcd.so +0 -0
- data/ext/iup-linux/libcdcontextplus.so +0 -0
- data/ext/iup-linux/libcdluacontextplus51.so +0 -0
- data/ext/iup-linux/libcdpdf.so +0 -0
- data/ext/iup-linux/libfreetype.so +0 -0
- data/ext/iup-linux/libim.so +0 -0
- data/ext/iup-linux/libim_fftw.so +0 -0
- data/ext/iup-linux/libim_jp2.so +0 -0
- data/ext/iup-linux/libim_process.so +0 -0
- data/ext/iup-linux/libiup.so +0 -0
- data/ext/iup-linux/libiup_pplot.so +0 -0
- data/ext/iup-linux/libiupcd.so +0 -0
- data/ext/iup-linux/libiupcontrols.so +0 -0
- data/ext/iup-linux/libiupgl.so +0 -0
- data/ext/iup-linux/libiupim.so +0 -0
- data/ext/iup-linux/libiupimglib.so +0 -0
- data/ext/iup-linux/libpdflib.so +0 -0
- data/ext/iup-win32/cd.dll +0 -0
- data/ext/iup-win32/cd.lib +0 -0
- data/ext/iup-win32/cdcontextplus.dll +0 -0
- data/ext/iup-win32/cdcontextplus.lib +0 -0
- data/ext/iup-win32/cdlua51.lib +0 -0
- data/ext/iup-win32/cdluacontextplus51.lib +0 -0
- data/ext/iup-win32/cdluaim51.lib +0 -0
- data/ext/iup-win32/cdluapdf51.lib +0 -0
- data/ext/iup-win32/cdpdf.dll +0 -0
- data/ext/iup-win32/cdpdf.lib +0 -0
- data/ext/iup-win32/freetype6.dll +0 -0
- data/ext/iup-win32/freetype6.lib +0 -0
- data/ext/iup-win32/im.dll +0 -0
- data/ext/iup-win32/im_avi.dll +0 -0
- data/ext/iup-win32/im_capture.dll +0 -0
- data/ext/iup-win32/im_ecw.dll +0 -0
- data/ext/iup-win32/im_fftw.dll +0 -0
- data/ext/iup-win32/im_jp2.dll +0 -0
- data/ext/iup-win32/im_process.dll +0 -0
- data/ext/iup-win32/im_wmv.dll +0 -0
- data/ext/iup-win32/include/cd.h +494 -0
- data/ext/iup-win32/include/cd_canvas.hpp +358 -0
- data/ext/iup-win32/include/cd_old.h +158 -0
- data/ext/iup-win32/include/cd_private.h +362 -0
- data/ext/iup-win32/include/cdcgm.h +34 -0
- data/ext/iup-win32/include/cdclipbd.h +22 -0
- data/ext/iup-win32/include/cddbuf.h +23 -0
- data/ext/iup-win32/include/cddebug.h +24 -0
- data/ext/iup-win32/include/cddgn.h +23 -0
- data/ext/iup-win32/include/cddxf.h +22 -0
- data/ext/iup-win32/include/cdemf.h +22 -0
- data/ext/iup-win32/include/cdgdiplus.h +29 -0
- data/ext/iup-win32/include/cdimage.h +23 -0
- data/ext/iup-win32/include/cdirgb.h +30 -0
- data/ext/iup-win32/include/cdiup.h +22 -0
- data/ext/iup-win32/include/cdlua.h +39 -0
- data/ext/iup-win32/include/cdlua3_private.h +120 -0
- data/ext/iup-win32/include/cdlua5_private.h +141 -0
- data/ext/iup-win32/include/cdluaim.h +24 -0
- data/ext/iup-win32/include/cdluaiup.h +27 -0
- data/ext/iup-win32/include/cdluapdf.h +27 -0
- data/ext/iup-win32/include/cdmf.h +24 -0
- data/ext/iup-win32/include/cdmf_private.h +32 -0
- data/ext/iup-win32/include/cdnative.h +26 -0
- data/ext/iup-win32/include/cdpdf.h +38 -0
- data/ext/iup-win32/include/cdpicture.h +22 -0
- data/ext/iup-win32/include/cdprint.h +23 -0
- data/ext/iup-win32/include/cdps.h +37 -0
- data/ext/iup-win32/include/cdwmf.h +22 -0
- data/ext/iup-win32/include/iup.h +255 -0
- data/ext/iup-win32/include/iup_pplot.h +40 -0
- data/ext/iup-win32/include/iupcb.h +25 -0
- data/ext/iup-win32/include/iupcbox.h +23 -0
- data/ext/iup-win32/include/iupcbs.h +42 -0
- data/ext/iup-win32/include/iupcells.h +130 -0
- data/ext/iup-win32/include/iupcolorbar.h +126 -0
- data/ext/iup-win32/include/iupcompat.h +62 -0
- data/ext/iup-win32/include/iupcontrols.h +40 -0
- data/ext/iup-win32/include/iupcpi.h +76 -0
- data/ext/iup-win32/include/iupdef.h +520 -0
- data/ext/iup-win32/include/iupdial.h +64 -0
- data/ext/iup-win32/include/iupgauge.h +57 -0
- data/ext/iup-win32/include/iupgc.h +20 -0
- data/ext/iup-win32/include/iupgetparam.h +27 -0
- data/ext/iup-win32/include/iupgl.h +101 -0
- data/ext/iup-win32/include/iupim.h +21 -0
- data/ext/iup-win32/include/iupkey.h +290 -0
- data/ext/iup-win32/include/iuplua.h +41 -0
- data/ext/iup-win32/include/iuplua_pplot.h +26 -0
- data/ext/iup-win32/include/iupluacontrols.h +27 -0
- data/ext/iup-win32/include/iupluagl.h +26 -0
- data/ext/iup-win32/include/iupluaim.h +26 -0
- data/ext/iup-win32/include/iupluaole.h +26 -0
- data/ext/iup-win32/include/iupmask.h +52 -0
- data/ext/iup-win32/include/iupmatrix.h +69 -0
- data/ext/iup-win32/include/iupole.h +24 -0
- data/ext/iup-win32/include/iupsbox.h +20 -0
- data/ext/iup-win32/include/iupspeech.h +23 -0
- data/ext/iup-win32/include/iupspin.h +21 -0
- data/ext/iup-win32/include/iuptabs.h +79 -0
- data/ext/iup-win32/include/iuptree.h +93 -0
- data/ext/iup-win32/include/iupval.h +46 -0
- data/ext/iup-win32/include/wd.h +78 -0
- data/ext/iup-win32/include/wd_old.h +85 -0
- data/ext/iup-win32/iup.dll +0 -0
- data/ext/iup-win32/iup.lib +0 -0
- data/ext/iup-win32/iup_pplot.dll +0 -0
- data/ext/iup-win32/iup_pplot.lib +0 -0
- data/ext/iup-win32/iupcd.dll +0 -0
- data/ext/iup-win32/iupcd.lib +0 -0
- data/ext/iup-win32/iupcontrols.dll +0 -0
- data/ext/iup-win32/iupcontrols.lib +0 -0
- data/ext/iup-win32/iupgl.dll +0 -0
- data/ext/iup-win32/iupgl.lib +0 -0
- data/ext/iup-win32/iupim.dll +0 -0
- data/ext/iup-win32/iupim.lib +0 -0
- data/ext/iup-win32/iupimglib.dll +0 -0
- data/ext/iup-win32/iupimglib.lib +0 -0
- data/ext/iup-win32/iuplua51.lib +0 -0
- data/ext/iup-win32/iuplua_pplot51.lib +0 -0
- data/ext/iup-win32/iupluacd51.lib +0 -0
- data/ext/iup-win32/iupluacontrols51.lib +0 -0
- data/ext/iup-win32/iupluagl51.lib +0 -0
- data/ext/iup-win32/iupluaim51.lib +0 -0
- data/ext/iup-win32/iupluaimglib51.lib +0 -0
- data/ext/iup-win32/iupluaole51.lib +0 -0
- data/ext/iup-win32/iupole.dll +0 -0
- data/ext/iup-win32/iupole.lib +0 -0
- data/ext/iup-win32/iupstub.lib +0 -0
- data/ext/iup-win32/pdflib.dll +0 -0
- data/ext/iup-win32/pdflib.lib +0 -0
- data/ext/iup.c +1261 -0
- data/ext/mkrf_conf.rb +72 -0
- data/ext/rb_cd.h +1525 -0
- data/ext/rb_iup.h +2446 -0
- data/ext/rb_iup_pplot.h +129 -0
- data/ext/rb_iupcb.h +13 -0
- data/ext/rb_iupcbox.h +40 -0
- data/ext/rb_iupcells.h +15 -0
- data/ext/rb_iupcolorbar.h +17 -0
- data/ext/rb_iupcompat.h +237 -0
- data/ext/rb_iupcontrols.h +28 -0
- data/ext/rb_iupdef.h +3 -0
- data/ext/rb_iupdial.h +24 -0
- data/ext/rb_iupgauge.h +15 -0
- data/ext/rb_iupgc.h +18 -0
- data/ext/rb_iupgetparam.h +72 -0
- data/ext/rb_iupgl.h +58 -0
- data/ext/rb_iupim.h +25 -0
- data/ext/rb_iupmask.h +189 -0
- data/ext/rb_iupmatrix.h +80 -0
- data/ext/rb_iupole.h +24 -0
- data/ext/rb_iupsbox.h +23 -0
- data/ext/rb_iupspeech.h +25 -0
- data/ext/rb_iupspin.h +29 -0
- data/ext/rb_iuptabs.h +29 -0
- data/ext/rb_iuptree.h +94 -0
- data/ext/rb_iupval.h +24 -0
- data/lib/README +1 -0
- metadata +391 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/** \file
|
|
2
|
+
* \brief Palette Generators
|
|
3
|
+
*
|
|
4
|
+
* See Copyright Notice in im_lib.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef __IM_PALETTE_H
|
|
8
|
+
#define __IM_PALETTE_H
|
|
9
|
+
|
|
10
|
+
#if defined(__cplusplus)
|
|
11
|
+
extern "C" {
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
/** \defgroup palette Palette Generators
|
|
16
|
+
* \par
|
|
17
|
+
* Creates several standard palettes. The palette is just an array of encoded color values.
|
|
18
|
+
* See also \ref colorutl.
|
|
19
|
+
* \par
|
|
20
|
+
* In Lua, to create a palette you can call im.PaletteCreate.
|
|
21
|
+
* \verbatim im.PaletteCreate([count: number]) -> pal: imPalette [in Lua 5] \endverbatim
|
|
22
|
+
* Default count is 256.
|
|
23
|
+
* IMLua and CDLua palettes are 100% compatible. The IM palette metatable name is "imPalette". \n
|
|
24
|
+
* When converted to a string will return "imPalete(%p)" where %p is replaced by the userdata address.
|
|
25
|
+
* If the palette is already destroyed by im.PaletteDestroy, then it will return also the suffix "-destroyed".
|
|
26
|
+
* \par
|
|
27
|
+
* In Lua, to destroy a palette you can call im.PaletteDestroy.
|
|
28
|
+
* If this function is not called, the palette is destroyed by the garbage collector.
|
|
29
|
+
* \verbatim im.PaletteDestroy(pal: imPalette) [in Lua 5] \endverbatim
|
|
30
|
+
* \par
|
|
31
|
+
* In Lua, array access is enabled so you can do:.
|
|
32
|
+
* \verbatim color = pal[index] \endverbatim
|
|
33
|
+
* \verbatim pal[index] = color \endverbatim
|
|
34
|
+
* \verbatim count = #pal \endverbatim
|
|
35
|
+
* \par
|
|
36
|
+
* See \ref im_palette.h
|
|
37
|
+
* \ingroup util */
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/** Searches for the nearest color on the table and returns the color index if successful.
|
|
41
|
+
* It looks in all palette entries and finds the minimum euclidian square distance.
|
|
42
|
+
* If the color matches the given color it returns immediately.
|
|
43
|
+
* See also \ref colorutl.
|
|
44
|
+
*
|
|
45
|
+
* \verbatim im.PaletteFindNearest(pal: imPalette, color: lightuserdata) -> index: number [in Lua 5] \endverbatim
|
|
46
|
+
* \ingroup palette */
|
|
47
|
+
int imPaletteFindNearest(const long *palette, int palette_count, long color);
|
|
48
|
+
|
|
49
|
+
/** Searches for the color on the table and returns the color index if successful.
|
|
50
|
+
* If the tolerance is 0 search for the exact match in the palette else search for the
|
|
51
|
+
* first color that fits in the tolerance range.
|
|
52
|
+
* See also \ref colorutl.
|
|
53
|
+
*
|
|
54
|
+
* \verbatim im.PaletteFindColor(pal: imPalette, color: lightuserdata, tol: number) -> index: number [in Lua 5] \endverbatim
|
|
55
|
+
* \ingroup palette */
|
|
56
|
+
int imPaletteFindColor(const long *palette, int palette_count, long color, unsigned char tol);
|
|
57
|
+
|
|
58
|
+
/** Creates a palette of gray scale values.
|
|
59
|
+
* The colors are arranged from black to white.
|
|
60
|
+
*
|
|
61
|
+
* \verbatim im.PaletteGray() -> pal: imPalette [in Lua 5] \endverbatim
|
|
62
|
+
* \ingroup palette */
|
|
63
|
+
long* imPaletteGray(void);
|
|
64
|
+
|
|
65
|
+
/** Creates a palette of a gradient of red colors.
|
|
66
|
+
* The colors are arranged from black to pure red.
|
|
67
|
+
*
|
|
68
|
+
* \verbatim im.PaletteRed() -> pal: imPalette [in Lua 5] \endverbatim
|
|
69
|
+
* \ingroup palette */
|
|
70
|
+
long* imPaletteRed(void);
|
|
71
|
+
|
|
72
|
+
/** Creates a palette of a gradient of green colors.
|
|
73
|
+
* The colors are arranged from black to pure green.
|
|
74
|
+
*
|
|
75
|
+
* \verbatim im.PaletteGreen() -> pal: imPalette [in Lua 5] \endverbatim
|
|
76
|
+
* \ingroup palette */
|
|
77
|
+
long* imPaletteGreen(void);
|
|
78
|
+
|
|
79
|
+
/** Creates a palette of a gradient of blue colors.
|
|
80
|
+
* The colors are arranged from black to pure blue.
|
|
81
|
+
*
|
|
82
|
+
* \verbatim im.PaletteBlue() -> pal: imPalette [in Lua 5] \endverbatim
|
|
83
|
+
* \ingroup palette */
|
|
84
|
+
long* imPaletteBlue(void);
|
|
85
|
+
|
|
86
|
+
/** Creates a palette of a gradient of yellow colors.
|
|
87
|
+
* The colors are arranged from black to pure yellow.
|
|
88
|
+
*
|
|
89
|
+
* \verbatim im.PaletteYellow() -> pal: imPalette [in Lua 5] \endverbatim
|
|
90
|
+
* \ingroup palette */
|
|
91
|
+
long* imPaletteYellow(void);
|
|
92
|
+
|
|
93
|
+
/** Creates a palette of a gradient of magenta colors.
|
|
94
|
+
* The colors are arranged from black to pure magenta.
|
|
95
|
+
*
|
|
96
|
+
* \verbatim im.PaletteMagenta() -> pal: imPalette [in Lua 5] \endverbatim
|
|
97
|
+
* \ingroup palette */
|
|
98
|
+
long* imPaletteMagenta(void);
|
|
99
|
+
|
|
100
|
+
/** Creates a palette of a gradient of cian colors.
|
|
101
|
+
* The colors are arranged from black to pure cian.
|
|
102
|
+
*
|
|
103
|
+
* \verbatim im.PaletteCian() -> pal: imPalette [in Lua 5] \endverbatim
|
|
104
|
+
* \ingroup palette */
|
|
105
|
+
long* imPaletteCian(void);
|
|
106
|
+
|
|
107
|
+
/** Creates a palette of rainbow colors.
|
|
108
|
+
* The colors are arranged in the light wave length spectrum order (starting from purple).
|
|
109
|
+
*
|
|
110
|
+
* \verbatim im.PaletteRainbow() -> pal: imPalette [in Lua 5] \endverbatim
|
|
111
|
+
* \ingroup palette */
|
|
112
|
+
long* imPaletteRainbow(void);
|
|
113
|
+
|
|
114
|
+
/** Creates a palette of hues with maximum saturation.
|
|
115
|
+
*
|
|
116
|
+
* \verbatim im.PaletteHues() -> pal: imPalette [in Lua 5] \endverbatim
|
|
117
|
+
* \ingroup palette */
|
|
118
|
+
long* imPaletteHues(void);
|
|
119
|
+
|
|
120
|
+
/** Creates a palette of a gradient of blue colors.
|
|
121
|
+
* The colors are arranged from pure blue to white.
|
|
122
|
+
*
|
|
123
|
+
* \verbatim im.PaletteBlueIce() -> pal: imPalette [in Lua 5] \endverbatim
|
|
124
|
+
* \ingroup palette */
|
|
125
|
+
long* imPaletteBlueIce(void);
|
|
126
|
+
|
|
127
|
+
/** Creates a palette of a gradient from black to white passing trough red and orange.
|
|
128
|
+
*
|
|
129
|
+
* \verbatim im.PaletteHotIron() -> pal: imPalette [in Lua 5] \endverbatim
|
|
130
|
+
* \ingroup palette */
|
|
131
|
+
long* imPaletteHotIron(void);
|
|
132
|
+
|
|
133
|
+
/** Creates a palette of a gradient from black to white passing trough red and yellow.
|
|
134
|
+
*
|
|
135
|
+
* \verbatim im.PaletteBlackBody() -> pal: imPalette [in Lua 5] \endverbatim
|
|
136
|
+
* \ingroup palette */
|
|
137
|
+
long* imPaletteBlackBody(void);
|
|
138
|
+
|
|
139
|
+
/** Creates a palette with high contrast colors.
|
|
140
|
+
*
|
|
141
|
+
* \verbatim im.PaletteHighContrast() -> pal: imPalette [in Lua 5] \endverbatim
|
|
142
|
+
* \ingroup palette */
|
|
143
|
+
long* imPaletteHighContrast(void);
|
|
144
|
+
|
|
145
|
+
/** Creates a palette of an uniform range of colors from black to white.
|
|
146
|
+
* This is a 2^(2.6) bits per pixel palette.
|
|
147
|
+
*
|
|
148
|
+
* \verbatim im.PaletteUniform() -> pal: imPalette [in Lua 5] \endverbatim
|
|
149
|
+
* \ingroup palette */
|
|
150
|
+
long* imPaletteUniform(void);
|
|
151
|
+
|
|
152
|
+
/** Returns the index of the correspondent RGB color of an uniform palette.
|
|
153
|
+
*
|
|
154
|
+
* \verbatim im.PaletteUniformIndex(color: lightuserdata) -> index: number [in Lua 5] \endverbatim
|
|
155
|
+
* \ingroup palette */
|
|
156
|
+
int imPaletteUniformIndex(long color);
|
|
157
|
+
|
|
158
|
+
/** Returns the index of the correspondent RGB color of an uniform palette.
|
|
159
|
+
* Uses an 8x8 ordered dither to lookup the index in a halftone matrix.
|
|
160
|
+
* The spatial position used by the halftone method.
|
|
161
|
+
*
|
|
162
|
+
* \verbatim im.PaletteUniformIndexHalftoned(color: lightuserdata, x: number, y: number) -> index: number [in Lua 5] \endverbatim
|
|
163
|
+
* \ingroup palette */
|
|
164
|
+
int imPaletteUniformIndexHalftoned(long color, int x, int y);
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
#if defined(__cplusplus)
|
|
168
|
+
}
|
|
169
|
+
#endif
|
|
170
|
+
|
|
171
|
+
#endif
|
|
172
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/** \file
|
|
2
|
+
* \brief C++ Wrapper for File Access
|
|
3
|
+
*
|
|
4
|
+
* See Copyright Notice in im_lib.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef __IM_PLUS_H
|
|
8
|
+
#define __IM_PLUS_H
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/** \brief C++ Wrapper for the Image File Structure
|
|
12
|
+
*
|
|
13
|
+
* \par
|
|
14
|
+
* Usage is just like the C API. Open and New are replaced by equivalent constructors. \n
|
|
15
|
+
* Close is replaced by the destructor. Error checking is done by the Error() member. \n
|
|
16
|
+
* Open and New errors are cheked using the Failed() member.
|
|
17
|
+
* \ingroup file */
|
|
18
|
+
class imImageFile
|
|
19
|
+
{
|
|
20
|
+
imFile* ifile;
|
|
21
|
+
int error;
|
|
22
|
+
|
|
23
|
+
imImageFile() {};
|
|
24
|
+
|
|
25
|
+
public:
|
|
26
|
+
|
|
27
|
+
imImageFile(const char* file_name)
|
|
28
|
+
{ this->ifile = imFileOpen(file_name, &this->error); }
|
|
29
|
+
|
|
30
|
+
imImageFile(const char* file_name, const char* format)
|
|
31
|
+
{ this->ifile = imFileNew(file_name, format, &this->error); }
|
|
32
|
+
|
|
33
|
+
~imImageFile()
|
|
34
|
+
{ if (this->ifile) imFileClose(this->ifile); }
|
|
35
|
+
|
|
36
|
+
int Failed()
|
|
37
|
+
{ return this->ifile == 0; }
|
|
38
|
+
|
|
39
|
+
int Error()
|
|
40
|
+
{ return this->error; }
|
|
41
|
+
|
|
42
|
+
void SetAttribute(const char* attrib, int data_type, int count, const void* data)
|
|
43
|
+
{ imFileSetAttribute(this->ifile, attrib, data_type, count, data); }
|
|
44
|
+
|
|
45
|
+
const void* GetAttribute(const char* attrib, int *data_type, int *count)
|
|
46
|
+
{ return imFileGetAttribute(this->ifile, attrib, data_type, count); }
|
|
47
|
+
|
|
48
|
+
void GetInfo(char* format, char* compression, int *image_count)
|
|
49
|
+
{ imFileGetInfo(this->ifile, format, compression, image_count); }
|
|
50
|
+
|
|
51
|
+
void ReadImageInfo(int index, int *width, int *height, int *color_mode, int *data_type)
|
|
52
|
+
{ this->error = imFileReadImageInfo(this->ifile, index, width, height, color_mode, data_type); }
|
|
53
|
+
|
|
54
|
+
void GetPalette(long* palette, int *palette_count)
|
|
55
|
+
{ imFileGetPalette(this->ifile, palette, palette_count); }
|
|
56
|
+
|
|
57
|
+
void ReadImageData(void* data, int convert2bitmap, int color_mode_flags)
|
|
58
|
+
{ this->error = imFileReadImageData(this->ifile, data, convert2bitmap, color_mode_flags); }
|
|
59
|
+
|
|
60
|
+
void SetInfo(const char* compression)
|
|
61
|
+
{ imFileSetInfo(this->ifile, compression); }
|
|
62
|
+
|
|
63
|
+
void SetPalette(long* palette, int palette_count)
|
|
64
|
+
{ imFileSetPalette(this->ifile, palette, palette_count); }
|
|
65
|
+
|
|
66
|
+
void WriteImageInfo(int width, int height, int color_mode, int data_type)
|
|
67
|
+
{ this->error = imFileWriteImageInfo(this->ifile, width, height, color_mode, data_type); }
|
|
68
|
+
|
|
69
|
+
void WriteImageData(void* data)
|
|
70
|
+
{ this->error = imFileWriteImageData(this->ifile, data); }
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
#endif
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** \file
|
|
2
|
+
* \brief Image Processing
|
|
3
|
+
*
|
|
4
|
+
* See Copyright Notice in im_lib.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef __IM_PROCESS_H
|
|
8
|
+
#define __IM_PROCESS_H
|
|
9
|
+
|
|
10
|
+
#include "im_process_pon.h"
|
|
11
|
+
#include "im_process_loc.h"
|
|
12
|
+
#include "im_process_glo.h"
|
|
13
|
+
#include "im_process_ana.h"
|
|
14
|
+
|
|
15
|
+
#if defined(__cplusplus)
|
|
16
|
+
extern "C" {
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
/** \defgroup process Image Processing
|
|
21
|
+
* \par
|
|
22
|
+
* Several image processing functions based on the \ref imImage structure.
|
|
23
|
+
* \par
|
|
24
|
+
* You must link the application with "im_process.lib/.a/.so". \n
|
|
25
|
+
* Some complex operations use the \ref counter.\n
|
|
26
|
+
* There is no check on the input/output image properties,
|
|
27
|
+
* check each function documentation before using it.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
#if defined(__cplusplus)
|
|
32
|
+
}
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#endif
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/** \file
|
|
2
|
+
* \brief Image Statistics and Analysis
|
|
3
|
+
*
|
|
4
|
+
* See Copyright Notice in im_lib.h
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
#ifndef __IM_PROC_ANA_H
|
|
8
|
+
#define __IM_PROC_ANA_H
|
|
9
|
+
|
|
10
|
+
#include "im_image.h"
|
|
11
|
+
|
|
12
|
+
#if defined(__cplusplus)
|
|
13
|
+
extern "C" {
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
/** \defgroup stats Image Statistics Calculations
|
|
19
|
+
* \par
|
|
20
|
+
* Operations to calculate some statistics over images.
|
|
21
|
+
* \par
|
|
22
|
+
* See \ref im_process_ana.h
|
|
23
|
+
* \ingroup process */
|
|
24
|
+
|
|
25
|
+
/** Calculates the RMS error between two images (Root Mean Square Error).
|
|
26
|
+
*
|
|
27
|
+
* \verbatim im.CalcRMSError(image1: imImage, image2: imImage) -> rms: number [in Lua 5] \endverbatim
|
|
28
|
+
* \ingroup stats */
|
|
29
|
+
float imCalcRMSError(const imImage* image1, const imImage* image2);
|
|
30
|
+
|
|
31
|
+
/** Calculates the SNR of an image and its noise (Signal Noise Ratio).
|
|
32
|
+
*
|
|
33
|
+
* \verbatim im.CalcSNR(src_image: imImage, noise_image: imImage) -> snr: number [in Lua 5] \endverbatim
|
|
34
|
+
* \ingroup stats */
|
|
35
|
+
float imCalcSNR(const imImage* src_image, const imImage* noise_image);
|
|
36
|
+
|
|
37
|
+
/** Count the number of different colors in an image. \n
|
|
38
|
+
* Image must be IM_BYTE, but all color spaces except IM_CMYK.
|
|
39
|
+
*
|
|
40
|
+
* \verbatim im.CalcCountColors(image: imImage) -> count: number [in Lua 5] \endverbatim
|
|
41
|
+
* \ingroup stats */
|
|
42
|
+
unsigned long imCalcCountColors(const imImage* image);
|
|
43
|
+
|
|
44
|
+
/** Calculates the histogram of a IM_BYTE data. \n
|
|
45
|
+
* Histogram is always 256 positions long. \n
|
|
46
|
+
* When cumulative is different from zero it calculates the cumulative histogram.
|
|
47
|
+
*
|
|
48
|
+
* \verbatim im.CalcHistogram(image: imImage, plane: number, cumulative: number) -> histo: table of numbers [in Lua 5] \endverbatim
|
|
49
|
+
* Where plane is the depth plane to calculate the histogram. \n
|
|
50
|
+
* The returned table is zero indexed. image can be IM_USHORT or IM_BYTE.
|
|
51
|
+
* \ingroup stats */
|
|
52
|
+
void imCalcHistogram(const unsigned char* data, int count, unsigned long* histo, int cumulative);
|
|
53
|
+
|
|
54
|
+
/** Calculates the histogram of a IM_USHORT data. \n
|
|
55
|
+
* Histogram is always 65535 positions long. \n
|
|
56
|
+
* When cumulative is different from zero it calculates the cumulative histogram. \n
|
|
57
|
+
* Use \ref imCalcHistogram in Lua.
|
|
58
|
+
* \ingroup stats */
|
|
59
|
+
void imCalcUShortHistogram(const unsigned short* data, int count, unsigned long* histo, int cumulative);
|
|
60
|
+
|
|
61
|
+
/** Calculates the gray histogram of an image. \n
|
|
62
|
+
* Image must be IM_BYTE/(IM_RGB, IM_GRAY, IM_BINARY or IM_MAP). \n
|
|
63
|
+
* If the image is IM_RGB then the histogram of the luma component is calculated. \n
|
|
64
|
+
* Histogram is always 256 positions long. \n
|
|
65
|
+
* When cumulative is different from zero it calculates the cumulative histogram.
|
|
66
|
+
*
|
|
67
|
+
* \verbatim im.CalcGrayHistogram(image: imImage, cumulative: number) -> histo: table of numbers [in Lua 5] \endverbatim
|
|
68
|
+
* \ingroup stats */
|
|
69
|
+
void imCalcGrayHistogram(const imImage* image, unsigned long* histo, int cumulative);
|
|
70
|
+
|
|
71
|
+
/** Numerical Statistics Structure
|
|
72
|
+
* \ingroup stats */
|
|
73
|
+
typedef struct _imStats
|
|
74
|
+
{
|
|
75
|
+
float max; /**< Maximum value */
|
|
76
|
+
float min; /**< Minimum value */
|
|
77
|
+
unsigned long positive; /**< Number of Positive Values */
|
|
78
|
+
unsigned long negative; /**< Number of Negative Values */
|
|
79
|
+
unsigned long zeros; /**< Number of Zeros */
|
|
80
|
+
float mean; /**< Mean */
|
|
81
|
+
float stddev; /**< Standard Deviation */
|
|
82
|
+
} imStats;
|
|
83
|
+
|
|
84
|
+
/** Calculates the statistics about the image data. \n
|
|
85
|
+
* There is one stats for each depth plane. For ex: stats[0]=red stats, stats[0]=green stats, ... \n
|
|
86
|
+
* Supports all data types except IM_CFLOAT. \n
|
|
87
|
+
*
|
|
88
|
+
* \verbatim im.CalcImageStatistics(image: imImage) -> stats: table [in Lua 5] \endverbatim
|
|
89
|
+
* Table contains the following fields: max, min, positive, negative, zeros, mean, stddev.
|
|
90
|
+
* The same as the \ref imStats structure.
|
|
91
|
+
* \ingroup stats */
|
|
92
|
+
void imCalcImageStatistics(const imImage* image, imStats* stats);
|
|
93
|
+
|
|
94
|
+
/** Calculates the statistics about the image histogram data.\n
|
|
95
|
+
* There is one stats for each depth plane. For ex: stats[0]=red stats, stats[0]=green stats, ... \n
|
|
96
|
+
* Only IM_BYTE images are supported.
|
|
97
|
+
*
|
|
98
|
+
* \verbatim im.CalcHistogramStatistics(image: imImage) -> stats: table [in Lua 5] \endverbatim
|
|
99
|
+
* \ingroup stats */
|
|
100
|
+
void imCalcHistogramStatistics(const imImage* image, imStats* stats);
|
|
101
|
+
|
|
102
|
+
/** Calculates some extra statistics about the image histogram data.\n
|
|
103
|
+
* There is one stats for each depth plane. \n
|
|
104
|
+
* Only IM_BYTE images are supported. \n
|
|
105
|
+
* mode will be -1 if more than one max is found.
|
|
106
|
+
*
|
|
107
|
+
* \verbatim im.CalcHistoImageStatistics(image: imImage) -> median: number, mode: number [in Lua 5] \endverbatim
|
|
108
|
+
* \ingroup stats */
|
|
109
|
+
void imCalcHistoImageStatistics(const imImage* image, int* median, int* mode);
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
/** \defgroup analyze Image Analysis
|
|
114
|
+
* \par
|
|
115
|
+
* See \ref im_process_ana.h
|
|
116
|
+
* \ingroup process */
|
|
117
|
+
|
|
118
|
+
/** Find white regions in binary image. \n
|
|
119
|
+
* Result is IM_GRAY/IM_USHORT type. Regions can be 4 connected or 8 connected. \n
|
|
120
|
+
* Returns the number of regions found. Background is marked as 0. \n
|
|
121
|
+
* Regions touching the border are considered only if touch_border=1.
|
|
122
|
+
*
|
|
123
|
+
* \verbatim im.AnalyzeFindRegions(src_image: imImage, dst_image: imImage, connect: number, touch_border: number) -> count: number [in Lua 5] \endverbatim
|
|
124
|
+
* \verbatim im.AnalyzeFindRegionsNew(image: imImage, connect: number, touch_border: number) -> count: number, new_image: imImage [in Lua 5] \endverbatim
|
|
125
|
+
* \ingroup analyze */
|
|
126
|
+
int imAnalyzeFindRegions(const imImage* src_image, imImage* dst_image, int connect, int touch_border);
|
|
127
|
+
|
|
128
|
+
/** Measure the actual area of all regions. Holes are not included. \n
|
|
129
|
+
* This is the number of pixels of each region. \n
|
|
130
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
|
131
|
+
* area has size the number of regions.
|
|
132
|
+
*
|
|
133
|
+
* \verbatim im.AnalyzeMeasureArea(image: imImage, [region_count: number]) -> area: table of numbers [in Lua 5] \endverbatim
|
|
134
|
+
* The returned table is zero indexed.
|
|
135
|
+
* \ingroup analyze */
|
|
136
|
+
void imAnalyzeMeasureArea(const imImage* image, int* area, int region_count);
|
|
137
|
+
|
|
138
|
+
/** Measure the polygonal area limited by the perimeter line of all regions. Holes are not included. \n
|
|
139
|
+
* Notice that some regions may have polygonal area zero. \n
|
|
140
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
|
141
|
+
* perimarea has size the number of regions.
|
|
142
|
+
*
|
|
143
|
+
* \verbatim im.AnalyzeMeasurePerimArea(image: imImage, [region_count: number]) -> perimarea: table of numbers [in Lua 5] \endverbatim
|
|
144
|
+
* The returned table is zero indexed.
|
|
145
|
+
* \ingroup analyze */
|
|
146
|
+
void imAnalyzeMeasurePerimArea(const imImage* image, float* perimarea);
|
|
147
|
+
|
|
148
|
+
/** Calculate the centroid position of all regions. Holes are not included. \n
|
|
149
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
|
150
|
+
* area, cx and cy have size the number of regions. If area is NULL will be internally calculated.
|
|
151
|
+
*
|
|
152
|
+
* \verbatim im.AnalyzeMeasureCentroid(image: imImage, [area: table of numbers], [region_count: number]) -> cx: table of numbers, cy: table of numbers [in Lua 5] \endverbatim
|
|
153
|
+
* The returned tables are zero indexed.
|
|
154
|
+
* \ingroup analyze */
|
|
155
|
+
void imAnalyzeMeasureCentroid(const imImage* image, const int* area, int region_count, float* cx, float* cy);
|
|
156
|
+
|
|
157
|
+
/** Calculate the principal major axis slope of all regions. \n
|
|
158
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
|
159
|
+
* data has size the number of regions. If area or centroid are NULL will be internally calculated. \n
|
|
160
|
+
* Principal (major and minor) axes are defined to be those axes that pass through the
|
|
161
|
+
* centroid, about which the moment of inertia of the region is, respectively maximal or minimal.
|
|
162
|
+
*
|
|
163
|
+
* \verbatim im.AnalyzeMeasurePrincipalAxis(image: imImage, [area: table of numbers], [cx: table of numbers], [cy: table of numbers], [region_count: number])
|
|
164
|
+
-> major_slope: table of numbers, major_length: table of numbers, minor_slope: table of numbers, minor_length: table of numbers [in Lua 5] \endverbatim
|
|
165
|
+
* The returned tables are zero indexed.
|
|
166
|
+
* \ingroup analyze */
|
|
167
|
+
void imAnalyzeMeasurePrincipalAxis(const imImage* image, const int* area, const float* cx, const float* cy,
|
|
168
|
+
const int region_count, float* major_slope, float* major_length,
|
|
169
|
+
float* minor_slope, float* minor_length);
|
|
170
|
+
|
|
171
|
+
/** Measure the number and area of holes of all regions. \n
|
|
172
|
+
* Source image is IM_USHORT type (the result of \ref imAnalyzeFindRegions). \n
|
|
173
|
+
* area and perim has size the number of regions, if some is NULL it will be not calculated.
|
|
174
|
+
*
|
|
175
|
+
* \verbatim im.AnalyzeMeasureHoles(image: imImage, connect: number, [region_count: number]) -> holes_count: number, area: table of numbers, perim: table of numbers [in Lua 5] \endverbatim
|
|
176
|
+
* The returned tables are zero indexed.
|
|
177
|
+
* \ingroup analyze */
|
|
178
|
+
void imAnalyzeMeasureHoles(const imImage* image, int connect, int *holes_count, int* area, float* perim);
|
|
179
|
+
|
|
180
|
+
/** Measure the total perimeter of all regions (external and internal). \n
|
|
181
|
+
* Source image is IM_GRAY/IM_USHORT type (the result of imAnalyzeFindRegions). \n
|
|
182
|
+
* It uses a half-pixel inter distance for 8 neighboors in a perimeter of a 4 connected region. \n
|
|
183
|
+
* This function can also be used to measure line lenght. \n
|
|
184
|
+
* perim has size the number of regions.
|
|
185
|
+
*
|
|
186
|
+
* \verbatim im.AnalyzeMeasurePerimeter(image: imImage) -> perim: table of numbers [in Lua 5] \endverbatim
|
|
187
|
+
* \ingroup analyze */
|
|
188
|
+
void imAnalyzeMeasurePerimeter(const imImage* image, float* perim, int region_count);
|
|
189
|
+
|
|
190
|
+
/** Isolates the perimeter line of gray integer images. Background is defined as being black (0). \n
|
|
191
|
+
* It just checks if at least one of the 4 connected neighboors is non zero. Image borders are extended with zeros.
|
|
192
|
+
*
|
|
193
|
+
* \verbatim im.ProcessPerimeterLine(src_image: imImage, dst_image: imImage) [in Lua 5] \endverbatim
|
|
194
|
+
* \verbatim im.ProcessPerimeterLineNew(image: imImage) -> new_image: imImage [in Lua 5] \endverbatim
|
|
195
|
+
* \ingroup analyze */
|
|
196
|
+
void imProcessPerimeterLine(const imImage* src_image, imImage* dst_image);
|
|
197
|
+
|
|
198
|
+
/** Eliminates regions that have size outside the given interval. \n
|
|
199
|
+
* Source and destiny are a binary images. Regions can be 4 connected or 8 connected. \n
|
|
200
|
+
* Can be done in-place. end_size can be zero to ignore big objects.
|
|
201
|
+
*
|
|
202
|
+
* \verbatim im.ProcessPrune(src_image: imImage, dst_image: imImage, connect: number, start_size: number, end_size: number) [in Lua 5] \endverbatim
|
|
203
|
+
* \verbatim im.ProcessPruneNew(image: imImage, connect: number, start_size: number, end_size: number) -> new_image: imImage [in Lua 5] \endverbatim
|
|
204
|
+
* \ingroup analyze */
|
|
205
|
+
void imProcessPrune(const imImage* src_image, imImage* dst_image, int connect, int start_size, int end_size);
|
|
206
|
+
|
|
207
|
+
/** Fill holes inside white regions. \n
|
|
208
|
+
* Source and destiny are a binary images. Regions can be 4 connected or 8 connected. \n
|
|
209
|
+
* Can be done in-place.
|
|
210
|
+
*
|
|
211
|
+
* \verbatim im.ProcessFillHoles(src_image: imImage, dst_image: imImage, connect: number) [in Lua 5] \endverbatim
|
|
212
|
+
* \verbatim im.ProcessFillHolesNew(image: imImage, connect: number) -> new_image: imImage [in Lua 5] \endverbatim
|
|
213
|
+
* \ingroup analyze */
|
|
214
|
+
void imProcessFillHoles(const imImage* src_image, imImage* dst_image, int connect);
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
#if defined(__cplusplus)
|
|
218
|
+
}
|
|
219
|
+
#endif
|
|
220
|
+
|
|
221
|
+
#endif
|