Disclaimer ---------- Copyright(C) 1999 - 2003 Kwan-Yee Kenneth Wong All Rights Reserved THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. =============================== Vision ver 1.6 beta F.A.Q =============================== What is "Vision"? ----------------- "Vision" is a small image application written in VC++ for research purpose. It provides functions for corner detection, edge detection, B-Splines fitting and capturing of still images from video sources. The corner detection and edge detection are based on [1] and [2], respectively, and the B-Spline snake is base on [3], with some modifications. What is the system requirement for "Vision"? -------------------------------------------- "Vision" should run in Windows 9X, Windows Me, Windows XP, and Windows NT 3.0 or higher. If you want to capture still images, you will need a capturing device that supports "Video for Windows" (VFW). What kinds of image formats are supported by "Vision"? ------------------------------------------------------ Currently, "Vision" can open the following formats: - BMP, JPG, GIF, PNG, PPM and PGM. The still images captured can be saved in BMP format only. What is the coordinate-system used? ----------------------------------- The origin is at the top-left corner of the image so that the top-left corner has the coordinates (0,0) and the bottom-right corner has the coordinates (width, height). What is the output of the corner detection? ----------------------------------------- The result of the corner detection can be either save in binary format or ascii format. The binary format are not currently publicly available and can only be loaded into "Vision". The ascii format file should look like this: CornerListFile 259 54.942392 23.674106 4305938.027705 44.462393 538.635286 3221984.495705 223.152467 313.618954 2392268.851880 169.893970 316.404159 2253175.870872 140.499607 317.913732 2187633.155693 173.556960 369.604300 2179022.037768 The 1st line is the header which begins with the name "CornerListFile". The next value is the total number (259) of the extracted corners.The corners are then listed below the header. Each corner occupies 1 single line with the following format: y-coordinate x-coordinate magitude What is the output of the edge detection? ----------------------------------------- The result of the edge detection can be either save in binary format or ascii format. The binary format are not currently publicly available and can only be loaded into "Vision". The ascii format file should look like this: LinkedEdgelFile 0 0 480 640 97 283 3119 0 12 29.036216 329.500000 49.773364 -80.846897 29.137126 330.500000 51.328249 -85.888295 29.184303 331.500000 51.557737 -87.749345 29.223027 332.500000 51.013316 -87.507491 29.282218 333.500000 50.576292 -87.356163 29.332157 334.500000 49.876054 -89.025427 29.360803 335.500000 48.141262 -90.808172 29.407551 336.500000 45.395289 -91.068124 29.487937 337.500000 42.294802 -90.758395 29.559809 338.500000 39.260715 -89.657567 29.649700 339.500000 35.405431 -84.604234 29.864101 340.500000 30.204236 -75.383536 The 1st line is the header which begins with the name "LinkedEdgelFile". The next 2 values are always 0, and then followed by the height (480) and width (640) of the image. The rest of the values are the no. of chains (97), the no. of edgels in the longest chain (283) and the total number of edgels (3119) respectively. Each chain is then composed of a small header, where the 1st value indicates if the chain is closed (1) or open (0) and the 2nd value gives the no. of edgels (12) in the chain. The edgels that make up the chain are then listed in order after the small header. Each edgel occupies 1 single line with the following format: y-coordinate x-coordinate magitude orientation How to add control points for the B-Splines? -------------------------------------------- Control points can be added by picking the coordinates in the image by clicking the left mouse button while holding down the [Ctrl] key. How to fit the B-Splines using intensity gradient? -------------------------------------------------- After picking enough control points (>3), either choose 'Move B-Spline Snake' from the 'Operations' menu or choose 'Move Snake' from the pop-up menu by right clicking anywhere in the image. What is the output of B-Spline Fitting? --------------------------------------- The result of the B-Spline fitting can be either save in binary format or ascii format. The binary format are not currently publicly available and can only be loaded into "Vision". The ascii format file should look like this: SnakeCtrlPtFile 1 1 10 212.468445 182.277189 197.435754 191.696826 186.123262 200.070345 182.309233 215.400925 176.216137 225.095655 171.944253 239.796381 173.972292 257.822369 178.525271 267.598010 177.589499 277.819965 179.557139 288.242672 The 1st line is the header which begins with the name "SnakeCtrlPtFile" and the following value is the no. of snakes (1). Each snake is then composed of a small header, where the 1st value indicates if the snake is closed (1) or open (0) and the 2nd value gives the no. of control points (10) in the snake. The control points of the snake are then listed in order after the small header. Each control point occupies 1 single line with the following format: y-coordinate x-coordinate References: ----------- [1] @inproceedings{Harris88, author = "Harris, C. and Stephens, M.J.", title = "A Combined Corner and Edge Detector", booktitle = "4th Alvey Conference ", pages = "147--152", address = "Manchester, UK", month = "August", year = 1988 } [2] @article{Canny86, author = "Canny, J.F.", title = "A computational approach to edge detection", journal = "IEEE Trans. on Pattern Analysis and Machine Intell.", volume = "PAMI-8", pages = "679--698", year = 1986} [3] @article{Cipolla92, author = "Cipolla, R. and Blake, A.", title = "Surface Shape from the Deformation of Apparent Contours", journal = "Int. Journal of Computer Vision", volume = "9", number = "2", pages = "83--112", year = "1992"}