Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added Face Recognition Library

  • Loading branch information...
commit 511148cf34307a1b5e59986b122664650c91bbf5 1 parent df61c60
@pcentieiro authored
Showing with 44,900 additions and 0 deletions.
  1. BIN  Face Recognition Library/.DS_Store
  2. +1,002 −0 Face Recognition Library/Face Recognition Library.xcodeproj/project.pbxproj
  3. +7 −0 Face Recognition Library/Face Recognition Library.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  4. BIN  ...ecognition Library.xcodeproj/project.xcworkspace/xcuserdata/pmfc.xcuserdatad/UserInterfaceState.xcuserstate
  5. +85 −0 .../Face Recognition Library.xcodeproj/xcuserdata/pmfc.xcuserdatad/xcschemes/Face Recognition Library.xcscheme
  6. +58 −0 ...ion Library/Face Recognition Library.xcodeproj/xcuserdata/pmfc.xcuserdatad/xcschemes/OpenCV-iPhone.xcscheme
  7. +32 −0 ...n Library/Face Recognition Library.xcodeproj/xcuserdata/pmfc.xcuserdatad/xcschemes/xcschememanagement.plist
  8. BIN  Face Recognition Library/Face Recognition Library/1_1.jpg
  9. BIN  Face Recognition Library/Face Recognition Library/1_2.jpg
  10. BIN  Face Recognition Library/Face Recognition Library/1_3.jpg
  11. BIN  Face Recognition Library/Face Recognition Library/2_1.jpg
  12. BIN  Face Recognition Library/Face Recognition Library/2_2.jpg
  13. BIN  Face Recognition Library/Face Recognition Library/2_3.jpg
  14. BIN  Face Recognition Library/Face Recognition Library/3_1.jpg
  15. BIN  Face Recognition Library/Face Recognition Library/3_2.jpg
  16. BIN  Face Recognition Library/Face Recognition Library/3_3.jpg
  17. BIN  Face Recognition Library/Face Recognition Library/4_1.jpg
  18. BIN  Face Recognition Library/Face Recognition Library/4_2.jpg
  19. BIN  Face Recognition Library/Face Recognition Library/4_3.jpg
  20. +15 −0 Face Recognition Library/Face Recognition Library/AppDelegate.h
  21. +48 −0 Face Recognition Library/Face Recognition Library/AppDelegate.m
  22. +40 −0 Face Recognition Library/Face Recognition Library/Face Recognition Library-Info.plist
  23. +18 −0 Face Recognition Library/Face Recognition Library/Face Recognition Library-Prefix.pch
  24. +15 −0 Face Recognition Library/Face Recognition Library/ViewController.h
  25. +100 −0 Face Recognition Library/Face Recognition Library/ViewController.mm
  26. +38 −0 Face Recognition Library/Face Recognition Library/colormap.cpp
  27. +426 −0 Face Recognition Library/Face Recognition Library/colormap.hpp
  28. +29 −0 Face Recognition Library/Face Recognition Library/decomposition.cpp
  29. +710 −0 Face Recognition Library/Face Recognition Library/decomposition.hpp
  30. +2 −0  Face Recognition Library/Face Recognition Library/en.lproj/InfoPlist.strings
  31. +54 −0 Face Recognition Library/Face Recognition Library/en.lproj/MainStoryboard.storyboard
  32. +269 −0 Face Recognition Library/Face Recognition Library/facerec.cpp
  33. +249 −0 Face Recognition Library/Face Recognition Library/facerec.hpp
  34. +342 −0 Face Recognition Library/Face Recognition Library/helper.cpp
  35. +144 −0 Face Recognition Library/Face Recognition Library/helper.hpp
  36. +223 −0 Face Recognition Library/Face Recognition Library/lbp.cpp
  37. +57 −0 Face Recognition Library/Face Recognition Library/lbp.hpp
  38. +18 −0 Face Recognition Library/Face Recognition Library/main.m
  39. +206 −0 Face Recognition Library/Face Recognition Library/subspace.cpp
  40. +110 −0 Face Recognition Library/Face Recognition Library/subspace.hpp
  41. BIN  Face Recognition Library/ThirdParty/.DS_Store
  42. BIN  Face Recognition Library/ThirdParty/OpenCV/.DS_Store
  43. +18 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/CMakeLists.txt
  44. +20 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/ffmpeg/CMakeLists.txt
  45. +1 −0  Face Recognition Library/ThirdParty/OpenCV/3rdparty/ffmpeg/ffopencv.c
  46. +2 −0  Face Recognition Library/ThirdParty/OpenCV/3rdparty/ffmpeg/make.bat
  47. +44 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/ffmpeg/readme.txt
  48. +34 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/ilmimf/LICENSE
  49. +123 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/ilmimf/README
  50. +110 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/_mingw_dxhelper.h
  51. +33 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/_mingw_unicode.h
  52. +1,290 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/amvideo.h
  53. +31 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/audevcod.h
  54. +32 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/bdatypes.h
  55. +1,467 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/control.h
  56. +2,712 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/ddraw.h
  57. +61 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/dshow.h
  58. +1,199 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/dsound.h
  59. +75 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/dvdmedia.h
  60. +169 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/errors.h
  61. +68 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/evcode.h
  62. +191 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/ksuuids.h
  63. +9,392 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/strmif.h
  64. +368 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/dshow/uuids.h
  65. +4,254 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/avcodec.h
  66. +99 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/avfft.h
  67. +68 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/dxva2.h
  68. +34 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/opt.h
  69. +167 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/vaapi.h
  70. +88 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/vdpau.h
  71. +72 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/version.h
  72. +151 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavcodec/xvmc.h
  73. +63 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavdevice/avdevice.h
  74. +1,618 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavformat/avformat.h
  75. +635 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavformat/avio.h
  76. +81 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavformat/version.h
  77. +42 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/adler32.h
  78. +47 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/aes.h
  79. +134 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/attributes.h
  80. +95 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/audioconvert.h
  81. +66 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/avassert.h
  82. +6 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/avconfig.h
  83. +133 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/avstring.h
  84. +134 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/avutil.h
  85. +54 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/base64.h
  86. +124 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/bswap.h
  87. +387 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/common.h
  88. +61 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/cpu.h
  89. +44 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/crc.h
  90. +81 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/dict.h
  91. +68 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/error.h
  92. +146 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/eval.h
  93. +116 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/fifo.h
  94. +52 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/file.h
  95. +130 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/imgutils.h
  96. +40 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/intfloat_readwrite.h
  97. +522 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/intreadwrite.h
  98. +62 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/lfg.h
  99. +167 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/log.h
  100. +66 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/lzo.h
  101. +112 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/mathematics.h
  102. +36 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/md5.h
  103. +135 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/mem.h
  104. +243 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/opt.h
  105. +117 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/parseutils.h
  106. +175 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/pixdesc.h
  107. +188 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/pixfmt.h
  108. +31 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/random_seed.h
  109. +135 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/rational.h
  110. +125 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/samplefmt.h
  111. +56 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/sha.h
  112. +57 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libavutil/sha1.h
  113. +371 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/ffmpeg_/libswscale/swscale.h
  114. +301 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/msc_inttypes.h
  115. +219 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/include/msc_stdint.h
  116. +58 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/CMakeLists.txt
  117. +51 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/LICENSE
  118. +22 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/README
  119. +1,282 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_cm.c
  120. +137 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_debug.c
  121. +168 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_getopt.c
  122. +1,722 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_icc.c
  123. +517 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_iccdata.c
  124. +1,445 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_image.c
  125. +162 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_init.c
  126. +131 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_malloc.c
  127. +454 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_seq.c
  128. +1,150 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_stream.c
  129. +96 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_string.c
  130. +149 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_tmr.c
  131. +237 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_tvp.c
  132. +67 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jas_version.c
  133. +266 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_cm.h
  134. +173 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_config.h
  135. +172 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_config.h.in
  136. +97 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_config2.h
  137. +114 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_debug.h
  138. +358 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_fix.h
  139. +131 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_getopt.h
  140. +407 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_icc.h
  141. +564 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_image.h
  142. +83 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_init.h
  143. +124 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_malloc.h
  144. +117 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_math.h
  145. +301 −0 Face Recognition Library/ThirdParty/OpenCV/3rdparty/libjasper/jasper/jas_seq.h
Sorry, we could not display the entire diff because too many files (2,649) changed.
View
BIN  Face Recognition Library/.DS_Store
Binary file not shown
View
1,002 Face Recognition Library/Face Recognition Library.xcodeproj/project.pbxproj
@@ -0,0 +1,1002 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 9B0C156415234B7A00B14CF7 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C156315234B7A00B14CF7 /* UIKit.framework */; };
+ 9B0C156615234B7A00B14CF7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C156515234B7A00B14CF7 /* Foundation.framework */; };
+ 9B0C156815234B7A00B14CF7 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C156715234B7A00B14CF7 /* CoreGraphics.framework */; };
+ 9B0C156E15234B7A00B14CF7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C156C15234B7A00B14CF7 /* InfoPlist.strings */; };
+ 9B0C157015234B7A00B14CF7 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C156F15234B7A00B14CF7 /* main.m */; };
+ 9B0C157415234B7A00B14CF7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C157315234B7A00B14CF7 /* AppDelegate.m */; };
+ 9B0C157715234B7A00B14CF7 /* MainStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C157515234B7A00B14CF7 /* MainStoryboard.storyboard */; };
+ 9B0C157A15234B7A00B14CF7 /* ViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C157915234B7A00B14CF7 /* ViewController.mm */; };
+ 9B0C16381523540900B14CF7 /* opencv.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15991523521900B14CF7 /* opencv.hpp */; };
+ 9B0C16391523540900B14CF7 /* cvconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15981523521000B14CF7 /* cvconfig.h */; };
+ 9B0C163A1523540900B14CF7 /* _featuretree.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A31523529800B14CF7 /* _featuretree.h */; };
+ 9B0C163B1523540900B14CF7 /* _geom.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A41523529800B14CF7 /* _geom.h */; };
+ 9B0C163C1523540900B14CF7 /* _imgproc.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A51523529800B14CF7 /* _imgproc.h */; };
+ 9B0C163D1523540900B14CF7 /* _kdtree.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A61523529800B14CF7 /* _kdtree.hpp */; };
+ 9B0C163E1523540900B14CF7 /* _list.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A71523529800B14CF7 /* _list.h */; };
+ 9B0C163F1523540900B14CF7 /* gcgraph.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15B71523529800B14CF7 /* gcgraph.hpp */; };
+ 9B0C16401523540900B14CF7 /* imgproc_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A01523527E00B14CF7 /* imgproc_c.h */; };
+ 9B0C16411523540900B14CF7 /* imgproc.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A11523527E00B14CF7 /* imgproc.hpp */; };
+ 9B0C16421523540900B14CF7 /* types_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15A21523527E00B14CF7 /* types_c.h */; };
+ 9B0C16431523540900B14CF7 /* core_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C1604152352F400B14CF7 /* core_c.h */; };
+ 9B0C16441523540900B14CF7 /* core.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C1605152352F400B14CF7 /* core.hpp */; };
+ 9B0C16451523540900B14CF7 /* eigen.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C1606152352F400B14CF7 /* eigen.hpp */; };
+ 9B0C16461523540900B14CF7 /* internal.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C1607152352F400B14CF7 /* internal.hpp */; };
+ 9B0C16471523540900B14CF7 /* mat.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C1608152352F400B14CF7 /* mat.hpp */; };
+ 9B0C16481523540900B14CF7 /* operations.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C1609152352F400B14CF7 /* operations.hpp */; };
+ 9B0C16491523540900B14CF7 /* types_c.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C160A152352F400B14CF7 /* types_c.h */; };
+ 9B0C164A1523540900B14CF7 /* version.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C160B152352F400B14CF7 /* version.hpp */; };
+ 9B0C164B1523540900B14CF7 /* wimage.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C160C152352F400B14CF7 /* wimage.hpp */; };
+ 9B0C164C1523540900B14CF7 /* precomp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C161E1523531700B14CF7 /* precomp.hpp */; };
+ 9B0C164D1523542B00B14CF7 /* precomp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C15C51523529800B14CF7 /* precomp.hpp */; };
+ 9B0C164E152354A500B14CF7 /* accum.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15A81523529800B14CF7 /* accum.cpp */; };
+ 9B0C164F152354A500B14CF7 /* approx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15A91523529800B14CF7 /* approx.cpp */; };
+ 9B0C1650152354A500B14CF7 /* canny.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15AA1523529800B14CF7 /* canny.cpp */; };
+ 9B0C1651152354A500B14CF7 /* color.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15AB1523529800B14CF7 /* color.cpp */; };
+ 9B0C1652152354A500B14CF7 /* contours.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15AC1523529800B14CF7 /* contours.cpp */; };
+ 9B0C1653152354A500B14CF7 /* convhull.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15AD1523529800B14CF7 /* convhull.cpp */; };
+ 9B0C1654152354A500B14CF7 /* corner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15AE1523529800B14CF7 /* corner.cpp */; };
+ 9B0C1655152354A500B14CF7 /* cornersubpix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15AF1523529800B14CF7 /* cornersubpix.cpp */; };
+ 9B0C1656152354A500B14CF7 /* deriv.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B01523529800B14CF7 /* deriv.cpp */; };
+ 9B0C1657152354A500B14CF7 /* distransform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B11523529800B14CF7 /* distransform.cpp */; };
+ 9B0C1658152354A500B14CF7 /* emd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B21523529800B14CF7 /* emd.cpp */; };
+ 9B0C1659152354A500B14CF7 /* featureselect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B31523529800B14CF7 /* featureselect.cpp */; };
+ 9B0C165A152354A500B14CF7 /* featuretree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B41523529800B14CF7 /* featuretree.cpp */; };
+ 9B0C165B152354A500B14CF7 /* filter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B51523529800B14CF7 /* filter.cpp */; };
+ 9B0C165C152354A500B14CF7 /* floodfill.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B61523529800B14CF7 /* floodfill.cpp */; };
+ 9B0C165E152354A500B14CF7 /* geometry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B81523529800B14CF7 /* geometry.cpp */; };
+ 9B0C165F152354A500B14CF7 /* grabcut.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15B91523529800B14CF7 /* grabcut.cpp */; };
+ 9B0C1660152354A500B14CF7 /* histogram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15BA1523529800B14CF7 /* histogram.cpp */; };
+ 9B0C1661152354A500B14CF7 /* hough.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15BB1523529800B14CF7 /* hough.cpp */; };
+ 9B0C1662152354A500B14CF7 /* imgwarp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15BC1523529800B14CF7 /* imgwarp.cpp */; };
+ 9B0C1663152354A500B14CF7 /* inpaint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15BD1523529800B14CF7 /* inpaint.cpp */; };
+ 9B0C1664152354A500B14CF7 /* kdtree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15BE1523529800B14CF7 /* kdtree.cpp */; };
+ 9B0C1665152354A500B14CF7 /* linefit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15BF1523529800B14CF7 /* linefit.cpp */; };
+ 9B0C1666152354A500B14CF7 /* lsh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C01523529800B14CF7 /* lsh.cpp */; };
+ 9B0C1667152354A500B14CF7 /* matchcontours.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C11523529800B14CF7 /* matchcontours.cpp */; };
+ 9B0C1668152354A500B14CF7 /* moments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C21523529800B14CF7 /* moments.cpp */; };
+ 9B0C1669152354A500B14CF7 /* morph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C31523529800B14CF7 /* morph.cpp */; };
+ 9B0C166A152354A500B14CF7 /* precomp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C41523529800B14CF7 /* precomp.cpp */; };
+ 9B0C166B152354A500B14CF7 /* pyramids.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C61523529800B14CF7 /* pyramids.cpp */; };
+ 9B0C166C152354A500B14CF7 /* pyrsegmentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C71523529800B14CF7 /* pyrsegmentation.cpp */; };
+ 9B0C166D152354A500B14CF7 /* rotcalipers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C81523529800B14CF7 /* rotcalipers.cpp */; };
+ 9B0C166E152354A500B14CF7 /* samplers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15C91523529800B14CF7 /* samplers.cpp */; };
+ 9B0C166F152354A500B14CF7 /* segmentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15CA1523529800B14CF7 /* segmentation.cpp */; };
+ 9B0C1670152354A500B14CF7 /* shapedescr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15CB1523529800B14CF7 /* shapedescr.cpp */; };
+ 9B0C1671152354A500B14CF7 /* smooth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15CC1523529800B14CF7 /* smooth.cpp */; };
+ 9B0C1672152354A500B14CF7 /* spilltree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15CD1523529800B14CF7 /* spilltree.cpp */; };
+ 9B0C1673152354A500B14CF7 /* subdivision2d.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15CE1523529800B14CF7 /* subdivision2d.cpp */; };
+ 9B0C1674152354A500B14CF7 /* sumpixels.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15CF1523529800B14CF7 /* sumpixels.cpp */; };
+ 9B0C1675152354A500B14CF7 /* tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15D01523529800B14CF7 /* tables.cpp */; };
+ 9B0C1676152354A500B14CF7 /* templmatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15D11523529800B14CF7 /* templmatch.cpp */; };
+ 9B0C1677152354A500B14CF7 /* thresh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15D21523529800B14CF7 /* thresh.cpp */; };
+ 9B0C1678152354A500B14CF7 /* undistort.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15D31523529800B14CF7 /* undistort.cpp */; };
+ 9B0C1679152354A500B14CF7 /* utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C15D41523529800B14CF7 /* utils.cpp */; };
+ 9B0C167A152354A500B14CF7 /* alloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C160D1523531700B14CF7 /* alloc.cpp */; };
+ 9B0C167B152354A500B14CF7 /* arithm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C160E1523531700B14CF7 /* arithm.cpp */; };
+ 9B0C167C152354A500B14CF7 /* array.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C160F1523531700B14CF7 /* array.cpp */; };
+ 9B0C167E152354A500B14CF7 /* convert.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16111523531700B14CF7 /* convert.cpp */; };
+ 9B0C167F152354A500B14CF7 /* copy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16121523531700B14CF7 /* copy.cpp */; };
+ 9B0C1680152354A500B14CF7 /* datastructs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16131523531700B14CF7 /* datastructs.cpp */; };
+ 9B0C1681152354A500B14CF7 /* drawing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16141523531700B14CF7 /* drawing.cpp */; };
+ 9B0C1682152354A500B14CF7 /* dxt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16151523531700B14CF7 /* dxt.cpp */; };
+ 9B0C1683152354A500B14CF7 /* lapack.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16161523531700B14CF7 /* lapack.cpp */; };
+ 9B0C1684152354A500B14CF7 /* mathfuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16171523531700B14CF7 /* mathfuncs.cpp */; };
+ 9B0C1685152354A500B14CF7 /* matmul.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16181523531700B14CF7 /* matmul.cpp */; };
+ 9B0C1686152354A500B14CF7 /* matop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16191523531700B14CF7 /* matop.cpp */; };
+ 9B0C1687152354A500B14CF7 /* matrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C161A1523531700B14CF7 /* matrix.cpp */; };
+ 9B0C1688152354A500B14CF7 /* out.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C161B1523531700B14CF7 /* out.cpp */; };
+ 9B0C1689152354A500B14CF7 /* persistence.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C161C1523531700B14CF7 /* persistence.cpp */; };
+ 9B0C168A152354A500B14CF7 /* precomp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C161D1523531700B14CF7 /* precomp.cpp */; };
+ 9B0C168B152354A500B14CF7 /* rand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C161F1523531700B14CF7 /* rand.cpp */; };
+ 9B0C168C152354A500B14CF7 /* stat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16201523531700B14CF7 /* stat.cpp */; };
+ 9B0C168D152354A500B14CF7 /* system.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16211523531700B14CF7 /* system.cpp */; };
+ 9B0C168E152354A500B14CF7 /* tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16221523531700B14CF7 /* tables.cpp */; };
+ 9B0C16901523559E00B14CF7 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C168F1523559E00B14CF7 /* Accelerate.framework */; };
+ 9B0C1692152355AA00B14CF7 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C1691152355AA00B14CF7 /* libz.dylib */; };
+ 9B0C16951523574900B14CF7 /* libOpenCV-iPhone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C158415234DCA00B14CF7 /* libOpenCV-iPhone.a */; };
+ 9B0C16961523576900B14CF7 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C1691152355AA00B14CF7 /* libz.dylib */; };
+ 9B0C16971523576C00B14CF7 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B0C168F1523559E00B14CF7 /* Accelerate.framework */; };
+ 9B0C16B31523D19E00B14CF7 /* colormap.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C16AD1523D19E00B14CF7 /* colormap.hpp */; };
+ 9B0C16B41523D19E00B14CF7 /* decomposition.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C16AE1523D19E00B14CF7 /* decomposition.hpp */; };
+ 9B0C16B51523D19E00B14CF7 /* facerec.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C16AF1523D19E00B14CF7 /* facerec.hpp */; };
+ 9B0C16B61523D19E00B14CF7 /* helper.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C16B01523D19E00B14CF7 /* helper.hpp */; };
+ 9B0C16B71523D19E00B14CF7 /* lbp.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C16B11523D19E00B14CF7 /* lbp.hpp */; };
+ 9B0C16B81523D19E00B14CF7 /* subspace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 9B0C16B21523D19E00B14CF7 /* subspace.hpp */; };
+ 9B0C16C01523D1A500B14CF7 /* colormap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16B91523D1A500B14CF7 /* colormap.cpp */; };
+ 9B0C16C11523D1A500B14CF7 /* decomposition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16BA1523D1A500B14CF7 /* decomposition.cpp */; };
+ 9B0C16C21523D1A500B14CF7 /* facerec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16BB1523D1A500B14CF7 /* facerec.cpp */; };
+ 9B0C16C31523D1A500B14CF7 /* helper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16BC1523D1A500B14CF7 /* helper.cpp */; };
+ 9B0C16C41523D1A500B14CF7 /* lbp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16BD1523D1A500B14CF7 /* lbp.cpp */; };
+ 9B0C16C61523D1A500B14CF7 /* subspace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9B0C16BF1523D1A500B14CF7 /* subspace.cpp */; };
+ 9B0C16D41523D67D00B14CF7 /* 1_1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16C81523D67D00B14CF7 /* 1_1.jpg */; };
+ 9B0C16D51523D67D00B14CF7 /* 1_2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16C91523D67D00B14CF7 /* 1_2.jpg */; };
+ 9B0C16D61523D67D00B14CF7 /* 1_3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16CA1523D67D00B14CF7 /* 1_3.jpg */; };
+ 9B0C16D71523D67D00B14CF7 /* 2_1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16CB1523D67D00B14CF7 /* 2_1.jpg */; };
+ 9B0C16D81523D67D00B14CF7 /* 2_2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16CC1523D67D00B14CF7 /* 2_2.jpg */; };
+ 9B0C16D91523D67D00B14CF7 /* 2_3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16CD1523D67D00B14CF7 /* 2_3.jpg */; };
+ 9B0C16DA1523D67D00B14CF7 /* 3_1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16CE1523D67D00B14CF7 /* 3_1.jpg */; };
+ 9B0C16DB1523D67D00B14CF7 /* 3_2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16CF1523D67D00B14CF7 /* 3_2.jpg */; };
+ 9B0C16DC1523D67D00B14CF7 /* 4_3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16D01523D67D00B14CF7 /* 4_3.jpg */; };
+ 9B0C16DD1523D67D00B14CF7 /* 4_2.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16D11523D67D00B14CF7 /* 4_2.jpg */; };
+ 9B0C16DE1523D67D00B14CF7 /* 4_1.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16D21523D67D00B14CF7 /* 4_1.jpg */; };
+ 9B0C16DF1523D67D00B14CF7 /* 3_3.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 9B0C16D31523D67D00B14CF7 /* 3_3.jpg */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 9B0C1693152356D000B14CF7 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 9B0C155615234B7A00B14CF7 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = 9B0C158315234DCA00B14CF7;
+ remoteInfo = "OpenCV-iPhone";
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+ 9B0C155F15234B7A00B14CF7 /* Face Recognition Library.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Face Recognition Library.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9B0C156315234B7A00B14CF7 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
+ 9B0C156515234B7A00B14CF7 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ 9B0C156715234B7A00B14CF7 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 9B0C156B15234B7A00B14CF7 /* Face Recognition Library-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Face Recognition Library-Info.plist"; sourceTree = "<group>"; };
+ 9B0C156D15234B7A00B14CF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 9B0C156F15234B7A00B14CF7 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+ 9B0C157115234B7A00B14CF7 /* Face Recognition Library-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Face Recognition Library-Prefix.pch"; sourceTree = "<group>"; };
+ 9B0C157215234B7A00B14CF7 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ 9B0C157315234B7A00B14CF7 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ 9B0C157615234B7A00B14CF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = en; path = en.lproj/MainStoryboard.storyboard; sourceTree = "<group>"; };
+ 9B0C157815234B7A00B14CF7 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; };
+ 9B0C157915234B7A00B14CF7 /* ViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ViewController.mm; sourceTree = "<group>"; };
+ 9B0C158415234DCA00B14CF7 /* libOpenCV-iPhone.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libOpenCV-iPhone.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9B0C15971523520400B14CF7 /* config_auto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = config_auto.h; path = ThirdParty/config_auto.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15981523521000B14CF7 /* cvconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cvconfig.h; path = ThirdParty/cvconfig.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15991523521900B14CF7 /* opencv.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = opencv.hpp; path = ThirdParty/OpenCV/include/opencv2/opencv.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15A01523527E00B14CF7 /* imgproc_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = imgproc_c.h; path = ThirdParty/OpenCV/modules/imgproc/include/opencv2/imgproc/imgproc_c.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15A11523527E00B14CF7 /* imgproc.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = imgproc.hpp; path = ThirdParty/OpenCV/modules/imgproc/include/opencv2/imgproc/imgproc.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15A21523527E00B14CF7 /* types_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = types_c.h; path = ThirdParty/OpenCV/modules/imgproc/include/opencv2/imgproc/types_c.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15A31523529800B14CF7 /* _featuretree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = _featuretree.h; path = ThirdParty/OpenCV/modules/imgproc/src/_featuretree.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15A41523529800B14CF7 /* _geom.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = _geom.h; path = ThirdParty/OpenCV/modules/imgproc/src/_geom.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15A51523529800B14CF7 /* _imgproc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = _imgproc.h; path = ThirdParty/OpenCV/modules/imgproc/src/_imgproc.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15A61523529800B14CF7 /* _kdtree.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = _kdtree.hpp; path = ThirdParty/OpenCV/modules/imgproc/src/_kdtree.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15A71523529800B14CF7 /* _list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = _list.h; path = ThirdParty/OpenCV/modules/imgproc/src/_list.h; sourceTree = SOURCE_ROOT; };
+ 9B0C15A81523529800B14CF7 /* accum.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = accum.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/accum.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15A91523529800B14CF7 /* approx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = approx.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/approx.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15AA1523529800B14CF7 /* canny.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = canny.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/canny.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15AB1523529800B14CF7 /* color.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = color.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/color.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15AC1523529800B14CF7 /* contours.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = contours.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/contours.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15AD1523529800B14CF7 /* convhull.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = convhull.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/convhull.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15AE1523529800B14CF7 /* corner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = corner.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/corner.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15AF1523529800B14CF7 /* cornersubpix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cornersubpix.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/cornersubpix.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B01523529800B14CF7 /* deriv.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = deriv.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/deriv.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B11523529800B14CF7 /* distransform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = distransform.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/distransform.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B21523529800B14CF7 /* emd.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = emd.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/emd.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B31523529800B14CF7 /* featureselect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = featureselect.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/featureselect.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B41523529800B14CF7 /* featuretree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = featuretree.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/featuretree.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B51523529800B14CF7 /* filter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = filter.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/filter.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B61523529800B14CF7 /* floodfill.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = floodfill.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/floodfill.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B71523529800B14CF7 /* gcgraph.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = gcgraph.hpp; path = ThirdParty/OpenCV/modules/imgproc/src/gcgraph.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B81523529800B14CF7 /* geometry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = geometry.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/geometry.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15B91523529800B14CF7 /* grabcut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = grabcut.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/grabcut.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15BA1523529800B14CF7 /* histogram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = histogram.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/histogram.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15BB1523529800B14CF7 /* hough.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = hough.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/hough.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15BC1523529800B14CF7 /* imgwarp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = imgwarp.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/imgwarp.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15BD1523529800B14CF7 /* inpaint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = inpaint.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/inpaint.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15BE1523529800B14CF7 /* kdtree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = kdtree.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/kdtree.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15BF1523529800B14CF7 /* linefit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = linefit.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/linefit.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C01523529800B14CF7 /* lsh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lsh.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/lsh.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C11523529800B14CF7 /* matchcontours.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = matchcontours.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/matchcontours.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C21523529800B14CF7 /* moments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moments.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/moments.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C31523529800B14CF7 /* morph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = morph.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/morph.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C41523529800B14CF7 /* precomp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = precomp.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/precomp.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C51523529800B14CF7 /* precomp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = precomp.hpp; path = ThirdParty/OpenCV/modules/imgproc/src/precomp.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C61523529800B14CF7 /* pyramids.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pyramids.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/pyramids.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C71523529800B14CF7 /* pyrsegmentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pyrsegmentation.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/pyrsegmentation.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C81523529800B14CF7 /* rotcalipers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rotcalipers.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/rotcalipers.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15C91523529800B14CF7 /* samplers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = samplers.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/samplers.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15CA1523529800B14CF7 /* segmentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = segmentation.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/segmentation.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15CB1523529800B14CF7 /* shapedescr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = shapedescr.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/shapedescr.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15CC1523529800B14CF7 /* smooth.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = smooth.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/smooth.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15CD1523529800B14CF7 /* spilltree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = spilltree.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/spilltree.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15CE1523529800B14CF7 /* subdivision2d.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = subdivision2d.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/subdivision2d.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15CF1523529800B14CF7 /* sumpixels.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sumpixels.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/sumpixels.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15D01523529800B14CF7 /* tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = tables.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/tables.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15D11523529800B14CF7 /* templmatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = templmatch.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/templmatch.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15D21523529800B14CF7 /* thresh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = thresh.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/thresh.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15D31523529800B14CF7 /* undistort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = undistort.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/undistort.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C15D41523529800B14CF7 /* utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = utils.cpp; path = ThirdParty/OpenCV/modules/imgproc/src/utils.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C1604152352F400B14CF7 /* core_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = core_c.h; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/core_c.h; sourceTree = SOURCE_ROOT; };
+ 9B0C1605152352F400B14CF7 /* core.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = core.hpp; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/core.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C1606152352F400B14CF7 /* eigen.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = eigen.hpp; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/eigen.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C1607152352F400B14CF7 /* internal.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = internal.hpp; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/internal.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C1608152352F400B14CF7 /* mat.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = mat.hpp; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/mat.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C1609152352F400B14CF7 /* operations.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = operations.hpp; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/operations.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C160A152352F400B14CF7 /* types_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = types_c.h; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/types_c.h; sourceTree = SOURCE_ROOT; };
+ 9B0C160B152352F400B14CF7 /* version.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = version.hpp; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/version.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C160C152352F400B14CF7 /* wimage.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = wimage.hpp; path = ThirdParty/OpenCV/modules/core/include/opencv2/core/wimage.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C160D1523531700B14CF7 /* alloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = alloc.cpp; path = ThirdParty/OpenCV/modules/core/src/alloc.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C160E1523531700B14CF7 /* arithm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = arithm.cpp; path = ThirdParty/OpenCV/modules/core/src/arithm.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C160F1523531700B14CF7 /* array.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = array.cpp; path = ThirdParty/OpenCV/modules/core/src/array.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16101523531700B14CF7 /* cmdparser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cmdparser.cpp; path = ThirdParty/OpenCV/modules/core/src/cmdparser.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16111523531700B14CF7 /* convert.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = convert.cpp; path = ThirdParty/OpenCV/modules/core/src/convert.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16121523531700B14CF7 /* copy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = copy.cpp; path = ThirdParty/OpenCV/modules/core/src/copy.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16131523531700B14CF7 /* datastructs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = datastructs.cpp; path = ThirdParty/OpenCV/modules/core/src/datastructs.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16141523531700B14CF7 /* drawing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = drawing.cpp; path = ThirdParty/OpenCV/modules/core/src/drawing.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16151523531700B14CF7 /* dxt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dxt.cpp; path = ThirdParty/OpenCV/modules/core/src/dxt.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16161523531700B14CF7 /* lapack.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = lapack.cpp; path = ThirdParty/OpenCV/modules/core/src/lapack.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16171523531700B14CF7 /* mathfuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mathfuncs.cpp; path = ThirdParty/OpenCV/modules/core/src/mathfuncs.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16181523531700B14CF7 /* matmul.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = matmul.cpp; path = ThirdParty/OpenCV/modules/core/src/matmul.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16191523531700B14CF7 /* matop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = matop.cpp; path = ThirdParty/OpenCV/modules/core/src/matop.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C161A1523531700B14CF7 /* matrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = matrix.cpp; path = ThirdParty/OpenCV/modules/core/src/matrix.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C161B1523531700B14CF7 /* out.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = out.cpp; path = ThirdParty/OpenCV/modules/core/src/out.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C161C1523531700B14CF7 /* persistence.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = persistence.cpp; path = ThirdParty/OpenCV/modules/core/src/persistence.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C161D1523531700B14CF7 /* precomp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = precomp.cpp; path = ThirdParty/OpenCV/modules/core/src/precomp.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C161E1523531700B14CF7 /* precomp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = precomp.hpp; path = ThirdParty/OpenCV/modules/core/src/precomp.hpp; sourceTree = SOURCE_ROOT; };
+ 9B0C161F1523531700B14CF7 /* rand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = rand.cpp; path = ThirdParty/OpenCV/modules/core/src/rand.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16201523531700B14CF7 /* stat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = stat.cpp; path = ThirdParty/OpenCV/modules/core/src/stat.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16211523531700B14CF7 /* system.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = system.cpp; path = ThirdParty/OpenCV/modules/core/src/system.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C16221523531700B14CF7 /* tables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = tables.cpp; path = ThirdParty/OpenCV/modules/core/src/tables.cpp; sourceTree = SOURCE_ROOT; };
+ 9B0C168F1523559E00B14CF7 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
+ 9B0C1691152355AA00B14CF7 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+ 9B0C16AD1523D19E00B14CF7 /* colormap.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = colormap.hpp; sourceTree = "<group>"; };
+ 9B0C16AE1523D19E00B14CF7 /* decomposition.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = decomposition.hpp; sourceTree = "<group>"; };
+ 9B0C16AF1523D19E00B14CF7 /* facerec.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = facerec.hpp; sourceTree = "<group>"; };
+ 9B0C16B01523D19E00B14CF7 /* helper.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = helper.hpp; sourceTree = "<group>"; };
+ 9B0C16B11523D19E00B14CF7 /* lbp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = lbp.hpp; sourceTree = "<group>"; };
+ 9B0C16B21523D19E00B14CF7 /* subspace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; path = subspace.hpp; sourceTree = "<group>"; };
+ 9B0C16B91523D1A500B14CF7 /* colormap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = colormap.cpp; sourceTree = "<group>"; };
+ 9B0C16BA1523D1A500B14CF7 /* decomposition.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = decomposition.cpp; sourceTree = "<group>"; };
+ 9B0C16BB1523D1A500B14CF7 /* facerec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = facerec.cpp; sourceTree = "<group>"; };
+ 9B0C16BC1523D1A500B14CF7 /* helper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = helper.cpp; sourceTree = "<group>"; };
+ 9B0C16BD1523D1A500B14CF7 /* lbp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = lbp.cpp; sourceTree = "<group>"; };
+ 9B0C16BF1523D1A500B14CF7 /* subspace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = subspace.cpp; sourceTree = "<group>"; };
+ 9B0C16C81523D67D00B14CF7 /* 1_1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 1_1.jpg; sourceTree = "<group>"; };
+ 9B0C16C91523D67D00B14CF7 /* 1_2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 1_2.jpg; sourceTree = "<group>"; };
+ 9B0C16CA1523D67D00B14CF7 /* 1_3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 1_3.jpg; sourceTree = "<group>"; };
+ 9B0C16CB1523D67D00B14CF7 /* 2_1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 2_1.jpg; sourceTree = "<group>"; };
+ 9B0C16CC1523D67D00B14CF7 /* 2_2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 2_2.jpg; sourceTree = "<group>"; };
+ 9B0C16CD1523D67D00B14CF7 /* 2_3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 2_3.jpg; sourceTree = "<group>"; };
+ 9B0C16CE1523D67D00B14CF7 /* 3_1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 3_1.jpg; sourceTree = "<group>"; };
+ 9B0C16CF1523D67D00B14CF7 /* 3_2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 3_2.jpg; sourceTree = "<group>"; };
+ 9B0C16D01523D67D00B14CF7 /* 4_3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 4_3.jpg; sourceTree = "<group>"; };
+ 9B0C16D11523D67D00B14CF7 /* 4_2.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 4_2.jpg; sourceTree = "<group>"; };
+ 9B0C16D21523D67D00B14CF7 /* 4_1.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 4_1.jpg; sourceTree = "<group>"; };
+ 9B0C16D31523D67D00B14CF7 /* 3_3.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 3_3.jpg; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 9B0C155C15234B7A00B14CF7 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9B0C156815234B7A00B14CF7 /* CoreGraphics.framework in Frameworks */,
+ 9B0C16971523576C00B14CF7 /* Accelerate.framework in Frameworks */,
+ 9B0C16951523574900B14CF7 /* libOpenCV-iPhone.a in Frameworks */,
+ 9B0C156615234B7A00B14CF7 /* Foundation.framework in Frameworks */,
+ 9B0C156415234B7A00B14CF7 /* UIKit.framework in Frameworks */,
+ 9B0C16961523576900B14CF7 /* libz.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 9B0C158115234DCA00B14CF7 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9B0C16901523559E00B14CF7 /* Accelerate.framework in Frameworks */,
+ 9B0C1692152355AA00B14CF7 /* libz.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 9B0C155415234B7A00B14CF7 = {
+ isa = PBXGroup;
+ children = (
+ 9B0C156915234B7A00B14CF7 /* Face Recognition Library */,
+ 9B0C15911523511500B14CF7 /* ThirdParty */,
+ 9B0C156215234B7A00B14CF7 /* Frameworks */,
+ 9B0C156015234B7A00B14CF7 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 9B0C156015234B7A00B14CF7 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C155F15234B7A00B14CF7 /* Face Recognition Library.app */,
+ 9B0C158415234DCA00B14CF7 /* libOpenCV-iPhone.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 9B0C156215234B7A00B14CF7 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C1691152355AA00B14CF7 /* libz.dylib */,
+ 9B0C168F1523559E00B14CF7 /* Accelerate.framework */,
+ 9B0C156315234B7A00B14CF7 /* UIKit.framework */,
+ 9B0C156515234B7A00B14CF7 /* Foundation.framework */,
+ 9B0C156715234B7A00B14CF7 /* CoreGraphics.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 9B0C156915234B7A00B14CF7 /* Face Recognition Library */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C157215234B7A00B14CF7 /* AppDelegate.h */,
+ 9B0C157315234B7A00B14CF7 /* AppDelegate.m */,
+ 9B0C157815234B7A00B14CF7 /* ViewController.h */,
+ 9B0C157915234B7A00B14CF7 /* ViewController.mm */,
+ 9B0C157515234B7A00B14CF7 /* MainStoryboard.storyboard */,
+ 9B0C16AC1523D18A00B14CF7 /* FaceRecognition */,
+ 9B0C16C71523D46200B14CF7 /* Images */,
+ 9B0C156A15234B7A00B14CF7 /* Supporting Files */,
+ );
+ path = "Face Recognition Library";
+ sourceTree = "<group>";
+ };
+ 9B0C156A15234B7A00B14CF7 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C156B15234B7A00B14CF7 /* Face Recognition Library-Info.plist */,
+ 9B0C156C15234B7A00B14CF7 /* InfoPlist.strings */,
+ 9B0C156F15234B7A00B14CF7 /* main.m */,
+ 9B0C157115234B7A00B14CF7 /* Face Recognition Library-Prefix.pch */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ 9B0C15911523511500B14CF7 /* ThirdParty */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C15971523520400B14CF7 /* config_auto.h */,
+ 9B0C15941523514E00B14CF7 /* OpenCV */,
+ );
+ name = ThirdParty;
+ path = "Face Recognition Library";
+ sourceTree = "<group>";
+ };
+ 9B0C15941523514E00B14CF7 /* OpenCV */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C15991523521900B14CF7 /* opencv.hpp */,
+ 9B0C15981523521000B14CF7 /* cvconfig.h */,
+ 9B0C159B1523522C00B14CF7 /* imgproc */,
+ 9B0C159A1523522400B14CF7 /* core */,
+ );
+ name = OpenCV;
+ sourceTree = "<group>";
+ };
+ 9B0C159A1523522400B14CF7 /* core */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C1600152352AE00B14CF7 /* include */,
+ 9B0C1601152352B200B14CF7 /* src */,
+ );
+ name = core;
+ sourceTree = "<group>";
+ };
+ 9B0C159B1523522C00B14CF7 /* imgproc */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C159D1523523D00B14CF7 /* src */,
+ 9B0C159C1523523800B14CF7 /* include */,
+ );
+ name = imgproc;
+ sourceTree = "<group>";
+ };
+ 9B0C159C1523523800B14CF7 /* include */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C159E1523524E00B14CF7 /* opencv2 */,
+ );
+ name = include;
+ sourceTree = "<group>";
+ };
+ 9B0C159D1523523D00B14CF7 /* src */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C15A31523529800B14CF7 /* _featuretree.h */,
+ 9B0C15A41523529800B14CF7 /* _geom.h */,
+ 9B0C15A51523529800B14CF7 /* _imgproc.h */,
+ 9B0C15A61523529800B14CF7 /* _kdtree.hpp */,
+ 9B0C15A71523529800B14CF7 /* _list.h */,
+ 9B0C15A81523529800B14CF7 /* accum.cpp */,
+ 9B0C15A91523529800B14CF7 /* approx.cpp */,
+ 9B0C15AA1523529800B14CF7 /* canny.cpp */,
+ 9B0C15AB1523529800B14CF7 /* color.cpp */,
+ 9B0C15AC1523529800B14CF7 /* contours.cpp */,
+ 9B0C15AD1523529800B14CF7 /* convhull.cpp */,
+ 9B0C15AE1523529800B14CF7 /* corner.cpp */,
+ 9B0C15AF1523529800B14CF7 /* cornersubpix.cpp */,
+ 9B0C15B01523529800B14CF7 /* deriv.cpp */,
+ 9B0C15B11523529800B14CF7 /* distransform.cpp */,
+ 9B0C15B21523529800B14CF7 /* emd.cpp */,
+ 9B0C15B31523529800B14CF7 /* featureselect.cpp */,
+ 9B0C15B41523529800B14CF7 /* featuretree.cpp */,
+ 9B0C15B51523529800B14CF7 /* filter.cpp */,
+ 9B0C15B61523529800B14CF7 /* floodfill.cpp */,
+ 9B0C15B71523529800B14CF7 /* gcgraph.hpp */,
+ 9B0C15B81523529800B14CF7 /* geometry.cpp */,
+ 9B0C15B91523529800B14CF7 /* grabcut.cpp */,
+ 9B0C15BA1523529800B14CF7 /* histogram.cpp */,
+ 9B0C15BB1523529800B14CF7 /* hough.cpp */,
+ 9B0C15BC1523529800B14CF7 /* imgwarp.cpp */,
+ 9B0C15BD1523529800B14CF7 /* inpaint.cpp */,
+ 9B0C15BE1523529800B14CF7 /* kdtree.cpp */,
+ 9B0C15BF1523529800B14CF7 /* linefit.cpp */,
+ 9B0C15C01523529800B14CF7 /* lsh.cpp */,
+ 9B0C15C11523529800B14CF7 /* matchcontours.cpp */,
+ 9B0C15C21523529800B14CF7 /* moments.cpp */,
+ 9B0C15C31523529800B14CF7 /* morph.cpp */,
+ 9B0C15C41523529800B14CF7 /* precomp.cpp */,
+ 9B0C15C51523529800B14CF7 /* precomp.hpp */,
+ 9B0C15C61523529800B14CF7 /* pyramids.cpp */,
+ 9B0C15C71523529800B14CF7 /* pyrsegmentation.cpp */,
+ 9B0C15C81523529800B14CF7 /* rotcalipers.cpp */,
+ 9B0C15C91523529800B14CF7 /* samplers.cpp */,
+ 9B0C15CA1523529800B14CF7 /* segmentation.cpp */,
+ 9B0C15CB1523529800B14CF7 /* shapedescr.cpp */,
+ 9B0C15CC1523529800B14CF7 /* smooth.cpp */,
+ 9B0C15CD1523529800B14CF7 /* spilltree.cpp */,
+ 9B0C15CE1523529800B14CF7 /* subdivision2d.cpp */,
+ 9B0C15CF1523529800B14CF7 /* sumpixels.cpp */,
+ 9B0C15D01523529800B14CF7 /* tables.cpp */,
+ 9B0C15D11523529800B14CF7 /* templmatch.cpp */,
+ 9B0C15D21523529800B14CF7 /* thresh.cpp */,
+ 9B0C15D31523529800B14CF7 /* undistort.cpp */,
+ 9B0C15D41523529800B14CF7 /* utils.cpp */,
+ );
+ name = src;
+ sourceTree = "<group>";
+ };
+ 9B0C159E1523524E00B14CF7 /* opencv2 */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C159F1523525A00B14CF7 /* imgproc */,
+ );
+ name = opencv2;
+ sourceTree = "<group>";
+ };
+ 9B0C159F1523525A00B14CF7 /* imgproc */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C15A01523527E00B14CF7 /* imgproc_c.h */,
+ 9B0C15A11523527E00B14CF7 /* imgproc.hpp */,
+ 9B0C15A21523527E00B14CF7 /* types_c.h */,
+ );
+ name = imgproc;
+ sourceTree = "<group>";
+ };
+ 9B0C1600152352AE00B14CF7 /* include */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C1602152352C100B14CF7 /* opencv2 */,
+ );
+ name = include;
+ sourceTree = "<group>";
+ };
+ 9B0C1601152352B200B14CF7 /* src */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C160D1523531700B14CF7 /* alloc.cpp */,
+ 9B0C160E1523531700B14CF7 /* arithm.cpp */,
+ 9B0C160F1523531700B14CF7 /* array.cpp */,
+ 9B0C16101523531700B14CF7 /* cmdparser.cpp */,
+ 9B0C16111523531700B14CF7 /* convert.cpp */,
+ 9B0C16121523531700B14CF7 /* copy.cpp */,
+ 9B0C16131523531700B14CF7 /* datastructs.cpp */,
+ 9B0C16141523531700B14CF7 /* drawing.cpp */,
+ 9B0C16151523531700B14CF7 /* dxt.cpp */,
+ 9B0C16161523531700B14CF7 /* lapack.cpp */,
+ 9B0C16171523531700B14CF7 /* mathfuncs.cpp */,
+ 9B0C16181523531700B14CF7 /* matmul.cpp */,
+ 9B0C16191523531700B14CF7 /* matop.cpp */,
+ 9B0C161A1523531700B14CF7 /* matrix.cpp */,
+ 9B0C161B1523531700B14CF7 /* out.cpp */,
+ 9B0C161C1523531700B14CF7 /* persistence.cpp */,
+ 9B0C161D1523531700B14CF7 /* precomp.cpp */,
+ 9B0C161E1523531700B14CF7 /* precomp.hpp */,
+ 9B0C161F1523531700B14CF7 /* rand.cpp */,
+ 9B0C16201523531700B14CF7 /* stat.cpp */,
+ 9B0C16211523531700B14CF7 /* system.cpp */,
+ 9B0C16221523531700B14CF7 /* tables.cpp */,
+ );
+ name = src;
+ sourceTree = "<group>";
+ };
+ 9B0C1602152352C100B14CF7 /* opencv2 */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C1603152352CB00B14CF7 /* core */,
+ );
+ name = opencv2;
+ sourceTree = "<group>";
+ };
+ 9B0C1603152352CB00B14CF7 /* core */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C1604152352F400B14CF7 /* core_c.h */,
+ 9B0C1605152352F400B14CF7 /* core.hpp */,
+ 9B0C1606152352F400B14CF7 /* eigen.hpp */,
+ 9B0C1607152352F400B14CF7 /* internal.hpp */,
+ 9B0C1608152352F400B14CF7 /* mat.hpp */,
+ 9B0C1609152352F400B14CF7 /* operations.hpp */,
+ 9B0C160A152352F400B14CF7 /* types_c.h */,
+ 9B0C160B152352F400B14CF7 /* version.hpp */,
+ 9B0C160C152352F400B14CF7 /* wimage.hpp */,
+ );
+ name = core;
+ sourceTree = "<group>";
+ };
+ 9B0C16AC1523D18A00B14CF7 /* FaceRecognition */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C16AD1523D19E00B14CF7 /* colormap.hpp */,
+ 9B0C16AE1523D19E00B14CF7 /* decomposition.hpp */,
+ 9B0C16AF1523D19E00B14CF7 /* facerec.hpp */,
+ 9B0C16B01523D19E00B14CF7 /* helper.hpp */,
+ 9B0C16B11523D19E00B14CF7 /* lbp.hpp */,
+ 9B0C16B21523D19E00B14CF7 /* subspace.hpp */,
+ 9B0C16B91523D1A500B14CF7 /* colormap.cpp */,
+ 9B0C16BA1523D1A500B14CF7 /* decomposition.cpp */,
+ 9B0C16BB1523D1A500B14CF7 /* facerec.cpp */,
+ 9B0C16BC1523D1A500B14CF7 /* helper.cpp */,
+ 9B0C16BD1523D1A500B14CF7 /* lbp.cpp */,
+ 9B0C16BF1523D1A500B14CF7 /* subspace.cpp */,
+ );
+ name = FaceRecognition;
+ sourceTree = "<group>";
+ };
+ 9B0C16C71523D46200B14CF7 /* Images */ = {
+ isa = PBXGroup;
+ children = (
+ 9B0C16C81523D67D00B14CF7 /* 1_1.jpg */,
+ 9B0C16C91523D67D00B14CF7 /* 1_2.jpg */,
+ 9B0C16CA1523D67D00B14CF7 /* 1_3.jpg */,
+ 9B0C16CB1523D67D00B14CF7 /* 2_1.jpg */,
+ 9B0C16CC1523D67D00B14CF7 /* 2_2.jpg */,
+ 9B0C16CD1523D67D00B14CF7 /* 2_3.jpg */,
+ 9B0C16CE1523D67D00B14CF7 /* 3_1.jpg */,
+ 9B0C16CF1523D67D00B14CF7 /* 3_2.jpg */,
+ 9B0C16D31523D67D00B14CF7 /* 3_3.jpg */,
+ 9B0C16D21523D67D00B14CF7 /* 4_1.jpg */,
+ 9B0C16D11523D67D00B14CF7 /* 4_2.jpg */,
+ 9B0C16D01523D67D00B14CF7 /* 4_3.jpg */,
+ );
+ name = Images;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 9B0C158215234DCA00B14CF7 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9B0C16381523540900B14CF7 /* opencv.hpp in Headers */,
+ 9B0C16441523540900B14CF7 /* core.hpp in Headers */,
+ 9B0C16431523540900B14CF7 /* core_c.h in Headers */,
+ 9B0C16451523540900B14CF7 /* eigen.hpp in Headers */,
+ 9B0C16461523540900B14CF7 /* internal.hpp in Headers */,
+ 9B0C16471523540900B14CF7 /* mat.hpp in Headers */,
+ 9B0C16481523540900B14CF7 /* operations.hpp in Headers */,
+ 9B0C16491523540900B14CF7 /* types_c.h in Headers */,
+ 9B0C164A1523540900B14CF7 /* version.hpp in Headers */,
+ 9B0C164B1523540900B14CF7 /* wimage.hpp in Headers */,
+ 9B0C164D1523542B00B14CF7 /* precomp.hpp in Headers */,
+ 9B0C16411523540900B14CF7 /* imgproc.hpp in Headers */,
+ 9B0C16401523540900B14CF7 /* imgproc_c.h in Headers */,
+ 9B0C16421523540900B14CF7 /* types_c.h in Headers */,
+ 9B0C163A1523540900B14CF7 /* _featuretree.h in Headers */,
+ 9B0C163B1523540900B14CF7 /* _geom.h in Headers */,
+ 9B0C163C1523540900B14CF7 /* _imgproc.h in Headers */,
+ 9B0C163D1523540900B14CF7 /* _kdtree.hpp in Headers */,
+ 9B0C163E1523540900B14CF7 /* _list.h in Headers */,
+ 9B0C163F1523540900B14CF7 /* gcgraph.hpp in Headers */,
+ 9B0C164C1523540900B14CF7 /* precomp.hpp in Headers */,
+ 9B0C16391523540900B14CF7 /* cvconfig.h in Headers */,
+ 9B0C16B31523D19E00B14CF7 /* colormap.hpp in Headers */,
+ 9B0C16B41523D19E00B14CF7 /* decomposition.hpp in Headers */,
+ 9B0C16B51523D19E00B14CF7 /* facerec.hpp in Headers */,
+ 9B0C16B61523D19E00B14CF7 /* helper.hpp in Headers */,
+ 9B0C16B71523D19E00B14CF7 /* lbp.hpp in Headers */,
+ 9B0C16B81523D19E00B14CF7 /* subspace.hpp in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 9B0C155E15234B7A00B14CF7 /* Face Recognition Library */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9B0C157D15234B7A00B14CF7 /* Build configuration list for PBXNativeTarget "Face Recognition Library" */;
+ buildPhases = (
+ 9B0C155B15234B7A00B14CF7 /* Sources */,
+ 9B0C155C15234B7A00B14CF7 /* Frameworks */,
+ 9B0C155D15234B7A00B14CF7 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 9B0C1694152356D000B14CF7 /* PBXTargetDependency */,
+ );
+ name = "Face Recognition Library";
+ productName = "Face Recognition Library";
+ productReference = 9B0C155F15234B7A00B14CF7 /* Face Recognition Library.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 9B0C158315234DCA00B14CF7 /* OpenCV-iPhone */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9B0C158C15234DCA00B14CF7 /* Build configuration list for PBXNativeTarget "OpenCV-iPhone" */;
+ buildPhases = (
+ 9B0C158215234DCA00B14CF7 /* Headers */,
+ 9B0C158015234DCA00B14CF7 /* Sources */,
+ 9B0C158115234DCA00B14CF7 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "OpenCV-iPhone";
+ productName = "OpenCV-iPhone";
+ productReference = 9B0C158415234DCA00B14CF7 /* libOpenCV-iPhone.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 9B0C155615234B7A00B14CF7 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
+ buildConfigurationList = 9B0C155915234B7A00B14CF7 /* Build configuration list for PBXProject "Face Recognition Library" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 9B0C155415234B7A00B14CF7;
+ productRefGroup = 9B0C156015234B7A00B14CF7 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 9B0C155E15234B7A00B14CF7 /* Face Recognition Library */,
+ 9B0C158315234DCA00B14CF7 /* OpenCV-iPhone */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 9B0C155D15234B7A00B14CF7 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9B0C156E15234B7A00B14CF7 /* InfoPlist.strings in Resources */,
+ 9B0C157715234B7A00B14CF7 /* MainStoryboard.storyboard in Resources */,
+ 9B0C16D41523D67D00B14CF7 /* 1_1.jpg in Resources */,
+ 9B0C16D51523D67D00B14CF7 /* 1_2.jpg in Resources */,
+ 9B0C16D61523D67D00B14CF7 /* 1_3.jpg in Resources */,
+ 9B0C16D71523D67D00B14CF7 /* 2_1.jpg in Resources */,
+ 9B0C16D81523D67D00B14CF7 /* 2_2.jpg in Resources */,
+ 9B0C16D91523D67D00B14CF7 /* 2_3.jpg in Resources */,
+ 9B0C16DA1523D67D00B14CF7 /* 3_1.jpg in Resources */,
+ 9B0C16DB1523D67D00B14CF7 /* 3_2.jpg in Resources */,
+ 9B0C16DC1523D67D00B14CF7 /* 4_3.jpg in Resources */,
+ 9B0C16DD1523D67D00B14CF7 /* 4_2.jpg in Resources */,
+ 9B0C16DE1523D67D00B14CF7 /* 4_1.jpg in Resources */,
+ 9B0C16DF1523D67D00B14CF7 /* 3_3.jpg in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 9B0C155B15234B7A00B14CF7 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9B0C157015234B7A00B14CF7 /* main.m in Sources */,
+ 9B0C157415234B7A00B14CF7 /* AppDelegate.m in Sources */,
+ 9B0C157A15234B7A00B14CF7 /* ViewController.mm in Sources */,
+ 9B0C16C01523D1A500B14CF7 /* colormap.cpp in Sources */,
+ 9B0C16C11523D1A500B14CF7 /* decomposition.cpp in Sources */,
+ 9B0C16C21523D1A500B14CF7 /* facerec.cpp in Sources */,
+ 9B0C16C31523D1A500B14CF7 /* helper.cpp in Sources */,
+ 9B0C16C41523D1A500B14CF7 /* lbp.cpp in Sources */,
+ 9B0C16C61523D1A500B14CF7 /* subspace.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 9B0C158015234DCA00B14CF7 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9B0C167A152354A500B14CF7 /* alloc.cpp in Sources */,
+ 9B0C167B152354A500B14CF7 /* arithm.cpp in Sources */,
+ 9B0C167C152354A500B14CF7 /* array.cpp in Sources */,
+ 9B0C167E152354A500B14CF7 /* convert.cpp in Sources */,
+ 9B0C167F152354A500B14CF7 /* copy.cpp in Sources */,
+ 9B0C1680152354A500B14CF7 /* datastructs.cpp in Sources */,
+ 9B0C1681152354A500B14CF7 /* drawing.cpp in Sources */,
+ 9B0C1682152354A500B14CF7 /* dxt.cpp in Sources */,
+ 9B0C1683152354A500B14CF7 /* lapack.cpp in Sources */,
+ 9B0C1684152354A500B14CF7 /* mathfuncs.cpp in Sources */,
+ 9B0C1685152354A500B14CF7 /* matmul.cpp in Sources */,
+ 9B0C1686152354A500B14CF7 /* matop.cpp in Sources */,
+ 9B0C1687152354A500B14CF7 /* matrix.cpp in Sources */,
+ 9B0C1688152354A500B14CF7 /* out.cpp in Sources */,
+ 9B0C1689152354A500B14CF7 /* persistence.cpp in Sources */,
+ 9B0C168A152354A500B14CF7 /* precomp.cpp in Sources */,
+ 9B0C168B152354A500B14CF7 /* rand.cpp in Sources */,
+ 9B0C168C152354A500B14CF7 /* stat.cpp in Sources */,
+ 9B0C168D152354A500B14CF7 /* system.cpp in Sources */,
+ 9B0C168E152354A500B14CF7 /* tables.cpp in Sources */,
+ 9B0C164E152354A500B14CF7 /* accum.cpp in Sources */,
+ 9B0C164F152354A500B14CF7 /* approx.cpp in Sources */,
+ 9B0C1650152354A500B14CF7 /* canny.cpp in Sources */,
+ 9B0C1651152354A500B14CF7 /* color.cpp in Sources */,
+ 9B0C1652152354A500B14CF7 /* contours.cpp in Sources */,
+ 9B0C1653152354A500B14CF7 /* convhull.cpp in Sources */,
+ 9B0C1654152354A500B14CF7 /* corner.cpp in Sources */,
+ 9B0C1655152354A500B14CF7 /* cornersubpix.cpp in Sources */,
+ 9B0C1656152354A500B14CF7 /* deriv.cpp in Sources */,
+ 9B0C1657152354A500B14CF7 /* distransform.cpp in Sources */,
+ 9B0C1658152354A500B14CF7 /* emd.cpp in Sources */,
+ 9B0C1659152354A500B14CF7 /* featureselect.cpp in Sources */,
+ 9B0C165A152354A500B14CF7 /* featuretree.cpp in Sources */,
+ 9B0C165B152354A500B14CF7 /* filter.cpp in Sources */,
+ 9B0C165C152354A500B14CF7 /* floodfill.cpp in Sources */,
+ 9B0C165E152354A500B14CF7 /* geometry.cpp in Sources */,
+ 9B0C165F152354A500B14CF7 /* grabcut.cpp in Sources */,
+ 9B0C1660152354A500B14CF7 /* histogram.cpp in Sources */,
+ 9B0C1661152354A500B14CF7 /* hough.cpp in Sources */,
+ 9B0C1662152354A500B14CF7 /* imgwarp.cpp in Sources */,
+ 9B0C1663152354A500B14CF7 /* inpaint.cpp in Sources */,
+ 9B0C1664152354A500B14CF7 /* kdtree.cpp in Sources */,
+ 9B0C1665152354A500B14CF7 /* linefit.cpp in Sources */,
+ 9B0C1666152354A500B14CF7 /* lsh.cpp in Sources */,
+ 9B0C1667152354A500B14CF7 /* matchcontours.cpp in Sources */,
+ 9B0C1668152354A500B14CF7 /* moments.cpp in Sources */,
+ 9B0C1669152354A500B14CF7 /* morph.cpp in Sources */,
+ 9B0C166A152354A500B14CF7 /* precomp.cpp in Sources */,
+ 9B0C166B152354A500B14CF7 /* pyramids.cpp in Sources */,
+ 9B0C166C152354A500B14CF7 /* pyrsegmentation.cpp in Sources */,
+ 9B0C166D152354A500B14CF7 /* rotcalipers.cpp in Sources */,
+ 9B0C166E152354A500B14CF7 /* samplers.cpp in Sources */,
+ 9B0C166F152354A500B14CF7 /* segmentation.cpp in Sources */,
+ 9B0C1670152354A500B14CF7 /* shapedescr.cpp in Sources */,
+ 9B0C1671152354A500B14CF7 /* smooth.cpp in Sources */,
+ 9B0C1672152354A500B14CF7 /* spilltree.cpp in Sources */,
+ 9B0C1673152354A500B14CF7 /* subdivision2d.cpp in Sources */,
+ 9B0C1674152354A500B14CF7 /* sumpixels.cpp in Sources */,
+ 9B0C1675152354A500B14CF7 /* tables.cpp in Sources */,
+ 9B0C1676152354A500B14CF7 /* templmatch.cpp in Sources */,
+ 9B0C1677152354A500B14CF7 /* thresh.cpp in Sources */,
+ 9B0C1678152354A500B14CF7 /* undistort.cpp in Sources */,
+ 9B0C1679152354A500B14CF7 /* utils.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 9B0C1694152356D000B14CF7 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 9B0C158315234DCA00B14CF7 /* OpenCV-iPhone */;
+ targetProxy = 9B0C1693152356D000B14CF7 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 9B0C156C15234B7A00B14CF7 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 9B0C156D15234B7A00B14CF7 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+ 9B0C157515234B7A00B14CF7 /* MainStoryboard.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 9B0C157615234B7A00B14CF7 /* en */,
+ );
+ name = MainStoryboard.storyboard;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 9B0C157B15234B7A00B14CF7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+ SDKROOT = iphoneos;
+ USER_HEADER_SEARCH_PATHS = "ThirdParty/OpenCV/include ThirdParty/OpenCV/modules/core/include ThirdParty/OpenCV/modules/flann/include ThirdParty/OpenCV/modules/imgproc/include ThirdParty/OpenCV/modules/video/include ThirdParty/OpenCV/modules/features2d/include ThirdParty/OpenCV/modules/objdetect/include ThirdParty/OpenCV/modules/calib3d/include ThirdParty/OpenCV/modules/highgui/include ThirdParty/OpenCV/modules/ml/include ThirdParty/OpenCV/modules/contrib/include ThirdParty/iulib ThirdParty/iulib-includes ThirdParty/ocropus/ocr-utils";
+ };
+ name = Debug;
+ };
+ 9B0C157C15234B7A00B14CF7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 5.1;
+ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
+ SDKROOT = iphoneos;
+ USER_HEADER_SEARCH_PATHS = "ThirdParty/OpenCV/include ThirdParty/OpenCV/modules/core/include ThirdParty/OpenCV/modules/flann/include ThirdParty/OpenCV/modules/imgproc/include ThirdParty/OpenCV/modules/video/include ThirdParty/OpenCV/modules/features2d/include ThirdParty/OpenCV/modules/objdetect/include ThirdParty/OpenCV/modules/calib3d/include ThirdParty/OpenCV/modules/highgui/include ThirdParty/OpenCV/modules/ml/include ThirdParty/OpenCV/modules/contrib/include ThirdParty/iulib ThirdParty/iulib-includes ThirdParty/ocropus/ocr-utils";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 9B0C157E15234B7A00B14CF7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CLANG_WARN_CXX0X_EXTENSIONS = NO;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Face Recognition Library/Face Recognition Library-Prefix.pch";
+ GCC_PREPROCESSOR_DEFINITIONS = "";
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = NO;
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
+ INFOPLIST_FILE = "Face Recognition Library/Face Recognition Library-Info.plist";
+ OTHER_LDFLAGS = (
+ "-all_load",
+ "-Objc",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ USER_HEADER_SEARCH_PATHS = "ThirdParty/OpenCV/include ThirdParty/OpenCV/modules/core/include ThirdParty/OpenCV/modules/flann/include ThirdParty/OpenCV/modules/imgproc/include ThirdParty/OpenCV/modules/video/include ThirdParty/OpenCV/modules/features2d/include ThirdParty/OpenCV/modules/objdetect/include ThirdParty/OpenCV/modules/calib3d/include ThirdParty/OpenCV/modules/highgui/include ThirdParty/OpenCV/modules/ml/include ThirdParty/OpenCV/modules/contrib/include ThirdParty/iulib ThirdParty/iulib-includes ThirdParty/ocropus/ocr-utils";
+ VALIDATE_PRODUCT = YES;
+ WRAPPER_EXTENSION = app;
+ };
+ name = Debug;
+ };
+ 9B0C157F15234B7A00B14CF7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CLANG_WARN_CXX0X_EXTENSIONS = NO;
+ DEPLOYMENT_POSTPROCESSING = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = "Face Recognition Library/Face Recognition Library-Prefix.pch";
+ GCC_WARN_ABOUT_RETURN_TYPE = NO;
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
+ INFOPLIST_FILE = "Face Recognition Library/Face Recognition Library-Info.plist";
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = (
+ "-all_load",
+ "-Objc",
+ );
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SEPARATE_STRIP = YES;
+ USER_HEADER_SEARCH_PATHS = "ThirdParty/OpenCV/include ThirdParty/OpenCV/modules/core/include ThirdParty/OpenCV/modules/flann/include ThirdParty/OpenCV/modules/imgproc/include ThirdParty/OpenCV/modules/video/include ThirdParty/OpenCV/modules/features2d/include ThirdParty/OpenCV/modules/objdetect/include ThirdParty/OpenCV/modules/calib3d/include ThirdParty/OpenCV/modules/highgui/include ThirdParty/OpenCV/modules/ml/include ThirdParty/OpenCV/modules/contrib/include ThirdParty/iulib ThirdParty/iulib-includes ThirdParty/ocropus/ocr-utils";
+ WRAPPER_EXTENSION = app;
+ };
+ name = Release;
+ };
+ 9B0C158D15234DCA00B14CF7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = YES;
+ DSTROOT = /tmp/OpenCV_iPhone.dst;
+ FRAMEWORK_SEARCH_PATHS = "${SDK_DIR}/System/Library/Frameworks/Accelerate.framework/Frameworks";
+ GCC_ENABLE_SSE3_EXTENSIONS = NO;
+ GCC_ENABLE_SSE41_EXTENSIONS = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = NO;
+ GCC_PREFIX_HEADER = "";
+ GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = NO;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = NO;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "ThirdParty/OpenCV/include ThirdParty/OpenCV/modules/core/include ThirdParty/OpenCV/modules/flann/include ThirdParty/OpenCV/modules/imgproc/include ThirdParty/OpenCV/modules/video/include ThirdParty/OpenCV/modules/features2d/include ThirdParty/OpenCV/modules/objdetect/include ThirdParty/OpenCV/modules/calib3d/include ThirdParty/OpenCV/modules/highgui/include ThirdParty/OpenCV/modules/ml/include ThirdParty/OpenCV/modules/contrib/include ThirdParty/iulib ThirdParty/iulib-includes ThirdParty/ocropus/ocr-utils";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Debug;
+ };
+ 9B0C158E15234DCA00B14CF7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = YES;
+ DEPLOYMENT_POSTPROCESSING = YES;
+ DSTROOT = /tmp/OpenCV_iPhone.dst;
+ FRAMEWORK_SEARCH_PATHS = "${SDK_DIR}/System/Library/Frameworks/Accelerate.framework/Frameworks";
+ GCC_ENABLE_SSE3_EXTENSIONS = NO;
+ GCC_ENABLE_SSE41_EXTENSIONS = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
+ GCC_OPTIMIZATION_LEVEL = s;
+ GCC_PRECOMPILE_PREFIX_HEADER = NO;
+ GCC_PREFIX_HEADER = "";
+ GCC_PREPROCESSOR_DEFINITIONS = HAVE_CONFIG_H;
+ GCC_SYMBOLS_PRIVATE_EXTERN = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = NO;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = NO;
+ OTHER_CFLAGS = "";
+ OTHER_LDFLAGS = "";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = NO;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "ThirdParty/OpenCV/include ThirdParty/OpenCV/modules/core/include ThirdParty/OpenCV/modules/flann/include ThirdParty/OpenCV/modules/imgproc/include ThirdParty/OpenCV/modules/video/include ThirdParty/OpenCV/modules/features2d/include ThirdParty/OpenCV/modules/objdetect/include ThirdParty/OpenCV/modules/calib3d/include ThirdParty/OpenCV/modules/highgui/include ThirdParty/OpenCV/modules/ml/include ThirdParty/OpenCV/modules/contrib/include ThirdParty/iulib ThirdParty/iulib-includes ThirdParty/ocropus/ocr-utils";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 9B0C155915234B7A00B14CF7 /* Build configuration list for PBXProject "Face Recognition Library" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9B0C157B15234B7A00B14CF7 /* Debug */,
+ 9B0C157C15234B7A00B14CF7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 9B0C157D15234B7A00B14CF7 /* Build configuration list for PBXNativeTarget "Face Recognition Library" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9B0C157E15234B7A00B14CF7 /* Debug */,
+ 9B0C157F15234B7A00B14CF7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 9B0C158C15234DCA00B14CF7 /* Build configuration list for PBXNativeTarget "OpenCV-iPhone" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9B0C158D15234DCA00B14CF7 /* Debug */,
+ 9B0C158E15234DCA00B14CF7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 9B0C155615234B7A00B14CF7 /* Project object */;
+}
View
7 Face Recognition Library/Face Recognition Library.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:Face Recognition Library.xcodeproj">
+ </FileRef>
+</Workspace>
View
BIN  ...gnition Library.xcodeproj/project.xcworkspace/xcuserdata/pmfc.xcuserdatad/UserInterfaceState.xcuserstate
Binary file not shown
View
85 ...ce Recognition Library.xcodeproj/xcuserdata/pmfc.xcuserdatad/xcschemes/Face Recognition Library.xcscheme
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "9B0C155E15234B7A00B14CF7"
+ BuildableName = "Face Recognition Library.app"
+ BlueprintName = "Face Recognition Library"
+ ReferencedContainer = "container:Face Recognition Library.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ <MacroExpansion>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "9B0C155E15234B7A00B14CF7"
+ BuildableName = "Face Recognition Library.app"
+ BlueprintName = "Face Recognition Library"
+ ReferencedContainer = "container:Face Recognition Library.xcodeproj">
+ </BuildableReference>
+ </MacroExpansion>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "9B0C155E15234B7A00B14CF7"
+ BuildableName = "Face Recognition Library.app"
+ BlueprintName = "Face Recognition Library"
+ ReferencedContainer = "container:Face Recognition Library.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ <BuildableProductRunnable>
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "9B0C155E15234B7A00B14CF7"
+ BuildableName = "Face Recognition Library.app"
+ BlueprintName = "Face Recognition Library"
+ ReferencedContainer = "container:Face Recognition Library.xcodeproj">
+ </BuildableReference>
+ </BuildableProductRunnable>
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
58 ... Library/Face Recognition Library.xcodeproj/xcuserdata/pmfc.xcuserdatad/xcschemes/OpenCV-iPhone.xcscheme
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Scheme
+ version = "1.3">
+ <BuildAction
+ parallelizeBuildables = "YES"
+ buildImplicitDependencies = "YES">
+ <BuildActionEntries>
+ <BuildActionEntry
+ buildForTesting = "YES"
+ buildForRunning = "YES"
+ buildForProfiling = "YES"
+ buildForArchiving = "YES"
+ buildForAnalyzing = "YES">
+ <BuildableReference
+ BuildableIdentifier = "primary"
+ BlueprintIdentifier = "9B0C158315234DCA00B14CF7"
+ BuildableName = "libOpenCV-iPhone.a"
+ BlueprintName = "OpenCV-iPhone"
+ ReferencedContainer = "container:Face Recognition Library.xcodeproj">
+ </BuildableReference>
+ </BuildActionEntry>
+ </BuildActionEntries>
+ </BuildAction>
+ <TestAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ buildConfiguration = "Debug">
+ <Testables>
+ </Testables>
+ </TestAction>
+ <LaunchAction
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
+ launchStyle = "0"
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Debug"
+ ignoresPersistentStateOnLaunch = "NO"
+ debugDocumentVersioning = "YES"
+ allowLocationSimulation = "YES">
+ <AdditionalOptions>
+ </AdditionalOptions>
+ </LaunchAction>
+ <ProfileAction
+ shouldUseLaunchSchemeArgsEnv = "YES"
+ savedToolIdentifier = ""
+ useCustomWorkingDirectory = "NO"
+ buildConfiguration = "Release"
+ debugDocumentVersioning = "YES">
+ </ProfileAction>
+ <AnalyzeAction
+ buildConfiguration = "Debug">
+ </AnalyzeAction>
+ <ArchiveAction
+ buildConfiguration = "Release"
+ revealArchiveInOrganizer = "YES">
+ </ArchiveAction>
+</Scheme>
View
32 ...ibrary/Face Recognition Library.xcodeproj/xcuserdata/pmfc.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>SchemeUserState</key>
+ <dict>
+ <key>Face Recognition Library.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>0</integer>
+ </dict>
+ <key>OpenCV-iPhone.xcscheme</key>
+ <dict>
+ <key>orderHint</key>
+ <integer>1</integer>
+ </dict>
+ </dict>
+ <key>SuppressBuildableAutocreation</key>
+ <dict>
+ <key>9B0C155E15234B7A00B14CF7</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ <key>9B0C158315234DCA00B14CF7</key>
+ <dict>
+ <key>primary</key>
+ <true/>
+ </dict>
+ </dict>
+</dict>
+</plist>
View
BIN  Face Recognition Library/Face Recognition Library/1_1.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/1_2.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/1_3.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/2_1.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/2_2.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/2_3.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/3_1.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/3_2.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/3_3.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/4_1.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/4_2.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN  Face Recognition Library/Face Recognition Library/4_3.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
15 Face Recognition Library/Face Recognition Library/AppDelegate.h
@@ -0,0 +1,15 @@
+//
+// AppDelegate.h
+// Face Recognition Library
+//
+// Created by Pedro Centieiro on 3/28/12.
+// Copyright (c) 2012. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface AppDelegate : UIResponder <UIApplicationDelegate>
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
View
48 Face Recognition Library/Face Recognition Library/AppDelegate.m
@@ -0,0 +1,48 @@
+//
+// AppDelegate.m
+// Face Recognition Library
+//
+// Created by Pedro Centieiro on 3/28/12.
+// Copyright (c) 2012. All rights reserved.
+//
+
+#import "AppDelegate.h"
+
+@implementation AppDelegate
+
+@synthesize window = _window;
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+ // Override point for customization after application launch.
+ return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+ // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+ // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+ // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
+ // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+ // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+ // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+ // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+@end
View
40 Face Recognition Library/Face Recognition Library/Face Recognition Library-Info.plist
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>img.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>UIMainStoryboardFile</key>
+ <string>MainStoryboard</string>
+ <key>UIRequiredDeviceCapabilities</key>
+ <array>
+ <string>armv7</string>
+ </array>
+ <key>UISupportedInterfaceOrientations</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+</dict>
+</plist>
View
18 Face Recognition Library/Face Recognition Library/Face Recognition Library-Prefix.pch
@@ -0,0 +1,18 @@
+//
+// Prefix header for all source files of the 'Face Recognition Library' target in the 'Face Recognition Library' project
+//
+
+#import <Availability.h>
+
+#ifndef __IPHONE_5_0
+#warning "This project uses features only available in iOS SDK 5.0 and later."
+#endif
+
+#ifdef __cplusplus
+ #import "opencv2/opencv.hpp"
+#endif
+
+#ifdef __OBJC__
+ #import <UIKit/UIKit.h>
+ #import <Foundation/Foundation.h>
+#endif
View
15 Face Recognition Library/Face Recognition Library/ViewController.h
@@ -0,0 +1,15 @@
+//
+// ViewController.h
+// Face Recognition Library
+//
+// Created by Pedro Centieiro on 3/28/12.
+// Copyright (c) 2012. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@interface ViewController : UIViewController
+
+- (IBAction)faceRecognition:(id)sender;
+
+@end
View
100 Face Recognition Library/Face Recognition Library/ViewController.mm
@@ -0,0 +1,100 @@
+//
+// ViewController.m
+// Face Recognition Library
+//
+// Created by Pedro Centieiro on 3/28/12.
+// Copyright (c) 2012. All rights reserved.
+//
+
+#import "opencv2/opencv.hpp"
+#import "ViewController.h"
+#import "facerec.hpp"
+
+@interface ViewController ()
+
+@end
+
+@implementation ViewController
+
+- (IplImage *)CreateIplImageFromUIImage:(UIImage *)image
+{
+ // Getting CGImage from UIImage
+ CGImageRef imageRef = image.CGImage;
+
+ CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
+ // Creating temporal IplImage for drawing
+ IplImage *iplimage = cvCreateImage(cvSize(image.size.width,image.size.height), IPL_DEPTH_8U, 4);
+
+ // Creating CGContext for temporal IplImage
+ CGContextRef contextRef = CGBitmapContextCreate(iplimage->imageData, iplimage->width, iplimage->height,
+ iplimage->depth, iplimage->widthStep,
+ colorSpace, kCGImageAlphaPremultipliedLast|kCGBitmapByteOrderDefault);
+ // Drawing CGImage to CGContext
+ CGContextDrawImage(contextRef, CGRectMake(0, 0, image.size.width, image.size.height), imageRef);
+ CGContextRelease(contextRef);
+ CGColorSpaceRelease(colorSpace);
+
+ // Creating result IplImage
+ IplImage *ret = cvCreateImage(cvGetSize(iplimage), IPL_DEPTH_8U, 3);
+ cvCvtColor(iplimage, ret, CV_RGBA2BGR);
+ cvReleaseImage(&iplimage);
+
+ return ret;
+}
+
+- (IBAction)faceRecognition:(id)sender {
+ // load images
+ vector<Mat> images;
+ vector<int> labels;
+
+ int numberOfSubjects = 4;
+ int numberPhotosPerSubject = 3;
+
+ for (int i=1; i<=numberOfSubjects; i++) {
+ for (int j=1; j<=numberPhotosPerSubject; j++) {
+ // create grayscale images
+ Mat src = [self CreateIplImageFromUIImage:[UIImage imageNamed:[NSString stringWithFormat:@"%d_%d.jpg", i, j]]];
+ Mat dst;
+ cv::cvtColor(src, dst, CV_BGR2GRAY);
+
+ images.push_back(dst);
+ labels.push_back(i);
+ }
+ }
+
+ // get test instances
+ Mat testSample = images[images.size() - 1];
+ int testLabel = labels[labels.size() - 1];
+
+ // ... and delete last element
+ images.pop_back();
+ labels.pop_back();
+
+ // build the Fisherfaces model
+ Fisherfaces model(images, labels);
+
+ // test model
+ int predicted = model.predict(testSample);
+ cout << "predicted class = " << predicted << endl;
+ cout << "actual class = " << testLabel << endl;
+}
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+ // Do any additional setup after loading the view, typically from a nib.
+
+}
+
+- (void)viewDidUnload
+{
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
+}
+
+@end
View
38 Face Recognition Library/Face Recognition Library/colormap.cpp
@@ -0,0 +1,38 @@
+
+#include "colormap.hpp"
+
+using namespace cv;
+using namespace std;
+
+//------------------------------------------------------------------------------
+// cv::colormap::ColorMap
+//------------------------------------------------------------------------------
+
+Mat cv::colormap::ColorMap::operator()(InputArray _src) const {
+ if(_lut.total() != 256)
+ CV_Error(CV_StsAssert, "cv::LUT only supports tables of size 256.");
+ Mat src = _src.getMat();
+ // Return original matrix if wrong type is given (is fail loud better here?)
+ if(src.type() != CV_8UC1 && src.type() != CV_8UC3)
+ return src;
+ // Turn into a BGR matrix into its grayscale representation.
+ if(src.type() == CV_8UC3)
+ cvtColor(src.clone(), src, CV_BGR2GRAY);
+ cvtColor(src.clone(), src, CV_GRAY2BGR);
+ // Apply the ColorMap.
+ LUT(src.clone(), _lut, src);
+ return src;
+}
+
+
+Mat cv::colormap::ColorMap:: linear_colormap(InputArray X,
+ InputArray r, InputArray g, InputArray b,
+ InputArray xi) {
+ Mat lut;
+ Mat planes[] = {
+ interp1(X, b, xi),
+ interp1(X, g, xi),
+ interp1(X, r, xi)};
+ merge(planes, 3, lut);
+ return lut;
+}
View
426 Face Recognition Library/Face Recognition Library/colormap.hpp
@@ -0,0 +1,426 @@
+/*
+ * Copyright (c) 2011. Philipp Wagner <bytefish[at]gmx[dot]de>.
+ * Released to public domain under terms of the BSD Simplified license.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the organization nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * See <http://www.opensource.org/licenses/bsd-license>
+ */
+#ifndef COLORMAP_HPP_
+#define COLORMAP_HPP_
+
+#include <iostream>
+#include "helper.hpp"
+
+
+namespace cv {
+ namespace colormap {
+
+ class ColorMap {
+
+ protected:
+ Mat _lut;
+
+ public:
+
+ // Applies the colormap on a given image.
+ //
+ // This function expects BGR-aligned data of type CV_8UC1 or
+ // CV_8UC3. If the wrong image type is given, the original image
+ // will be returned.
+ //
+ // Throws an error for wrong-aligned lookup table, which must be
+ // of size 256 in the latest OpenCV release (2.3.1).
+ Mat operator()(InputArray src) const;
+
+ // Setup base map to interpolate from.
+ virtual void init(int n) = 0;
+
+ // Interpolates from a base colormap.
+ static Mat linear_colormap(InputArray X,
+ InputArray r, InputArray g, InputArray b,
+ int n) {
+ return linear_colormap(X,r,g,b,linspace(0,1,n));
+ }
+
+ // Interpolates from a base colormap.
+ static Mat linear_colormap(InputArray X,
+ InputArray r, InputArray g, InputArray b,
+ float begin, float end, float n) {
+ return linear_colormap(X,r,g,b,linspace(begin,end,n));
+ }
+
+ // Interpolates from a base colormap.
+ static Mat linear_colormap(InputArray X,
+ InputArray r, InputArray g, InputArray b,
+ InputArray xi);
+ };
+
+ // Equals the GNU Octave colormap "autumn".
+ class Autumn : public ColorMap {
+ public:
+ Autumn() : ColorMap() {
+ init(256);
+ }
+
+ Autumn(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ float g[] = { 0, 0.01587301587301587, 0.03174603174603174, 0.04761904761904762, 0.06349206349206349, 0.07936507936507936, 0.09523809523809523, 0.1111111111111111, 0.126984126984127, 0.1428571428571428, 0.1587301587301587, 0.1746031746031746, 0.1904761904761905, 0.2063492063492063, 0.2222222222222222, 0.2380952380952381, 0.253968253968254, 0.2698412698412698, 0.2857142857142857, 0.3015873015873016, 0.3174603174603174, 0.3333333333333333, 0.3492063492063492, 0.3650793650793651, 0.3809523809523809, 0.3968253968253968, 0.4126984126984127, 0.4285714285714285, 0.4444444444444444, 0.4603174603174603, 0.4761904761904762, 0.492063492063492, 0.5079365079365079, 0.5238095238095238, 0.5396825396825397, 0.5555555555555556, 0.5714285714285714, 0.5873015873015873, 0.6031746031746031, 0.6190476190476191, 0.6349206349206349, 0.6507936507936508, 0.6666666666666666, 0.6825396825396826, 0.6984126984126984, 0.7142857142857143, 0.7301587301587301, 0.746031746031746, 0.7619047619047619, 0.7777777777777778, 0.7936507936507936, 0.8095238095238095, 0.8253968253968254, 0.8412698412698413, 0.8571428571428571, 0.873015873015873, 0.8888888888888888, 0.9047619047619048, 0.9206349206349206, 0.9365079365079365, 0.9523809523809523, 0.9682539682539683, 0.9841269841269841, 1};
+ float b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "bone".
+ class Bone : public ColorMap {
+ public:
+ Bone() : ColorMap() {
+ init(256);
+ }
+
+ Bone(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 0, 0.01388888888888889, 0.02777777777777778, 0.04166666666666666, 0.05555555555555555, 0.06944444444444445, 0.08333333333333333, 0.09722222222222221, 0.1111111111111111, 0.125, 0.1388888888888889, 0.1527777777777778, 0.1666666666666667, 0.1805555555555556, 0.1944444444444444, 0.2083333333333333, 0.2222222222222222, 0.2361111111111111, 0.25, 0.2638888888888889, 0.2777777777777778, 0.2916666666666666, 0.3055555555555555, 0.3194444444444444, 0.3333333333333333, 0.3472222222222222, 0.3611111111111111, 0.375, 0.3888888888888888, 0.4027777777777777, 0.4166666666666666, 0.4305555555555555, 0.4444444444444444, 0.4583333333333333, 0.4722222222222222, 0.4861111111111112, 0.5, 0.5138888888888888, 0.5277777777777778, 0.5416666666666667, 0.5555555555555556, 0.5694444444444444, 0.5833333333333333, 0.5972222222222222, 0.611111111111111, 0.6249999999999999, 0.6388888888888888, 0.6527777777777778, 0.6726190476190474, 0.6944444444444442, 0.7162698412698412, 0.7380952380952381, 0.7599206349206349, 0.7817460317460316, 0.8035714285714286, 0.8253968253968254, 0.8472222222222221, 0.8690476190476188, 0.8908730158730158, 0.9126984126984128, 0.9345238095238095, 0.9563492063492063, 0.978174603174603, 1};
+ float g[] = { 0, 0.01388888888888889, 0.02777777777777778, 0.04166666666666666, 0.05555555555555555, 0.06944444444444445, 0.08333333333333333, 0.09722222222222221, 0.1111111111111111, 0.125, 0.1388888888888889, 0.1527777777777778, 0.1666666666666667, 0.1805555555555556, 0.1944444444444444, 0.2083333333333333, 0.2222222222222222, 0.2361111111111111, 0.25, 0.2638888888888889, 0.2777777777777778, 0.2916666666666666, 0.3055555555555555, 0.3194444444444444, 0.3353174603174602, 0.3544973544973544, 0.3736772486772486, 0.3928571428571428, 0.412037037037037, 0.4312169312169312, 0.4503968253968254, 0.4695767195767195, 0.4887566137566137, 0.5079365079365078, 0.5271164021164021, 0.5462962962962963, 0.5654761904761904, 0.5846560846560845, 0.6038359788359787, 0.623015873015873, 0.6421957671957671, 0.6613756613756612, 0.6805555555555555, 0.6997354497354497, 0.7189153439153438, 0.7380952380952379, 0.7572751322751322, 0.7764550264550264, 0.7916666666666666, 0.8055555555555555, 0.8194444444444444, 0.8333333333333334, 0.8472222222222222, 0.861111111111111, 0.875, 0.8888888888888888, 0.9027777777777777, 0.9166666666666665, 0.9305555555555555, 0.9444444444444444, 0.9583333333333333, 0.9722222222222221, 0.986111111111111, 1};
+ float b[] = { 0, 0.01917989417989418, 0.03835978835978836, 0.05753968253968253, 0.07671957671957672, 0.09589947089947089, 0.1150793650793651, 0.1342592592592592, 0.1534391534391534, 0.1726190476190476, 0.1917989417989418, 0.210978835978836, 0.2301587301587301, 0.2493386243386243, 0.2685185185185185, 0.2876984126984127, 0.3068783068783069, 0.326058201058201, 0.3452380952380952, 0.3644179894179894, 0.3835978835978835, 0.4027777777777777, 0.4219576719576719, 0.4411375661375661, 0.4583333333333333, 0.4722222222222222, 0.4861111111111111, 0.5, 0.5138888888888888, 0.5277777777777777, 0.5416666666666666, 0.5555555555555556, 0.5694444444444444, 0.5833333333333333, 0.5972222222222222, 0.6111111111111112, 0.625, 0.6388888888888888, 0.6527777777777778, 0.6666666666666667, 0.6805555555555556, 0.6944444444444444, 0.7083333333333333, 0.7222222222222222, 0.736111111111111, 0.7499999999999999, 0.7638888888888888, 0.7777777777777778, 0.7916666666666666, 0.8055555555555555, 0.8194444444444444, 0.8333333333333334, 0.8472222222222222, 0.861111111111111, 0.875, 0.8888888888888888, 0.9027777777777777, 0.9166666666666665, 0.9305555555555555, 0.9444444444444444, 0.9583333333333333, 0.9722222222222221, 0.986111111111111, 1};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+
+
+
+ // Equals the GNU Octave colormap "jet".
+ class Jet : public ColorMap {
+
+ public:
+ Jet() {
+ init(256);
+ }
+ Jet(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ // breakpoints
+ Mat X = linspace(0,1,256);
+ // define the basemap
+ float r[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.00588235294117645,0.02156862745098032,0.03725490196078418,0.05294117647058827,0.06862745098039214,0.084313725490196,0.1000000000000001,0.115686274509804,0.1313725490196078,0.1470588235294117,0.1627450980392156,0.1784313725490196,0.1941176470588235,0.2098039215686274,0.2254901960784315,0.2411764705882353,0.2568627450980392,0.2725490196078431,0.2882352941176469,0.303921568627451,0.3196078431372549,0.3352941176470587,0.3509803921568628,0.3666666666666667,0.3823529411764706,0.3980392156862744,0.4137254901960783,0.4294117647058824,0.4450980392156862,0.4607843137254901,0.4764705882352942,0.4921568627450981,0.5078431372549019,0.5235294117647058,0.5392156862745097,0.5549019607843135,0.5705882352941174,0.5862745098039217,0.6019607843137256,0.6176470588235294,0.6333333333333333,0.6490196078431372,0.664705882352941,0.6803921568627449,0.6960784313725492,0.7117647058823531,0.7274509803921569,0.7431372549019608,0.7588235294117647,0.7745098039215685,0.7901960784313724,0.8058823529411763,0.8215686274509801,0.8372549019607844,0.8529411764705883,0.8686274509803922,0.884313725490196,0.8999999999999999,0.9156862745098038,0.9313725490196076,0.947058823529412,0.9627450980392158,0.9784313725490197,0.9941176470588236,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.9862745098039216,0.9705882352941178,0.9549019607843139,0.93921568627451,0.9235294117647062,0.9078431372549018,0.892156862745098,0.8764705882352941,0.8607843137254902,0.8450980392156864,0.8294117647058825,0.8137254901960786,0.7980392156862743,0.7823529411764705,0.7666666666666666,0.7509803921568627,0.7352941176470589,0.719607843137255,0.7039215686274511,0.6882352941176473,0.6725490196078434,0.6568627450980391,0.6411764705882352,0.6254901960784314,0.6098039215686275,0.5941176470588236,0.5784313725490198,0.5627450980392159,0.5470588235294116,0.5313725490196077,0.5156862745098039,0.5};
+ float g[] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.001960784313725483,0.01764705882352935,0.03333333333333333,0.0490196078431373,0.06470588235294117,0.08039215686274503,0.09607843137254901,0.111764705882353,0.1274509803921569,0.1431372549019607,0.1588235294117647,0.1745098039215687,0.1901960784313725,0.2058823529411764,0.2215686274509804,0.2372549019607844,0.2529411764705882,0.2686274509803921,0.2843137254901961,0.3,0.3156862745098039,0.3313725490196078,0.3470588235294118,0.3627450980392157,0.3784313725490196,0.3941176470588235,0.4098039215686274,0.4254901960784314,0.4411764705882353,0.4568627450980391,0.4725490196078431,0.4882352941176471,0.503921568627451,0.5196078431372548,0.5352941176470587,0.5509803921568628,0.5666666666666667,0.5823529411764705,0.5980392156862746,0.6137254901960785,0.6294117647058823,0.6450980392156862,0.6607843137254901,0.6764705882352942,0.692156862745098,0.7078431372549019,0.723529411764706,0.7392156862745098,0.7549019607843137,0.7705882352941176,0.7862745098039214,0.8019607843137255,0.8176470588235294,0.8333333333333333,0.8490196078431373,0.8647058823529412,0.8803921568627451,0.8960784313725489,0.9117647058823528,0.9274509803921569,0.9431372549019608,0.9588235294117646,0.9745098039215687,0.9901960784313726,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.9901960784313726,0.9745098039215687,0.9588235294117649,0.943137254901961,0.9274509803921571,0.9117647058823528,0.8960784313725489,0.8803921568627451,0.8647058823529412,0.8490196078431373,0.8333333333333335,0.8176470588235296,0.8019607843137253,0.7862745098039214,0.7705882352941176,0.7549019607843137,0.7392156862745098,0.723529411764706,0.7078431372549021,0.6921568627450982,0.6764705882352944,0.6607843137254901,0.6450980392156862,0.6294117647058823,0.6137254901960785,0.5980392156862746,0.5823529411764707,0.5666666666666669,0.5509803921568626,0.5352941176470587,0.5196078431372548,0.503921568627451,0.4882352941176471,0.4725490196078432,0.4568627450980394,0.4411764705882355,0.4254901960784316,0.4098039215686273,0.3941176470588235,0.3784313725490196,0.3627450980392157,0.3470588235294119,0.331372549019608,0.3156862745098041,0.2999999999999998,0.284313725490196,0.2686274509803921,0.2529411764705882,0.2372549019607844,0.2215686274509805,0.2058823529411766,0.1901960784313728,0.1745098039215689,0.1588235294117646,0.1431372549019607,0.1274509803921569,0.111764705882353,0.09607843137254912,0.08039215686274526,0.06470588235294139,0.04901960784313708,0.03333333333333321,0.01764705882352935,0.001960784313725483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+ float b[] = {0.5,0.5156862745098039,0.5313725490196078,0.5470588235294118,0.5627450980392157,0.5784313725490196,0.5941176470588235,0.6098039215686275,0.6254901960784314,0.6411764705882352,0.6568627450980392,0.6725490196078432,0.6882352941176471,0.7039215686274509,0.7196078431372549,0.7352941176470589,0.7509803921568627,0.7666666666666666,0.7823529411764706,0.7980392156862746,0.8137254901960784,0.8294117647058823,0.8450980392156863,0.8607843137254902,0.8764705882352941,0.892156862745098,0.907843137254902,0.9235294117647059,0.9392156862745098,0.9549019607843137,0.9705882352941176,0.9862745098039216,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0.9941176470588236,0.9784313725490197,0.9627450980392158,0.9470588235294117,0.9313725490196079,0.915686274509804,0.8999999999999999,0.884313725490196,0.8686274509803922,0.8529411764705883,0.8372549019607844,0.8215686274509804,0.8058823529411765,0.7901960784313726,0.7745098039215685,0.7588235294117647,0.7431372549019608,0.7274509803921569,0.7117647058823531,0.696078431372549,0.6803921568627451,0.6647058823529413,0.6490196078431372,0.6333333333333333,0.6176470588235294,0.6019607843137256,0.5862745098039217,0.5705882352941176,0.5549019607843138,0.5392156862745099,0.5235294117647058,0.5078431372549019,0.4921568627450981,0.4764705882352942,0.4607843137254903,0.4450980392156865,0.4294117647058826,0.4137254901960783,0.3980392156862744,0.3823529411764706,0.3666666666666667,0.3509803921568628,0.335294117647059,0.3196078431372551,0.3039215686274508,0.2882352941176469,0.2725490196078431,0.2568627450980392,0.2411764705882353,0.2254901960784315,0.2098039215686276,0.1941176470588237,0.1784313725490199,0.1627450980392156,0.1470588235294117,0.1313725490196078,0.115686274509804,0.1000000000000001,0.08431372549019622,0.06862745098039236,0.05294117647058805,0.03725490196078418,0.02156862745098032,0.00588235294117645,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
+ // now build lookup table
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(256,1, CV_32FC1, r).clone(), // red
+ Mat(256,1, CV_32FC1, g).clone(), // green
+ Mat(256,1, CV_32FC1, b).clone(), // blue
+ n);
+ }
+ };
+
+ // Equals the GNU Octave colormap "winter".
+ class Winter : public ColorMap {
+ public:
+ Winter() : ColorMap() {
+ init(256);
+ }
+
+ Winter(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
+ float g[] = {0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0};
+ float b[] = {1.0, 0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.65, 0.6, 0.55, 0.5};
+ Mat X = linspace(0,1,11);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(11,1, CV_32FC1, r).clone(), // red
+ Mat(11,1, CV_32FC1, g).clone(), // green
+ Mat(11,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "rainbow".
+ class Rainbow : public ColorMap {
+ public:
+ Rainbow() : ColorMap() {
+ init(256);
+ }
+
+ Rainbow(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9365079365079367, 0.8571428571428572, 0.7777777777777777, 0.6984126984126986, 0.6190476190476191, 0.53968253968254, 0.4603174603174605, 0.3809523809523814, 0.3015873015873018, 0.2222222222222223, 0.1428571428571432, 0.06349206349206415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.03174603174603208, 0.08465608465608465, 0.1375661375661377, 0.1904761904761907, 0.2433862433862437, 0.2962962962962963, 0.3492063492063493, 0.4021164021164023, 0.4550264550264553, 0.5079365079365079, 0.5608465608465609, 0.6137566137566139, 0.666666666666667};
+ float g[] = { 0, 0.03968253968253968, 0.07936507936507936, 0.119047619047619, 0.1587301587301587, 0.1984126984126984, 0.2380952380952381, 0.2777777777777778, 0.3174603174603174, 0.3571428571428571, 0.3968253968253968, 0.4365079365079365, 0.4761904761904762, 0.5158730158730158, 0.5555555555555556, 0.5952380952380952, 0.6349206349206349, 0.6746031746031745, 0.7142857142857142, 0.753968253968254, 0.7936507936507936, 0.8333333333333333, 0.873015873015873, 0.9126984126984127, 0.9523809523809523, 0.992063492063492, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9841269841269842, 0.9047619047619047, 0.8253968253968256, 0.7460317460317465, 0.666666666666667, 0.587301587301587, 0.5079365079365079, 0.4285714285714288, 0.3492063492063493, 0.2698412698412698, 0.1904761904761907, 0.1111111111111116, 0.03174603174603208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ float b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01587301587301582, 0.09523809523809534, 0.1746031746031744, 0.2539682539682535, 0.333333333333333, 0.412698412698413, 0.4920634920634921, 0.5714285714285712, 0.6507936507936507, 0.7301587301587302, 0.8095238095238093, 0.8888888888888884, 0.9682539682539679, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "ocean".
+ class Ocean : public ColorMap {
+ public:
+ Ocean() : ColorMap() {
+ init(256);
+ }
+
+ Ocean(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.04761904761904762, 0.09523809523809523, 0.1428571428571428, 0.1904761904761905, 0.2380952380952381, 0.2857142857142857, 0.3333333333333333, 0.3809523809523809, 0.4285714285714285, 0.4761904761904762, 0.5238095238095238, 0.5714285714285714, 0.6190476190476191, 0.6666666666666666, 0.7142857142857143, 0.7619047619047619, 0.8095238095238095, 0.8571428571428571, 0.9047619047619048, 0.9523809523809523, 1};
+ float g[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.02380952380952381, 0.04761904761904762, 0.07142857142857142, 0.09523809523809523, 0.119047619047619, 0.1428571428571428, 0.1666666666666667, 0.1904761904761905, 0.2142857142857143, 0.2380952380952381, 0.2619047619047619, 0.2857142857142857, 0.3095238095238095, 0.3333333333333333, 0.3571428571428572, 0.3809523809523809, 0.4047619047619048, 0.4285714285714285, 0.4523809523809524, 0.4761904761904762, 0.5, 0.5238095238095238, 0.5476190476190477, 0.5714285714285714, 0.5952380952380952, 0.6190476190476191, 0.6428571428571429, 0.6666666666666666, 0.6904761904761905, 0.7142857142857143, 0.7380952380952381, 0.7619047619047619, 0.7857142857142857, 0.8095238095238095, 0.8333333333333334, 0.8571428571428571, 0.8809523809523809, 0.9047619047619048, 0.9285714285714286, 0.9523809523809523, 0.9761904761904762, 1};
+ float b[] = { 0, 0.01587301587301587, 0.03174603174603174, 0.04761904761904762, 0.06349206349206349, 0.07936507936507936, 0.09523809523809523, 0.1111111111111111, 0.126984126984127, 0.1428571428571428, 0.1587301587301587, 0.1746031746031746, 0.1904761904761905, 0.2063492063492063, 0.2222222222222222, 0.2380952380952381, 0.253968253968254, 0.2698412698412698, 0.2857142857142857, 0.3015873015873016, 0.3174603174603174, 0.3333333333333333, 0.3492063492063492, 0.3650793650793651, 0.3809523809523809, 0.3968253968253968, 0.4126984126984127, 0.4285714285714285, 0.4444444444444444, 0.4603174603174603, 0.4761904761904762, 0.492063492063492, 0.5079365079365079, 0.5238095238095238, 0.5396825396825397, 0.5555555555555556, 0.5714285714285714, 0.5873015873015873, 0.6031746031746031, 0.6190476190476191, 0.6349206349206349, 0.6507936507936508, 0.6666666666666666, 0.6825396825396826, 0.6984126984126984, 0.7142857142857143, 0.7301587301587301, 0.746031746031746, 0.7619047619047619, 0.7777777777777778, 0.7936507936507936, 0.8095238095238095, 0.8253968253968254, 0.8412698412698413, 0.8571428571428571, 0.873015873015873, 0.8888888888888888, 0.9047619047619048, 0.9206349206349206, 0.9365079365079365, 0.9523809523809523, 0.9682539682539683, 0.9841269841269841, 1};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "summer".
+ class Summer : public ColorMap {
+ public:
+ Summer() : ColorMap() {
+ init(256);
+ }
+
+ Summer(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 0, 0.01587301587301587, 0.03174603174603174, 0.04761904761904762, 0.06349206349206349, 0.07936507936507936, 0.09523809523809523, 0.1111111111111111, 0.126984126984127, 0.1428571428571428, 0.1587301587301587, 0.1746031746031746, 0.1904761904761905, 0.2063492063492063, 0.2222222222222222, 0.2380952380952381, 0.253968253968254, 0.2698412698412698, 0.2857142857142857, 0.3015873015873016, 0.3174603174603174, 0.3333333333333333, 0.3492063492063492, 0.3650793650793651, 0.3809523809523809, 0.3968253968253968, 0.4126984126984127, 0.4285714285714285, 0.4444444444444444, 0.4603174603174603, 0.4761904761904762, 0.492063492063492, 0.5079365079365079, 0.5238095238095238, 0.5396825396825397, 0.5555555555555556, 0.5714285714285714, 0.5873015873015873, 0.6031746031746031, 0.6190476190476191, 0.6349206349206349, 0.6507936507936508, 0.6666666666666666, 0.6825396825396826, 0.6984126984126984, 0.7142857142857143, 0.7301587301587301, 0.746031746031746, 0.7619047619047619, 0.7777777777777778, 0.7936507936507936, 0.8095238095238095, 0.8253968253968254, 0.8412698412698413, 0.8571428571428571, 0.873015873015873, 0.8888888888888888, 0.9047619047619048, 0.9206349206349206, 0.9365079365079365, 0.9523809523809523, 0.9682539682539683, 0.9841269841269841, 1};
+ float g[] = { 0.5, 0.5079365079365079, 0.5158730158730158, 0.5238095238095238, 0.5317460317460317, 0.5396825396825397, 0.5476190476190477, 0.5555555555555556, 0.5634920634920635, 0.5714285714285714, 0.5793650793650793, 0.5873015873015873, 0.5952380952380952, 0.6031746031746031, 0.6111111111111112, 0.6190476190476191, 0.626984126984127, 0.6349206349206349, 0.6428571428571428, 0.6507936507936508, 0.6587301587301587, 0.6666666666666666, 0.6746031746031746, 0.6825396825396826, 0.6904761904761905, 0.6984126984126984, 0.7063492063492063, 0.7142857142857143, 0.7222222222222222, 0.7301587301587301, 0.7380952380952381, 0.746031746031746, 0.753968253968254, 0.7619047619047619, 0.7698412698412698, 0.7777777777777778, 0.7857142857142857, 0.7936507936507937, 0.8015873015873016, 0.8095238095238095, 0.8174603174603174, 0.8253968253968254, 0.8333333333333333, 0.8412698412698413, 0.8492063492063492, 0.8571428571428572, 0.8650793650793651, 0.873015873015873, 0.8809523809523809, 0.8888888888888888, 0.8968253968253967, 0.9047619047619048, 0.9126984126984127, 0.9206349206349207, 0.9285714285714286, 0.9365079365079365, 0.9444444444444444, 0.9523809523809523, 0.9603174603174602, 0.9682539682539683, 0.9761904761904762, 0.9841269841269842, 0.9920634920634921, 1};
+ float b[] = { 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "spring".
+ class Spring : public ColorMap {
+ public:
+ Spring() : ColorMap() {
+ init(256);
+ }
+
+ Spring(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ float g[] = { 0, 0.01587301587301587, 0.03174603174603174, 0.04761904761904762, 0.06349206349206349, 0.07936507936507936, 0.09523809523809523, 0.1111111111111111, 0.126984126984127, 0.1428571428571428, 0.1587301587301587, 0.1746031746031746, 0.1904761904761905, 0.2063492063492063, 0.2222222222222222, 0.2380952380952381, 0.253968253968254, 0.2698412698412698, 0.2857142857142857, 0.3015873015873016, 0.3174603174603174, 0.3333333333333333, 0.3492063492063492, 0.3650793650793651, 0.3809523809523809, 0.3968253968253968, 0.4126984126984127, 0.4285714285714285, 0.4444444444444444, 0.4603174603174603, 0.4761904761904762, 0.492063492063492, 0.5079365079365079, 0.5238095238095238, 0.5396825396825397, 0.5555555555555556, 0.5714285714285714, 0.5873015873015873, 0.6031746031746031, 0.6190476190476191, 0.6349206349206349, 0.6507936507936508, 0.6666666666666666, 0.6825396825396826, 0.6984126984126984, 0.7142857142857143, 0.7301587301587301, 0.746031746031746, 0.7619047619047619, 0.7777777777777778, 0.7936507936507936, 0.8095238095238095, 0.8253968253968254, 0.8412698412698413, 0.8571428571428571, 0.873015873015873, 0.8888888888888888, 0.9047619047619048, 0.9206349206349206, 0.9365079365079365, 0.9523809523809523, 0.9682539682539683, 0.9841269841269841, 1};
+ float b[] = { 1, 0.9841269841269842, 0.9682539682539683, 0.9523809523809523, 0.9365079365079365, 0.9206349206349207, 0.9047619047619048, 0.8888888888888888, 0.873015873015873, 0.8571428571428572, 0.8412698412698413, 0.8253968253968254, 0.8095238095238095, 0.7936507936507937, 0.7777777777777778, 0.7619047619047619, 0.746031746031746, 0.7301587301587302, 0.7142857142857143, 0.6984126984126984, 0.6825396825396826, 0.6666666666666667, 0.6507936507936508, 0.6349206349206349, 0.6190476190476191, 0.6031746031746033, 0.5873015873015873, 0.5714285714285714, 0.5555555555555556, 0.5396825396825398, 0.5238095238095238, 0.5079365079365079, 0.4920634920634921, 0.4761904761904762, 0.4603174603174603, 0.4444444444444444, 0.4285714285714286, 0.4126984126984127, 0.3968253968253969, 0.3809523809523809, 0.3650793650793651, 0.3492063492063492, 0.3333333333333334, 0.3174603174603174, 0.3015873015873016, 0.2857142857142857, 0.2698412698412699, 0.253968253968254, 0.2380952380952381, 0.2222222222222222, 0.2063492063492064, 0.1904761904761905, 0.1746031746031746, 0.1587301587301587, 0.1428571428571429, 0.126984126984127, 0.1111111111111112, 0.09523809523809523, 0.07936507936507942, 0.06349206349206349, 0.04761904761904767, 0.03174603174603174, 0.01587301587301593, 0};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "cool".
+ class Cool : public ColorMap {
+ public:
+ Cool() : ColorMap() {
+ init(256);
+ }
+
+ Cool(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 0, 0.01587301587301587, 0.03174603174603174, 0.04761904761904762, 0.06349206349206349, 0.07936507936507936, 0.09523809523809523, 0.1111111111111111, 0.126984126984127, 0.1428571428571428, 0.1587301587301587, 0.1746031746031746, 0.1904761904761905, 0.2063492063492063, 0.2222222222222222, 0.2380952380952381, 0.253968253968254, 0.2698412698412698, 0.2857142857142857, 0.3015873015873016, 0.3174603174603174, 0.3333333333333333, 0.3492063492063492, 0.3650793650793651, 0.3809523809523809, 0.3968253968253968, 0.4126984126984127, 0.4285714285714285, 0.4444444444444444, 0.4603174603174603, 0.4761904761904762, 0.492063492063492, 0.5079365079365079, 0.5238095238095238, 0.5396825396825397, 0.5555555555555556, 0.5714285714285714, 0.5873015873015873, 0.6031746031746031, 0.6190476190476191, 0.6349206349206349, 0.6507936507936508, 0.6666666666666666, 0.6825396825396826, 0.6984126984126984, 0.7142857142857143, 0.7301587301587301, 0.746031746031746, 0.7619047619047619, 0.7777777777777778, 0.7936507936507936, 0.8095238095238095, 0.8253968253968254, 0.8412698412698413, 0.8571428571428571, 0.873015873015873, 0.8888888888888888, 0.9047619047619048, 0.9206349206349206, 0.9365079365079365, 0.9523809523809523, 0.9682539682539683, 0.9841269841269841, 1};
+ float g[] = { 1, 0.9841269841269842, 0.9682539682539683, 0.9523809523809523, 0.9365079365079365, 0.9206349206349207, 0.9047619047619048, 0.8888888888888888, 0.873015873015873, 0.8571428571428572, 0.8412698412698413, 0.8253968253968254, 0.8095238095238095, 0.7936507936507937, 0.7777777777777778, 0.7619047619047619, 0.746031746031746, 0.7301587301587302, 0.7142857142857143, 0.6984126984126984, 0.6825396825396826, 0.6666666666666667, 0.6507936507936508, 0.6349206349206349, 0.6190476190476191, 0.6031746031746033, 0.5873015873015873, 0.5714285714285714, 0.5555555555555556, 0.5396825396825398, 0.5238095238095238, 0.5079365079365079, 0.4920634920634921, 0.4761904761904762, 0.4603174603174603, 0.4444444444444444, 0.4285714285714286, 0.4126984126984127, 0.3968253968253969, 0.3809523809523809, 0.3650793650793651, 0.3492063492063492, 0.3333333333333334, 0.3174603174603174, 0.3015873015873016, 0.2857142857142857, 0.2698412698412699, 0.253968253968254, 0.2380952380952381, 0.2222222222222222, 0.2063492063492064, 0.1904761904761905, 0.1746031746031746, 0.1587301587301587, 0.1428571428571429, 0.126984126984127, 0.1111111111111112, 0.09523809523809523, 0.07936507936507942, 0.06349206349206349, 0.04761904761904767, 0.03174603174603174, 0.01587301587301593, 0};
+ float b[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "hsv".
+ class HSV : public ColorMap {
+ public:
+ HSV() : ColorMap() {
+ init(256);
+ }
+
+ HSV(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9523809523809526, 0.8571428571428568, 0.7619047619047614, 0.6666666666666665, 0.5714285714285716, 0.4761904761904763, 0.3809523809523805, 0.2857142857142856, 0.1904761904761907, 0.0952380952380949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.09523809523809557, 0.1904761904761905, 0.2857142857142854, 0.3809523809523809, 0.4761904761904765, 0.5714285714285714, 0.6666666666666663, 0.7619047619047619, 0.8571428571428574, 0.9523809523809523, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ float g[] = { 0, 0.09523809523809523, 0.1904761904761905, 0.2857142857142857, 0.3809523809523809, 0.4761904761904762, 0.5714285714285714, 0.6666666666666666, 0.7619047619047619, 0.8571428571428571, 0.9523809523809523, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9523809523809526, 0.8571428571428577, 0.7619047619047619, 0.6666666666666665, 0.5714285714285716, 0.4761904761904767, 0.3809523809523814, 0.2857142857142856, 0.1904761904761907, 0.09523809523809579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ float b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.09523809523809523, 0.1904761904761905, 0.2857142857142857, 0.3809523809523809, 0.4761904761904762, 0.5714285714285714, 0.6666666666666666, 0.7619047619047619, 0.8571428571428571, 0.9523809523809523, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9523809523809526, 0.8571428571428577, 0.7619047619047614, 0.6666666666666665, 0.5714285714285716, 0.4761904761904767, 0.3809523809523805, 0.2857142857142856, 0.1904761904761907, 0.09523809523809579, 0};
+ Mat X = linspace(0,1,64);
+ ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "pink".
+ class Pink : public ColorMap {
+ public:
+ Pink() : ColorMap() {
+ init(256);
+ }
+
+ Pink(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 0, 0.1571348402636772, 0.2222222222222222, 0.2721655269759087, 0.3142696805273544, 0.3513641844631533, 0.3849001794597505, 0.415739709641549, 0.4444444444444444, 0.4714045207910317, 0.4969039949999532, 0.5211573066470477, 0.5443310539518174, 0.5665577237325317, 0.5879447357921312, 0.6085806194501846, 0.6285393610547089, 0.6478835438717, 0.6666666666666666, 0.6849348892187751, 0.7027283689263065, 0.7200822998230956, 0.7370277311900888, 0.753592220347252, 0.7663560447348133, 0.7732293307186413, 0.7800420555749596, 0.7867957924694432, 0.7934920476158722, 0.8001322641986387, 0.8067178260046388, 0.8132500607904444, 0.8197302434079591, 0.8261595987094034, 0.8325393042503717, 0.8388704928078611, 0.8451542547285166, 0.8513916401208816, 0.8575836609041332, 0.8637312927246217, 0.8698354767504924, 0.8758971213537393, 0.8819171036881968, 0.8878962711712378, 0.8938354428762595, 0.8997354108424372, 0.9055969413076769, 0.9114207758701963, 0.9172076325837248, 0.9229582069908971, 0.9286731730990523, 0.9343531843023135, 0.9399988742535192, 0.9456108576893002, 0.9511897312113418, 0.9567360740266436, 0.9622504486493763, 0.9677334015667416, 0.9731854638710686, 0.9786071518602129, 0.9839989676081821, 0.9893613995077727, 0.9946949227868761, 1};
+ float g[] = { 0, 0.1028688999747279, 0.1454785934906616, 0.1781741612749496, 0.2057377999494559, 0.2300218531141181, 0.2519763153394848, 0.2721655269759087, 0.2909571869813232, 0.3086066999241838, 0.3253000243161777, 0.3411775438127727, 0.3563483225498992, 0.3708990935094579, 0.3849001794597505, 0.3984095364447979, 0.4114755998989117, 0.4241393401869012, 0.4364357804719847, 0.4483951394230328, 0.4600437062282361, 0.4714045207910317, 0.4824979096371639, 0.4933419132673033, 0.5091750772173156, 0.5328701692569688, 0.5555555555555556, 0.5773502691896257, 0.5983516452371671, 0.6186404847588913, 0.6382847385042254, 0.6573421981221795, 0.6758625033664688, 0.6938886664887108, 0.7114582486036499, 0.7286042804780002, 0.7453559924999299, 0.7617394000445604, 0.7777777777777778, 0.7934920476158723, 0.8089010988089465, 0.8240220541217402, 0.8388704928078611, 0.8534606386520677, 0.8678055195451838, 0.8819171036881968, 0.8958064164776166, 0.9094836413191612, 0.9172076325837248, 0.9229582069908971, 0.9286731730990523, 0.9343531843023135, 0.9399988742535192, 0.9456108576893002, 0.9511897312113418, 0.9567360740266436, 0.9622504486493763, 0.9677334015667416, 0.9731854638710686, 0.9786071518602129, 0.9839989676081821, 0.9893613995077727, 0.9946949227868761, 1};
+ float b[] = { 0, 0.1028688999747279, 0.1454785934906616, 0.1781741612749496, 0.2057377999494559, 0.2300218531141181, 0.2519763153394848, 0.2721655269759087, 0.2909571869813232, 0.3086066999241838, 0.3253000243161777, 0.3411775438127727, 0.3563483225498992, 0.3708990935094579, 0.3849001794597505, 0.3984095364447979, 0.4114755998989117, 0.4241393401869012, 0.4364357804719847, 0.4483951394230328, 0.4600437062282361, 0.4714045207910317, 0.4824979096371639, 0.4933419132673033, 0.5039526306789697, 0.5143444998736397, 0.5245305283129621, 0.5345224838248488, 0.5443310539518174, 0.5539659798925444, 0.563436169819011, 0.5727497953228163, 0.5819143739626463, 0.5909368402852788, 0.5998236072282915, 0.6085806194501846, 0.6172133998483676, 0.6257270902992705, 0.6341264874742278, 0.642416074439621, 0.6506000486323554, 0.6586823467062358, 0.6666666666666666, 0.6745564876468501, 0.6823550876255453, 0.6900655593423541, 0.6976908246297114, 0.7052336473499384, 0.7237468644557459, 0.7453559924999298, 0.7663560447348133, 0.7867957924694432, 0.8067178260046388, 0.8261595987094034, 0.8451542547285166, 0.8637312927246217, 0.8819171036881968, 0.8997354108424372, 0.9172076325837248, 0.9343531843023135, 0.9511897312113418, 0.9677334015667416, 0.9839989676081821, 1};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // Equals the GNU Octave colormap "hot".
+ class Hot : public ColorMap {
+ public:
+ Hot() : ColorMap() {
+ init(256);
+ }
+
+ Hot(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = { 0, 0.03968253968253968, 0.07936507936507936, 0.119047619047619, 0.1587301587301587, 0.1984126984126984, 0.2380952380952381, 0.2777777777777778, 0.3174603174603174, 0.3571428571428571, 0.3968253968253968, 0.4365079365079365, 0.4761904761904762, 0.5158730158730158, 0.5555555555555556, 0.5952380952380952, 0.6349206349206349, 0.6746031746031745, 0.7142857142857142, 0.753968253968254, 0.7936507936507936, 0.8333333333333333, 0.873015873015873, 0.9126984126984127, 0.9523809523809523, 0.992063492063492, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ float g[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.03174603174603163, 0.0714285714285714, 0.1111111111111112, 0.1507936507936507, 0.1904761904761905, 0.23015873015873, 0.2698412698412698, 0.3095238095238093, 0.3492063492063491, 0.3888888888888888, 0.4285714285714284, 0.4682539682539679, 0.5079365079365079, 0.5476190476190477, 0.5873015873015872, 0.6269841269841268, 0.6666666666666665, 0.7063492063492065, 0.746031746031746, 0.7857142857142856, 0.8253968253968254, 0.8650793650793651, 0.9047619047619047, 0.9444444444444442, 0.984126984126984, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ float b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.04761904761904745, 0.1269841269841265, 0.2063492063492056, 0.2857142857142856, 0.3650793650793656, 0.4444444444444446, 0.5238095238095237, 0.6031746031746028, 0.6825396825396828, 0.7619047619047619, 0.8412698412698409, 0.92063492063492, 1};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // A perceptually improved Jet colormap (MKPJ1) by Matteo Niccoli
+ //
+ // Author's personal website:
+ // http://mycarta.wordpress.com/
+ //
+ // Author's FEX page:
+ // http://www.mathworks.com/matlabcentral/fileexchange/authors/87376
+ //
+ class MKPJ1 : public ColorMap {
+ public:
+ MKPJ1() : ColorMap() {
+ init(256);
+ }
+
+ MKPJ1(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0476, 0.09710000000000001, 0.1466, 0.1961, 0.2456, 0.2952, 0.3447, 0.3942, 0.4437, 0.4932, 0.5427, 0.5921999999999999, 0.6417, 0.6912, 0.7407, 0.7903, 0.8398, 0.8893, 0.9388, 0.9883, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ float g[] = {0, 0, 0, 0.007900000000000001, 0.0574, 0.1069, 0.1564, 0.2059, 0.2555, 0.305, 0.3545, 0.404, 0.4535, 0.503, 0.5525, 0.602, 0.6515, 0.701, 0.7506, 0.8001, 0.8496, 0.8991, 0.9486, 0.9981, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9622000000000001, 0.9127, 0.8632, 0.8137, 0.7642, 0.7146, 0.6651, 0.6156, 0.5661, 0.5165999999999999, 0.4671, 0.4176, 0.3681, 0.3186, 0.2691, 0.2195, 0.17, 0.1205, 0.07099999999999999, 0.0215};
+ float b[] = {0.8594000000000001, 0.9089, 0.9584, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9524, 0.9029, 0.8534, 0.8038999999999999, 0.7544, 0.7048, 0.6553, 0.6058, 0.5563, 0.5068, 0.4573, 0.4078, 0.3583, 0.3088, 0.2593, 0.2097, 0.1602, 0.1107, 0.0612, 0.0117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+
+ // A perceptually improved Jet colormap (MKPJ2) by Matteo Niccoli
+ //
+ // Author's personal website:
+ // http://mycarta.wordpress.com/
+ //
+ // Author's FEX page:
+ // http://www.mathworks.com/matlabcentral/fileexchange/authors/87376
+ //
+ class MKPJ2 : public ColorMap {
+ public:
+ MKPJ2() : ColorMap() {
+ init(256);
+ }
+
+ MKPJ2(int n) : ColorMap() {
+ init(n);
+ }
+
+ void init(int n) {
+ float r[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0005, 0.0298, 0.0653, 0.1055, 0.1524, 0.2094, 0.2787, 0.3565, 0.4364, 0.5154, 0.5903, 0.6582, 0.7183, 0.7714, 0.8176, 0.8579, 0.8935999999999999, 0.9254, 0.954, 0.98, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
+ float g[] = {0.0116, 0.09089999999999999, 0.1791, 0.2667, 0.3472, 0.4196, 0.4849, 0.5404, 0.5878, 0.6292, 0.6657999999999999, 0.6988, 0.729, 0.7574, 0.7846, 0.8110000000000001, 0.837, 0.8628, 0.8885, 0.9145, 0.9409999999999999, 0.9687, 0.9975000000000001, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9963, 0.9743000000000001, 0.9537, 0.9344, 0.9162, 0.8987000000000001, 0.8821, 0.8659, 0.85, 0.8343, 0.8186, 0.8025, 0.7859, 0.7683, 0.7491, 0.7276, 0.7026, 0.6728, 0.6363, 0.5915, 0.5346, 0.4602};
+ float b[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9995000000000001, 0.9702, 0.9347, 0.8945, 0.8476, 0.7906, 0.7213000000000001, 0.6435, 0.5636, 0.4846, 0.4097, 0.3418, 0.2817, 0.2286, 0.1824, 0.1421, 0.1064, 0.0746, 0.046, 0.02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ Mat X = linspace(0,1,64);
+ this->_lut = ColorMap::linear_colormap(X,
+ Mat(64,1, CV_32FC1, r).clone(), // red
+ Mat(64,1, CV_32FC1, g).clone(), // green
+ Mat(64,1, CV_32FC1, b).clone(), // blue
+ n); // number of sample points
+ }
+ };
+ }
+}
+
+#endif
View
29 Face Recognition Library/Face Recognition Library/decomposition.cpp
@@ -0,0 +1,29 @@
+#include "decomposition.hpp"
+#include "helper.hpp"
+
+void EigenvalueDecomposition::compute(InputArray src) {
+ if(cv::isSymmetric(src)) {
+ // Fall back to OpenCV for a symmetric matrix!
+ cv::eigen(src, _eigenvalues, _eigenvectors);
+ } else {
+ Mat tmp;
+ // Convert the given input matrix to double. Is there any way to
+ // prevent allocating the temporary memory? Only used for copying
+ // into working memory and deallocated after.
+ src.getMat().convertTo(tmp, CV_64FC1);
+ // Get dimension of the matrix.
+ this->n = tmp.cols;
+ // Allocate the matrix data to work on.
+ this->H = alloc_2d<double> (n, n);
+ // Now safely copy the data.
+ for (int i = 0; i < tmp.rows; i++) {
+ for (int j = 0; j < tmp.cols; j++) {
+ this->H[i][j] = tmp.at<double>(i, j);
+ }
+ }
+ // Deallocates the temporary matrix before computing.
+ tmp.release();
+ // Performs the eigenvalue decomposition of H.
+ compute();
+ }
+}
View
710 Face Recognition Library/Face Recognition Library/decomposition.hpp
@@ -0,0 +1,710 @@
+/*
+ * Copyright (c) 2012. Philipp Wagner <bytefish[at]gmx[dot]de>.
+ * Released to public domain under terms of the BSD Simplified license.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.