opencv-extra 0.1.0.0 → 0.2.0.0
raw patch · 16 files changed
+81/−52 lines, 16 filesbinary-added
Files
- CHANGELOG.md +14/−0
- doc/generated/examples/bilateralFilterImg.png binary
- doc/generated/examples/boxBlurImg.png binary
- doc/generated/examples/dctDenoisingImg.png binary
- doc/generated/examples/decolorImg.png binary
- doc/generated/examples/fastNlMeansDenoisingColoredImg.png binary
- doc/generated/examples/fastNlMeansDenoisingColoredMultiImg.png binary
- doc/generated/examples/fbMatcherImg.png binary
- doc/generated/examples/fromJuicyImg.png binary
- doc/generated/examples/fromJuicyPixelsImg.png binary
- doc/generated/examples/matSubRectImg.png binary
- doc/generated/examples/undistortImg.png binary
- opencv-extra.cabal +3/−3
- src/OpenCV/Extra/ArUco.cpp +7/−15
- src/OpenCV/Extra/Tracking.cpp +45/−17
- src/OpenCV/Extra/Tracking.hs +12/−17
CHANGELOG.md view
@@ -1,3 +1,16 @@+## [0.2.0.0] - 2017-11-06++- Support OpenCV-3.3.x++### Changed++- Added the GOTURN constructor to the OpenCV.Extra.Tracking.TrackerType datatype.+- Specify the more accurate `pkgconfig-depends: opencv >= 3.0.0` so that Cabal+ doesn't use the wrong version..+- Specify the more accurate `setup-depends: Cabal >= 1.23` to prevent building+ with unsupported Cabals.++ ## [0.1.0.0] - 2017-06-23 ### Added@@ -23,5 +36,6 @@ - Initial version +[0.2.0.0]: https://github.com/LumiGuide/haskell-opencv/compare/opencv-extra-0.1.0.0...opencv-extra-0.2.0.0 [0.1.0.0]: https://github.com/LumiGuide/haskell-opencv/compare/opencv-extra-0.0.0.1...opencv-extra-0.1.0.0 [0.0.0.1]: https://github.com/LumiGuide/haskell-opencv/compare/opencv-extra-0.0.0.0...opencv-extra-0.0.0.1
+ doc/generated/examples/bilateralFilterImg.png view
binary file changed (absent → 471516 bytes)
doc/generated/examples/boxBlurImg.png view
binary file changed (440308 → 439991 bytes)
doc/generated/examples/dctDenoisingImg.png view
binary file changed (879420 → 879466 bytes)
doc/generated/examples/decolorImg.png view
binary file changed (940483 → 940482 bytes)
doc/generated/examples/fastNlMeansDenoisingColoredImg.png view
binary file changed (913667 → 913653 bytes)
doc/generated/examples/fastNlMeansDenoisingColoredMultiImg.png view
binary file changed (913667 → 913653 bytes)
doc/generated/examples/fbMatcherImg.png view
binary file changed (513475 → 513844 bytes)
− doc/generated/examples/fromJuicyImg.png
binary file changed (523220 → absent bytes)
− doc/generated/examples/fromJuicyPixelsImg.png
binary file changed (523220 → absent bytes)
doc/generated/examples/matSubRectImg.png view
binary file changed (477260 → 476960 bytes)
doc/generated/examples/undistortImg.png view
binary file changed (215796 → 215812 bytes)
opencv-extra.cabal view
@@ -1,5 +1,5 @@ name: opencv-extra-version: 0.1.0.0+version: 0.2.0.0 homepage: https://github.com/LumiGuide/haskell-opencv bug-reports: https://github.com/LumiGuide/haskell-opencv/issues license: BSD3@@ -43,7 +43,7 @@ manual: True custom-setup- setup-depends: base, Cabal+ setup-depends: base, Cabal >= 1.23 library hs-source-dirs: src@@ -110,7 +110,7 @@ TypeOperators default-language: Haskell2010- pkgconfig-depends: opencv+ pkgconfig-depends: opencv >= 3.0.0 extra-libraries: stdc++ test-suite doc-images-opencv-extra
src/OpenCV/Extra/ArUco.cpp view
@@ -197,24 +197,16 @@ } extern "C" {-int inline_c_OpenCV_Extra_ArUco_8_7ede7ba79559132935c117a79d32f29421fb5af7() {-return ( DICT_7X7_1000 );-}--}--extern "C" {-Ptr_Dictionary * inline_c_OpenCV_Extra_ArUco_9_e043f809501b147d4172ef13477613254e4c1009(int cname_27_inline_c_0) {+Ptr_Dictionary * inline_c_OpenCV_Extra_ArUco_8_873aa904229da5436ca09c0b615dd0371711b030(int32_t cname_27_inline_c_0) { - return- new Ptr<Dictionary>(getPredefinedDictionary(cname_27_inline_c_0));+ return new Ptr<Dictionary>(getPredefinedDictionary(cname_27_inline_c_0)); } } extern "C" {-void inline_c_OpenCV_Extra_ArUco_10_1660ae62bf4004a4267ef43424eaa8c162afdea4(Mat * dstPtr_inline_c_0, Ptr_CharucoBoard * cboard_27_inline_c_1, int32_t w_inline_c_2, int32_t h_inline_c_3) {+void inline_c_OpenCV_Extra_ArUco_9_1660ae62bf4004a4267ef43424eaa8c162afdea4(Mat * dstPtr_inline_c_0, Ptr_CharucoBoard * cboard_27_inline_c_1, int32_t w_inline_c_2, int32_t h_inline_c_3) { Mat & board = * dstPtr_inline_c_0; Ptr<CharucoBoard> & charucoBoard = *cboard_27_inline_c_1;@@ -225,28 +217,28 @@ } extern "C" {-void inline_c_OpenCV_Extra_ArUco_11_26c5e19bfe16c79e7bf651cb378e30fd432cd99b(VectorVectorPoint2f * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_ArUco_10_26c5e19bfe16c79e7bf651cb378e30fd432cd99b(VectorVectorPoint2f * ptr_inline_c_0) { delete ptr_inline_c_0; } } extern "C" {-void inline_c_OpenCV_Extra_ArUco_12_86f8b8c429a70629e07c27698801886a0484dfef(VectorInt * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_ArUco_11_86f8b8c429a70629e07c27698801886a0484dfef(VectorInt * ptr_inline_c_0) { delete ptr_inline_c_0; } } extern "C" {-void inline_c_OpenCV_Extra_ArUco_13_a3285f65e0699baa139781baf5bb261b6fa6aa9d(Ptr_CharucoBoard * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_ArUco_12_a3285f65e0699baa139781baf5bb261b6fa6aa9d(Ptr_CharucoBoard * ptr_inline_c_0) { delete ptr_inline_c_0; } } extern "C" {-void inline_c_OpenCV_Extra_ArUco_14_35320368ab79414e41da235a390ce49c04ab0a5c(Ptr_Dictionary * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_ArUco_13_35320368ab79414e41da235a390ce49c04ab0a5c(Ptr_Dictionary * ptr_inline_c_0) { delete ptr_inline_c_0; }
src/OpenCV/Extra/Tracking.cpp view
@@ -8,19 +8,50 @@ using namespace cv; extern "C" {-Ptr_Tracker * inline_c_OpenCV_Extra_Tracking_0_efe6eac7c3946190981535cdf313473c4fadfc96(const char * ctrackerType_27_inline_c_0) {+Ptr_Tracker * inline_c_OpenCV_Extra_Tracking_0_d61a44f7af56478af6e1b7b7276b15457413504a() {+return new cv::Ptr<cv::Tracker>(cv::TrackerBoosting::create());+} - cv::Ptr<cv::Tracker> tacker =- cv::Tracker::create ( cv::String(ctrackerType_27_inline_c_0));- return new cv::Ptr<cv::Tracker>(tacker);- } +extern "C" {+Ptr_Tracker * inline_c_OpenCV_Extra_Tracking_1_ec9a58d1d4c955dfb999ecfaae06090f02522e49() {+return new cv::Ptr<cv::Tracker>(cv::TrackerMIL::create()); } +}+ extern "C" {-bool inline_c_OpenCV_Extra_Tracking_1_f5218c121fc0cacbb2549b312cc1a0f25f8d3052(Ptr_Tracker * trkPtr_inline_c_0, Mat * srcPtr_inline_c_1, Rect2d * rectPtr_inline_c_2) {+Ptr_Tracker * inline_c_OpenCV_Extra_Tracking_2_ccc0a1b5d45e48fbad8058f237a1097d03f70b18() {+return new cv::Ptr<cv::Tracker>(cv::TrackerKCF::create());+} +}++extern "C" {+Ptr_Tracker * inline_c_OpenCV_Extra_Tracking_3_6916cced60cb5e014eadd949778d98cf115ad4f2() {+return new cv::Ptr<cv::Tracker>(cv::TrackerMedianFlow::create());+}++}++extern "C" {+Ptr_Tracker * inline_c_OpenCV_Extra_Tracking_4_47bd351f1f201d3a03c476c9dfcefd8693425578() {+return new cv::Ptr<cv::Tracker>(cv::TrackerTLD::create());+}++}++extern "C" {+Ptr_Tracker * inline_c_OpenCV_Extra_Tracking_5_f0b42e78dc5245625e65a8bc9be96dd2ebfc99b3() {+return new cv::Ptr<cv::Tracker>(cv::TrackerGOTURN::create());+}++}++extern "C" {+bool inline_c_OpenCV_Extra_Tracking_6_f5218c121fc0cacbb2549b312cc1a0f25f8d3052(Ptr_Tracker * trkPtr_inline_c_0, Mat * srcPtr_inline_c_1, Rect2d * rectPtr_inline_c_2) {+ return (*trkPtr_inline_c_0)->init ( *srcPtr_inline_c_1 , *rectPtr_inline_c_2@@ -31,7 +62,7 @@ } extern "C" {-bool inline_c_OpenCV_Extra_Tracking_2_cfa88d7e1596b908857073456e505f8a57bfd55f(Ptr_Tracker * trkPtr_inline_c_0, Mat * srcPtr_inline_c_1, Rect2d * rectPtr_inline_c_2) {+bool inline_c_OpenCV_Extra_Tracking_7_cfa88d7e1596b908857073456e505f8a57bfd55f(Ptr_Tracker * trkPtr_inline_c_0, Mat * srcPtr_inline_c_1, Rect2d * rectPtr_inline_c_2) { return (*trkPtr_inline_c_0)->update ( *srcPtr_inline_c_1@@ -43,30 +74,27 @@ } extern "C" {-Ptr_MultiTracker * inline_c_OpenCV_Extra_Tracking_3_f3a6cc587d88595f175227bf695c32d2015f0e8d(const char * ctrackerType_27_inline_c_0) {+Ptr_MultiTracker * inline_c_OpenCV_Extra_Tracking_8_4549330adad92cb8c3cefe392252b1afd8277fec() { - cv::Ptr<cv::MultiTracker> mtracker =- new cv::MultiTracker ( cv::String(ctrackerType_27_inline_c_0));- return new cv::Ptr<cv::MultiTracker>(mtracker);+ return new cv::Ptr<cv::MultiTracker>(new cv::MultiTracker ()); } } extern "C" {-Ptr_TrackerFeature * inline_c_OpenCV_Extra_Tracking_4_ccebdf6970bfcdb2823cf254bf81c506730c3f7f(const char * ctrackerFeatureType_27_inline_c_0) {+Ptr_TrackerFeature * inline_c_OpenCV_Extra_Tracking_9_bb59c0632f05622a4df6cbb440d6ff7b3e503a96(const char * ctrackerFeatureType_27_inline_c_0) { cv::Ptr<cv::TrackerFeature> ftracker = cv::TrackerFeature::create ( cv::String(ctrackerFeatureType_27_inline_c_0)); return new cv::Ptr<cv::TrackerFeature>(ftracker);- } } extern "C" {-void inline_c_OpenCV_Extra_Tracking_5_6622f23d9a44ed62d61cf22707e9d8ac3e4f2186(Ptr_MultiTrackerAlt * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_Tracking_10_6622f23d9a44ed62d61cf22707e9d8ac3e4f2186(Ptr_MultiTrackerAlt * ptr_inline_c_0) { delete ptr_inline_c_0; @@ -75,7 +103,7 @@ } extern "C" {-void inline_c_OpenCV_Extra_Tracking_6_778deb976c698e950da3d4b45362d8b29a2c2547(Ptr_MultiTracker * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_Tracking_11_778deb976c698e950da3d4b45362d8b29a2c2547(Ptr_MultiTracker * ptr_inline_c_0) { delete ptr_inline_c_0; @@ -84,7 +112,7 @@ } extern "C" {-void inline_c_OpenCV_Extra_Tracking_7_a535e1801086ce360682ac32352766b0a063504e(Ptr_TrackerFeature * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_Tracking_12_a535e1801086ce360682ac32352766b0a063504e(Ptr_TrackerFeature * ptr_inline_c_0) { delete ptr_inline_c_0; @@ -93,7 +121,7 @@ } extern "C" {-void inline_c_OpenCV_Extra_Tracking_8_89f1496eff75dd40a161328bb1f958178e2152e9(Ptr_Tracker * ptr_inline_c_0) {+void inline_c_OpenCV_Extra_Tracking_13_89f1496eff75dd40a161328bb1f958178e2152e9(Ptr_Tracker * ptr_inline_c_0) { delete ptr_inline_c_0;
src/OpenCV/Extra/Tracking.hs view
@@ -48,6 +48,7 @@ C.include "tracking.hpp" C.using "namespace cv"+ -------------------------------------------------------------------------------- data TrackerType@@ -56,6 +57,7 @@ | KCF -- ^ | MEDIANFLOW -- ^ | TLD -- ^+ | GOTURN -- ^ https://github.com/opencv/opencv_extra/tree/c4219d5eb3105ed8e634278fad312a1a8d2c182d/testdata/tracking deriving (Eq, Show, Enum, Bounded) data TrackerFeatureType@@ -86,14 +88,13 @@ => TrackerType -- ^ Name -> m (Tracker (PrimState m))-newTracker trackerType =- unsafePrimToPrim $ fromPtr $- withCString (show trackerType) $ \c'trackerType ->- [CU.block|Ptr_Tracker * {- cv::Ptr<cv::Tracker> tacker =- cv::Tracker::create ( cv::String($(const char * c'trackerType)));- return new cv::Ptr<cv::Tracker>(tacker);- }|]+newTracker tType = unsafePrimToPrim $ fromPtr $ case tType of+ BOOSTING -> [CU.block|Ptr_Tracker * {return new cv::Ptr<cv::Tracker>(cv::TrackerBoosting::create());}|]+ MIL -> [CU.block|Ptr_Tracker * {return new cv::Ptr<cv::Tracker>(cv::TrackerMIL::create());}|]+ KCF -> [CU.block|Ptr_Tracker * {return new cv::Ptr<cv::Tracker>(cv::TrackerKCF::create());}|]+ MEDIANFLOW -> [CU.block|Ptr_Tracker * {return new cv::Ptr<cv::Tracker>(cv::TrackerMedianFlow::create());}|]+ TLD -> [CU.block|Ptr_Tracker * {return new cv::Ptr<cv::Tracker>(cv::TrackerTLD::create());}|]+ GOTURN -> [CU.block|Ptr_Tracker * {return new cv::Ptr<cv::Tracker>(cv::TrackerGOTURN::create());}|] initTracker :: (PrimMonad m, IsRect rect C.CDouble)@@ -184,16 +185,11 @@ newMultiTracker :: (PrimMonad m)- => TrackerType- -- ^ Name- -> m (MultiTracker (PrimState m))-newMultiTracker trackerType =+ => m (MultiTracker (PrimState m))+newMultiTracker = unsafePrimToPrim $ fromPtr $- withCString (show trackerType) $ \c'trackerType -> [CU.block|Ptr_MultiTracker * {- cv::Ptr<cv::MultiTracker> mtracker =- new cv::MultiTracker ( cv::String($(const char * c'trackerType)));- return new cv::Ptr<cv::MultiTracker>(mtracker);+ return new cv::Ptr<cv::MultiTracker>(new cv::MultiTracker ()); }|] --------------------------------------------------------------------------------@@ -210,5 +206,4 @@ cv::Ptr<cv::TrackerFeature> ftracker = cv::TrackerFeature::create ( cv::String($(const char * c'trackerFeatureType))); return new cv::Ptr<cv::TrackerFeature>(ftracker);- }|]