1/* 2 Tools and libraries for image processing and O2-products 3 http://www.imglab.org/p/O2/ 4 Release 2.01 5 6 README, by Hideaki Goto Aug. 2014 7*/ 8 9/*-------------------------------------------------------------------- 10 Copyright (C) 1997-2014 Hideaki Goto 11 12 All Rights Reserved 13 14 Permission to use, copy, modify, and distribute this software and 15 its documentation for any purpose is hereby granted without fee, 16 provided that (i) the above copyright notice and this permission 17 notice appear in all copies and in supporting documentation, (ii) 18 the name of the author, Hideaki Goto, may not be used in any 19 advertising or otherwise to promote the sale, use or other 20 dealings in this software without prior written authorization 21 from the author, (iii) this software may not be used for 22 commercial products without prior written permission from the 23 author, and (iv) the notice of modification is specified in cases 24 where modified copies of this software are distributed. 25 26 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. 27 THE AUTHOR WILL NOT BE RESPONSIBLE FOR ANY DAMAGE CAUSED BY THIS 28 SOFTWARE. 29--------------------------------------------------------------------*/ 30 31 321. About this package. 33 34 The programs and libraries in this package are originally my private 35 image processing stuff designed especially suitable for document 36 image processing. Some redundant and experimental codes may be 37 included in this package. The programs or the libraries were not 38 necessarily designed to provide tools which were universal and 39 convenient to everybody. However, you could find some convenient 40 programs in this package. 41 42 ImageMagick and Netpbm, the famous image processing packages, 43 provide universal and very convenient tools to us. The programs 44 in those packages work well for small images. (I often use them:) 45 However, unfortunately, some of the programs does not work fast 46 enough for very large images, so that they are not applicable to 47 document image processing. 48 49 Most of the programs in this package have been designed carefully 50 to avoid slowing down even for huge images, e.g. 3300x4700. 51 I hope you will find them better. 52 53 This package contains following programs: 54 55 bmptopnm - convert a BMP(DIB) file into a portable anymap 56 57 breduce - read a portable bitmap and reduce it N times 58 59 makecr - create circumscribing rectangles (bounding box) in an 60 image 61 62 makepr - create Primitive Rectangles in an image 63 64 prlst2ps - produce PostScript data from rectangle/line- 65 segment data 66 67 lpsmooth - smooth an image preserving thin lines 68 69 This package may contain some codes contributed by other authors. 70 There is a copyright notice in every file of the source code. All 71 authors have granted that you have the right to use and distribute 72 their code without paying them, as long as you do it on a non- 73 commercial act. Please remember to check the copyright notes. 74 75 762. Changes in version 2.01 77 78 1) Dependency on unistd.h has been removed. 79 80 813. Requirements 82 83 UNIX(-like) Operating Systems: 84 85 1) ANSI C and C++ compilers. 86 Using GNU's gcc and g++ is the easiest way, if you don't care 87 about the speed of the programs. I'd like to recommend you to 88 try better compilers with good optimizations in order to get 89 faster executables. 90 91 2) "make" command. 92 93 3) Autoconf compatible environment in which you can run 94 "configure" script. 95 96 97 Windows Operating Systems: 98 99 1) ANSI C and C++ compilers. (Never use 16bit-compilers!) 100 Microsoft Visual C++ 2.0 or later is desirable. 101 102 1034. How to make programs. 104 105 UNIX(-like) Operating Systems: 106 107 1) Run configure script in the top directory. 108 For example, 109 $ ./configure 110 111 To change the installation directory, try something like 112 $ ./configure --prefix=$HOME/O2/x86_64-sun-solaris 113 114 To change the optimization flags, try 115 $ CFLAGS="-O2" CXXFLAGS="-O2" ./configure 116 (on bash) 117 118 2) Run make command to build the tools and libraries. 119 For example, 120 $ make 121 122 If you want to change the platform OS or architecture, 123 run ./configure again and type 124 $ make clean && make 125 126 3) Run make command to install the tools, libraries, 127 and manuals. 128 129 # make install 130 131 132 Windows Operating Systems: 133 134 I'm sorry that no project file is provided. 135 Please build all the libraries as "static library" manually. 136 And, please build all the programs manually. 137 138 1395. Troubleshooting 140 141 1) If some typedefs for unsigned variables, uchar, ushort, ulong 142 and uint, are missing or conflict with system definitions, 143 edit "include/utypes.h" according to your environment. 144 145 2) Under AIX4, "install" command may not work correctly for 146 non-root users. Copy files manually in such a case. 147 148 1496. Testing Environments 150 151 The current release has been tested in the following environments. 152 153 Machine: PC with AMD Phenom II X4 910e (2.6GHz) 154 OS: Solaris 10 x86 155 Compilers: gcc-3.4.3 156 157 Machine: Sun Blade 1500 Silver (UltraSPARC-IIIi 1.5GHz) 158 OS: Solaris 10 159 Compilers: gcc-3.4.3 160 161 Machine: PC with AMD Athlon X2 5400B (2.8GHz) 162 OS: SuSE Linux 12.3 163 with kernel 3.7.10-1.40-desktop 164 Compilers: gcc-4.7.2 165 166 167 Dr. Hideaki Goto, 168 Cyberscience Center, 169 Tohoku University, Sendai 980-8578, Japan. 170 email: hgot((at))isc.tohoku.ac.jp 171