-
Notifications
You must be signed in to change notification settings - Fork 286
/
ChangeLog.txt
1595 lines (1576 loc) · 89.1 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
ViSP
Visual Servoing Platform
Resume of the change log
Copyright (C) 2005 - 2023 by Inria. All rights reserved.
https://visp.inria.fr
ViSP 3.x.x (Version in development)
- Contributors:
. Fabien Spindler, Romain Lagneau, Pierre Perraud, Florent Lamiraux, Samuel Felton, François Chaumette,
Souriya Trinh, Olivier Roussel
- New classes
. vpPololu and vpRobotPololuPtu to control respectively a servo motor using a pololu maestro board or a 3D printed
2 dof pan-tilt unit. Visual servoing example provided in example/servo-pololu-ptu. Tests available in
modules/robot/test/servo-pololu/
. vpStatisticalTestAbstract, vpStatisticalTestEWMA, vpStatisticalTestHinkley, vpStatisticalTestMeanAdjustedCUSUM
vpStatisticalTestShewhart and vpStatisticalTestSigma: classes implementing Statistical Control Process methods to
detect mean drift / jump of a signal
. vpDisplayPCL to display a point cloud using PCL 3rdparty
- Deprecated
. vpPlanarObjectDetector, vpFernClassifier deprecated classes are removed
. End of supporting c++98 standard. As a consequence, ViSP is no more compatible with Ubuntu 12.04
. vpDisplay::displayCharString() is marked deprecated. Use vpDisplay::displayText() instead
. vpHinkley class is deprecated, in favor of vpStatisticalTestHinkley
- New features and improvements
. Introduce Python bindings for most of ViSP modules and classes (see corresponding tutorial)
. New specific documentation for Python bindings in https://visp-doc.inria.fr/doxygen/visp-python-daily/
. Updated Dockerfile in ci/docker folder for Ubuntu 18.04, 20.04 and 22.04. Corresponding images are also available
ready to use on DockerHub https://hub.docker.com/repository/docker/vispci/vispci/general
. OpenCV 2.4.8 is the minimal supported version
. Introduce applications in apps folder, a collection of useful tools that
have a dependency to the install target
. Speed up build by including only opencv2/opencv_modules.hpp instead of opencv2/opencv.hpp header in vpConfig.h
. In imgproc module, implementation of automatic gamma factor computation methods for gamma correction.
. Eliminate the use of pthread in favour of std::thread
. RGB or RGBa to/from HSV conversion optimization in vpImageConvert class
. New vpImageTools::inRange() functions to ease binary mask computation by thresholding HSV channels
. New tutorials in tutorial/segmentation/color folder to show how to use HSV color segmentation to
extract the corresponding point cloud
. New scene renderer based on Panda3D. See inheritance diagram for vpPanda3DBaseRenderer class and corresponding
tutorial
. New docker image for Ubuntu 24.04 in docker folder
. Update apriltag 3rdparty to 3.4.2 release
. Update tinyexr 3rdparty to 1.0.9 release
. Update stb_image 3rdparty to 2.30 version
. Update Catch2 3rdparty to 3.7.1 version
. Add compatibility with Yolo v11 in vpDetectorDNNOpenCV a wrapper over the OpenCV DNN module that allows
to detect objects
- Applications
. Migrate eye-to-hand tutorials in apps
- Tutorials
. Update tutorial: How to use Blender to generate simulated data for model-based tracking
experiments with step by step detailed explanations
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-rgbd-Blender.html
. New tutorial: Installation from prebuilt Conda packages for Linux / OSX / Windows
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-conda-package.html
. New tutorial: Using Statistical Process Control to monitor your signal
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-spc.html
. New tutorial: Installing ViSP Python bindings
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-python-bindings.html
. New tutorial: Introduction to color segmentation using HSV color scale
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-hsv-segmentation-intro.html
. New tutorial: HSV low/high range tuner tool
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-hsv-range-tuner.html
. New tutorial: Live color segmentation using HSV color scale
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-hsv-segmentation-live.html
. New tutorial: Point cloud segmentation using HSV color scale
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-hsv-segmentation-pcl.html
. New tutorial: Rendering a 3D scene with Panda3D
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-panda3d.html
. New tutorial: Using Unscented Kalman Filter to filter your data
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-ukf.html
. New tutorial: Using Particle Filter to filter your data
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-pf.html
. New tutorial: Using Particle Filter to model a wire using polynomial interpolation
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-pf-curve-fitting.html
- Bug fixed
. [#1251] Bug in vpDisplay::displayFrame()
. [#1270] Build issue around std::clamp and optional header which are not found with cxx17
standard enabled
. [#1272] Unable to build ViSP with PCL/VTK build from source, VTK headers are not found by ViSP
. [#1273] Build error in visp_java without deprecated functionalities
. [#1274] Build issue no member named clamp in namespace std
. [#1279] Issue in vpPoseVector json serialization
. [#1296] Unable to parse camera parameters with vpXmlParserCamera::parse() when camera name is empty
. [#1307] Cannot set cxx standard when configuring for Visual Studio
. [#1320] Broken links in the documentation
. [#1337] The pose of the automatic data generation pipeline from blenderproc seems wrong
. [#1341] SVD computation fails with Lapack when m < n
. [#1370] encountered compilation errors while building the ViSP library
. [#1424] Unable to detect Yarp 3.9.0
. [#1485] Build issue around nlohmann_json usage with VTK 9.2.0 or more recent version used as an embedded
3rdparty by PCL
. [#1487] Segfault with vpCannyEdgeDetection with a certain image
. [#1494] Memory management issue in vpArray2D::resize()
. [#1495] vpMeLine is unable to seek extremities
----------------------------------------------
ViSP 3.6.0 (released September 22, 2023)
- Contributors:
. Fabien Spindler, Souriya Trinh, Romain Lagneau, Antonio Marino, Samuel Felton,
Francois Chaumette, Olivier Roussel, Julien Dufour, Joudy Nader
- New classes
. vpMocapVicon an interface over Vicon motion capture system
. vpMocapQualisys an interface over Qualisys motion capture system
. vpPclViewer that enables real time plotting of 3D point clouds based on PCL library
. vpRobotUniversalRobots that allows to control an Universal Robots robot
. vpRobotMavsdk that allows to control a robot equipped with a Pixhawk (drone, rover...)
. vpDetectorDNNOpenCV a wrapper over the OpenCV DNN module that allows
to detect objects using Faster-RCNN, SSD-MobileNet, ResNet 10, Yolo v3, Yolo v4,
Yolo v5, Yolo v7 and Yolo v8 convolutional networks
. vpImageCircle that refers to a 2D circle in an image
. vpCircleHoughTransform that allows to detect circles in an image
. vpCannyEdgeDetection that allows to detect Canny edges without using OpenCV
. vpMegaPose and vpMegaPoseTracker classes that are wrapper over MegaPose
https://megapose6d.github.io/ that allows 6D pose estimation using a DNN approach
- New features and improvements
. Video writer is now able to create the output folder recursively (see vpVideoWriter)
. New image-based and position-based examples with UR robot
. Tutorial for extrinsic calibration improved with UR robot and Panda robot use cases
. Tutorials in tutorial/grabber folder have now a new --no-display command line option
that allows to grab a video remotely
. Introduce MAVLink interface using MAVSDK 3rd party library interfaced in vpRobotMavsdk
class that allows to control a robot equipped with a Pixhawk (drone, rover...)
. Image-based visual-servoing, position and velocity control examples to control robots
equipped with Pixhawk (see vpRobotMavsdk doc)
. Windows 11 support
. New capabilities to ease C++ inference to detect objects using convolutional networks
(see vpDetectorDNNOpenCV)
. Support of JSON for modern C++ third-party to enable serialization capabilities
in vpArray2D, vpCameraParameters, vpCircleHoughTransform, vpColVector, vpDetectorDNNOpenCV,
vpHomogeneousMatrix, vpMbGenericTracker, vpMe, vpPolygon3D, vpPoseVector to load/save
internal data or settings from/to JSON files
. Remove deprecated OpenCV IplImage interfaces
. Remove deprecated vpOpenCVGrabber, vpKeyPointSurf classes and corresponding
tutorials
. Minimum OpenCV version is 2.4.8
. Introduce a new moving-edges threshold parameter for the contrast between each side
of the feature to track. Its value corresponds to a gray level in range [0; 255]
. In moving-edges ellipse tracker (vpMeEllipse and vpMbTracker and its derived classes),
change sample step parameter to consider the distance between moving-edges in pixels
rather than an angular value in deg as it was in the previous releases
. ViSP is available as a Conda package
. Fix compatibility with Debian GNU/Hurd
- Tutorials
. New tutorial to list all the hardware (robot, camera, depth camera, lidar, mocap,
haptic devices, F/T sensor) supported by ViSP
https://visp-doc.inria.fr/doxygen/visp-daily/supported-material.html
. New tutorial: How to manipulate a video or a sequence of images
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-video-manipulation.html
. New tutorial: Planar object pose estimation using RGB-D data
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-planar-object-pose.html
. New tutorial: IBVS with a robot from Universal Robots
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-universal-robot-ibvs.html
. New tutorial: PBVS with a robot from Universal Robots
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-universal-robot-pbvs.html
. New tutorial: Image-based visual-servoing on a drone equipped with a Pixhawk
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-pixhawk-vs.html
. New tutorial: Installation from source for Windows 11 with MinGW-w64
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-win11-mingw-w64.html
. New tutorial: Installation from source for Windows 11 with Visual C++ 2022 (vc17)
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-win11-msvc17.html
. New tutorial: Deep learning object detection
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-detection-dnn.html
. New tutorial: Using JSON serialization to save your data and read program arguments
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-json.html
. New tutorial: Loading a model-based generic tracker from JSON
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-mb-generic-json.html
. New tutorial: Threaded PCL viewer
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-pcl-viewer.html
. New tutorial: Tracking with MegaPose
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-megapose.html
. New tutorial: Exporting a 3D model to MegaPose after reconstruction with NeRF
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-megapose-model.html
. New tutorial: Generating synthetic data for deep learning with Blenderproc
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-synthetic-blenderproc.html
. New tutorial: Gradient-based Circle Hough Transform
https://visp-doc.inria.fr/doxygen/visp-daily/tutorial-imgproc-cht.html
- Bug fixed
. [#1041] [example/device/framegrabber/saveRealSenseData] Wrong camera parameters
and depth_M_color homogeneous matrix when aligned depth is requested
. [#1042] testColorConversion.cpp segfault randomly
. [#1045] CXX standard not propagated when using pkg-config or visp-config
. [#1046] vpIoTools::getParent() returns an empty string when folder separator is not found
. [#1059] 3.5.0: Build fails on FreeBSD arm64: fatal error: 'asm/hwcap.h' file not found
. [#1077] Quick start build fails on Visual Studio 17 2022
. [#1080] Fails to configure with Xcode generator
. [#1094] vpIoTools::makeTempDirectory() fails to create a temporary directory inside
a parent directory on Unix
. [#1106] SIFT Illegal Instruction error on macOS Intel with OpenCV 4.6.0 installed with brew
. [#1155] Wrong representation of the ellipse in model-based tracker
. [#1160] MBT does not estimate dof set by the user using vpMbTracker::setEstimatedDoF()
. [#1176] ViSP cannot be built with a subset of OpenCV modules
. [#1198] Unable to save multiple cameras in a same xml file
. [#1228] Unable to use visp conda package to link visp as a 3rd party
----------------------------------------------
ViSP 3.5.0 (released February 15, 2022)
- Contributors:
. Fabien Spindler, Joudy Nader, Souriya Trinh, Julien Dufour, Ha Thuc Long,
Christian Clauss, Olivier Kermorgant
- New features and improvements
. Bump default cxx standard to cxx17
. Update 3rdparty/apriltag detector
. Update 3rdparty/simdlib used for optimization
. Update 3rdparty/stb_image used for image io
. Update 3rdparty/catch for testing
. Camera calibration model can now consider px/py aspect ratio and estimate
a model where px = py
. Introduce Bayer demosaicing also called debayering in vpImageConvert
. UEye grabber now support Bayer 8 color mode
. Introduce Occipital Structure Core RGB-D device support in vpOccipitalStructure
class
. Update to use Catch2 2.13.7
. Improve video reader and writer classes to consider a sequence of non consecutive
images
. Improve camera intrinsic and extrinsic calibration tools
. Compatibility with Visual Studio 17 2022
. Capability to display TrueType font in display
- Tutorials
. New tutorial for FrankaSim that allows physical simulation of the Panda robot from
Franka Emika, with a model that has beenaccurately identified from a real Franka
robot using ViSP, ROS and CoppeliaSim.
More info on http://wiki.ros.org/visp_ros
. New tutorial: Deep learning object detection on NVIDIA GPU with TensorRT
. New tutorial: Installation from source for Windows with Visual C++ 2022 (vc17)
. New tutorial: Cross-compilation for UWP from Windows host with Visual C++ 2022
- Bug fixed
. [#913] Cannot build tutorial with librealsense < 2.31.0
. [#926] Packaging with CPack doesn't work with Ogre dependency
. [#933] tutorial-apriltag-detector-live-rgbd-realsense.cpp doesn't work
. [#937] Segfault in vpRobust when data to consider is a 2-dim vector
. [#939] SonarQube static analysis is no more working
. [#950] Cannot build tutorial-grabber-multiple-realsense.cpp with Visual Studio 2017
. [#961] Build error on Ubuntu 21.10 with glibc 2.34
. [#963] Unable to read a sequence of non consecutive images
. [#968] Wrong installation path for robot and wireframe simulator data on Windows
. [#970] testKeyPoint-5 and testKeyPoint-7 are failing with OpenCV 4.5.4 on MacOS 11
. [#972] Error running some examples: Application built with libpng-1.4.12
but running with 1.6.37
. [#973] Error running some examples: Wrong JPEG library version: library is 90,
caller expects 80
. [#977] Unable to build with pcl 1.12.1 on macOS
. [#986] AprilTag Memory Leak ViSP 3.4.0
. [#993] simdlib memory leaks bug
. [#1013] ViSP installation instructions with libdc1394 and OpenCV 3rdparties
in Ubuntu 20.04 are wrong
. [#1017] visp-config and visp.pc files error with macOS frameworks and tbd files
. [#1023] tutorial-dnn-object-detection-live issue when running it on SSD-Mobilenet.onnx
----------------------------------------------
ViSP 3.4.0 (released February 26, 2021)
- Contributors:
. This release was possible thanks to contributions from Fabien Spindler,
Pierre Chatelain, Souriya Trinh, Joudy Nader
. Thanks also to Sergio Agostinho
- New features and improvements
. Compatibility with FreeBSD
. Introduce transparency when displaying filled circle and rectangle with
vpDisplayOpenCV
. Complete refactoring of https://github.com/lagadic/visp_unity project
a wrapper between ViSP and Unity
. BLAS/LAPACK usage for linear algebra with either Intel MKL, OpenBLAS, Atlas,
GSL, Netlib or Lapack built-in. Under Ubuntu, update-alternatives allows
to switch during runtime between OpenBLAS, Atlas and Netlib
. Remove vpMbEdgeMultiTracker, vpMbEdgeKltMultiTracker and vpMbKltMultiTracker
deprecated classes. Use rather vpMbGenericTracker
. visp.pc file used by pkg-config and visp-config script updated to
be able to build a project that uses ViSP as 3rd party without CMake
. New vpReflexTakktile2 class and examples to control Reflex Takktile 2 hand
from Right Hand Robotics
. New vpGaussianFilter class for Gaussian blur operation
. vpRealsense2 class was extended to support Intel Realsense T265 device
. Introduce Kannala Brandt projection model for fisheye cameras in vpCameraParameters
. Extend existing tools to support Kannala Brandt projection model for XML I/O,
undistort, pixel-meter and meter-pixel conversion
. Introduce analysis tools for camera calibration / hand-eye calibration
(see tutorials)
. New cmake option to use MathJax to speed up online doc build
. Docker images available on Docker Hub:
https://hub.docker.com/repository/docker/vispci/vispci
. Support of Kinova Jaco assistive robotic arm that could be controlled
using vpRobotKinova
. Compat with Basler Pylon 6.x Camera Software Suite
. New wrapper in vpUeyeGrabber to support IDS uEye Camera Software Suite
. Compat with OpenCV 4.5.0
- Tutorials
. New tutorial: Basic linear algebra operations
. New tutorial: How to create and build a project that uses ViSP without CMake
. New tutorial: Installation from Docker images
- Bug fixed
. [#713] 3.3.0 build fails on non-linux systems: fatal error: 'linux/serial.h'
file not found
. [#716] Build issue on FreeBSD with g++
. [#718] vpImage<unsigned char>::getValue() is not working on big endian arch
. [#726] Segfault in vpServo when the number of visual features is very
large (> 50.000)
. [#728] vpProjectionDisplay doesn't display frame with RGB colors respectively
for X, Y and Z axis
. [#731] Link issues using pkgconfig with static libraries
. [#735] MKL and GSL Blas/Lapack 3rd parties incompatibility
. [#750] Cannot detect OpenMP with clang on MacOS
. [#763] VISP does not support the latest PCL release 1.11.0
. [#767] Compile from source on Ubuntu Focal raises CMake error with Ogre 1.9 or 2.1
. [#777] Issue when calling vpMatrix::eigenValues() using lapack built-in
. [#780] Projects have to explicitly link against Boost when compiling ViSP with ar module
. [#781] Wrong share install path on unix-like system
. [#785] Static variable in vpServo
. [#787] Unable to build simdlib 3rd party for iOS
. [#792] Mismatch between mu_ij and n_ij centered moments of an ellipse
. [#798] Inconsistant handling of Exif Orientation between libjpeg and opencv
. [#799] Issue when parsing .cao model with no newline at end of file
. [#801] Build issue with visp_java
. [#803] Segfault with MBT and when a circle disappears
. [#806] Error running the Java sample with intel-mkl 2020.2.254-1
. [#808] vpVirtuose.cpp doen't build with Visual 2019 (vc16)
. [#812] Online doc formula rendering issue with Ghostscript on OSX
. [#817] vpIoTools::getFileExtension prints "Debug sepIndex: 0" to std::cout
. [#818] Model-based tracking issue using RGBD-data on Windows
. [#820] Error when composing two RT transformations in template tracker
. [#822] Issue in ellipse display and usage
. [#832] Memory leak when reading a sequence of images with vpVideoReader
. [#838] vpImage::getValue() fails on Alpha arch
. [#841] Build issue with PCL 1.11.0 on OSX
. [#842] iOS framework build process is unable to detect opencv2.framework as 3rd party
. [#845] Fix ME display when calling setPose() without track() after
. [#857] Reading a color image with vpImageIo::readPNG() can lead to a gray level image
. [#859] Wrong visp.pc content with PCL 1.10.0 around VTK library names
----------------------------------------------
ViSP 3.3.0 (released February 14, 2020)
- Contributors:
. This release was possible thanks to contributions from Fabien Spindler,
Souriya Trinh, Gatien Gaumerais, Yasutomo Shirahama, Yash Kapoor, Noura Neji,
Rahaf Rahal, Romain Lagneau, ahfuzhang, Franco Fusco, Olivier Kermorgant,
Alexander Oliva
- New features and improvements
. Upgrade to new AprilTag3 version. Note that TAG_36h10, TAG_25h7 and
TAG_36ARTOOLKIT are deprecated and that new families: TAG_CIRCLE21h7,
TAG_CIRCLE49h12, TAG_CUSTOM48h12, TAG_STANDARD41h12, TAG_STANDARD52h13
are supported. AprilTag detection time is reduced
. Remove libxml2 3rd party dependency to use pugixml built-in
. Replace pthreads-win32 for POSIX threads for windows 3rd party with
pthreads4w implementation
. New matrix and vector initialization methods to ease setting elements
. Introduce Eigen <-> ViSP conversion functions in vp namespace
. Add OpenBLAS, Intel MKL and Atlas explicit support
. Add support of vpImage<vpRGBa> to vpMbGenericTracker
. Add support of vpImage<vpRGBa> to vpKeyPoint
. Introduce force/torque controller for Franka Emika Panda robot in
vpRobotFranka class
. New vpQbDevice and vpQbSoftHand classes and examples to control
qbrobotics devices
. Compatibility with Microsoft Visual C++ 2019 (MSCV 16)
. Compatibility with FlyCapture 2.13 to enable vpFlyCaptureGrabber usage
. Compatibility with PCL > 1.9.1 to enable additional features in
vpRealSense2 class
. Compatibility with Windows 10 SDK latest version to enable vpDisplayGDI
usage
. Compatibility with Fedora 31
. Compatibility with Raspberry 4 Alpine
. New option to select CXX standard set by default to c++11
. Introduce a timeout (default to 50ms) during DataMatrix code detection
implemented in vpDetectorDataMatrixCode class
. New vpForceTorqueAtiNetFTSensor class to get F/T measurements from an
ATI F/T sensor connected to a Net FT box
. New vpRobotBebop2 class a wrapper over ARSDK3 to control Parrot Bebop2
drone
. New vpRobotFlirPtu class, a wrapper over Flir pan-tilt unit SDK
. New vpForceTorqueIitSensor class, a wrapper over IIT force-torque sensor
. Optimize template tracker
. Modify vpVideoReader to support MTS video format
. Upgrade to AprilTag 3.1.1 last release
. Introduce performance tests using Catch2
. Modify vpVideoReader to enable MTS video format reading
. Use only OpenCV required modules to reduce the number of dependencies
. Remove valgrind false positive memory leaks adding a suppression file
. Introduce Java bindings for vpGenericTracker and vpDetectorAprilTag classes
. New vpImageDraw and vpFont classes for basic drawings (line, circle,
rectangle, text) in an image without the need of a vpDisplay
- Tutorials
. New tutorial: Installation from source for Windows with Visual C++ 2019
(vc16)
. New tutorial: Cross-compilation for UWP from Windows host with Visual
C++ 2019 (vc16)
. New tutorial: IBVS with Panda 7-dof robot from Franka Emika
. New tutorial: Visual-servoing with Parrot Bebop 2 drone
. New tutorial: Visual servoing with FLIR Pan Tilt Unit
. New tutorial: AprilTag marker real-time detection on iOS
. New tutorial: Introduce a new class with 3rd-party dependencies
. New tutorial: AprilTag detection in java with ViSP
. New tutorial: Generic model-based tracking in java with ViSP
- Bug fixed
. [#523] dpkg-shlibdeps produces an error during Debian packaging
. [#525] Tests are failing during Debian package build in a container
. [#546] ViSP doesn't build when C++11 off and PCL on
. [#549] Bug in unsigned int vpBSpline::findSpan(double u)
. [#554] Bug in SaveRealSenseData.cpp prevents install on windows
. [#559] AprilTag detector freeze with msvc built when more than 1 thread
is used
. [#564] visp_java build fails when OpenCV and libjpeg or libpng are not
used
. [#570] Could not get left and right Infrared images from RealSense D435
. [#573] VISP fails to build with cmake 3.14.3 and PCL 1.9.1
. [#574] Compatibility problem with PCL > 1.9.1
. [#597] Fix vpImage bitmap deletion when copyData = false
. [#614] Performance issues in vpTemplateTrackerMIInverseCompositional
. [#621] Fix pointcloud computation when align with librealsense2
. [#650] Video reader ends prematurely on some mp4
. [#651] visp_ros installation error
. [#655] Build error with Ubuntu 12.04.5 LTS
. [#661] Possible issues in image Moments calculations
. [#665] Build error with Ubuntu 12.04.5 LTS
. [#667] Tutorial-apriltag-detector seg fault
. [#668] April Tags and depth image
. [#669] Fix segfault and memory leak when BEST_RESIDUAL_VIRTUAL_VS or
HOMOGRAPHY_ORTHOGONAL_ITERATION pose estimation method are used
. [#679] Fix display
. [#705] Fix error computation in the VVS loop for plane normal
. [#706] visp.pc pkg-config file not conform to man page
----------------------------------------------
ViSP 3.2.0 (released January 23, 2019)
- Contributors:
. This release was possible thanks to contributions from Fabien Spindler,
Souriya Trinh, Olivier Kermorgant, Mathieu Simon, Francois Chaumette,
Marc Pouliquen, Jason Chevrie, Yash Kapoor, Tianhuanyu, Yasutomo Shirahama,
ashwinpathak20
. Google Summer of Code 2018: Akshay Sharma that ported ViSP to Java and Android,
and Utkarsh Tripathi that developped the wrapper between ViSP and Unity.
- New features
. Turn cxx11 on by default
. Introduce vpSerial class to handle serial communication
. New vpRobotFranka class, examples and test showing how to use Panda robot
from Franka Emika
. In MBT:
- Improve the generic tracker implemented in vpMbGenericTracker class
- Add possibility to introduce a homogeneous transformation matrix
when loading model and init files, useful to change the origin of the 3D
cad model; see vpMbTracker::loadModel() and vpMbTracker::initClick()
- Add support of pgm, png, jpg image format for initClick helper
- Introduce a new confidence indicator that is working with all the visual
features types to detect tracking failures;
see vpMbGenericTracker::computeCurrentProjectionError()
. Add basic template matching algorithm in vpImageTools::templateMatching()
. Improve vpRealsense2 class that is the wrapper over librealsense 2.x
. QR matrix decomposition introduced in vpMatrix
. New solvers for Linear Programs and Quadratic Programs implemented in vpLinProg and
vpQuadProg classes
. Add vpDetectorDNN wrapper for deep learning object detection. The idea is to have a
small wrapper over the OpenCV DNN module as much as possible light and simple.
vpDetectorDNN is specialized to handle object detection tasks and provide a
"convenient" way to have the detection bounding boxes.
. Improve eye to hand calibration
. Improve PnP pose estimation
. Compat with OpenCV 4
. Compat with Fedora 29
. Introduce SonarQube code quality analysis tool. Analysis reports are available on
https://sonarqube.bordeaux.inria.fr/sonarqube/dashboard/index/rainbow:visp:master
- Tutorials
. New tutorial: Installation from source on a Jetson equipped with an Orbitty Carrier
board http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-jetson.html
. New tutorial: Using ViSP and Matlab
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-visp-matlab.html
. New tutorial: PBVS with Panda 7-dof robot from Franka Emika
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-franka-pbvs.html
. New tutorial: Visual-servoing with mBot Ranger educational robot kit
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-mbot-vs.html
. New tutorial: Camera extrinsic calibration
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-calibration-extrinsic.html
. New tutorial: Markerless generic model-based tracking using a color camera
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic.html
. New tutorial: Markerless generic model-based tracking using a stereo camera
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-stereo.html
. New tutorial: Markerless generic model-based tracking using a RGB-D camera
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-rgbd.html
. New tutorial: Markerless generic model-based tracking using AprilTag for
initialization (use case)
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-apriltag-live.html
. New tutorial: Developement of an interface and demo between ViSP and Unity engine
https://github.com/lagadic/visp_unity/blob/master/README.md
. New tutorial: ViSP for Unity introduction
https://github.com/lagadic/visp_unity/wiki
. New tutorial: Generating a DLL for Unity
https://github.com/lagadic/visp_unity/wiki/Generating-DLL
. New tutorial: Unity demo based on ViSP
https://github.com/lagadic/visp_unity/wiki/Running-in-Unity
. New tutorial: Installing ViSP for Java
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-install-java.html
. New tutorial: First java application with ViSP
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-java-started.html
. New tutorial: Building ViSP SDK for Android
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-create-android-sdk.html
. New tutorial: Creating a simple Android App with ViSP
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-android-getting-started.html
. New tutorial: Deep learning object detection
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-detection-dnn.html
. New tutorial: Draw basic drawings
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-basic-drawings.html
. New tutorial: How to use Blender to generate simulated data for model-based tracking experiments
http://visp-doc.inria.fr/doxygen/visp-daily/tutorial-tracking-mb-generic-rgbd-Blender.html
- Bug fixed
. [#279] Unable to build ViSP with Visual Studio 2010
. [#281] Segfault in mbtGenericTrackingDepth.cpp when run on big endian arch
. [#286] Fix build issue on Debian hurd-i386 arch
. [#287] On Win XP inet_ntop() could not be located in WS2_32.dll
. [#293] Rotation extrinsic for RealSense is not correct
. [#299] Unable to build when libaria is used
. [#302] Fix build issue with librealsense 2.9.1 or higher
. [#324] How to compile ViSP within Visual Studio 2013 on windows 7?
. [#348] ViSP-third-party.txt is erased after make
. [#353] Test imageSequenceReader not working
. [#355] Segmentation fault with vpRealSense2 acquire
. [#368] ViSP Contrib Module including non-existant vpConfig.h header
. [#371] Wrong conversion from vpRotationMatrix to vpThetaUVector for rotations around pi
. [#373] ViSP doesn't build with OpenCV 4.0.0
. [#382] Meaningless camera parameters when calibrating built-in auto-focusing camera
. [#389] CMake error with Xcode generator
. [#391] Tutorial command error
. [#400] vpCircle::display() didn't work as expected
. [#422] Two #include lines, <linux/kernel.h> and <linux/types.h>, aren't needed for V4L
. [#423] Man page location should be man/man1
. [#424] Please have one cmake variablefor DATADIR
. [#425] Please remove the 'register' specifier everywhere: it is deprecated and incompatible with C++17
. [#433] Can not build android SDK
. [#435] vpRobot::END_EFFECTOR_FRAME not implemented in vpRobotViper650
. [#442] Unable to build ios framework
. [#453] CMake error when building tutorials and examples with ViSP from installation folder
. [#466] Build error with libboost_thread-mt.a
. [#429] vpRobotViper650 getPosition(vpRobot::REFERENCE_FRAME) error
. [#485] CMake error when PCL is build with VTK option VTK_ENABLE_KITS=ON
. [#515] Model-based tracking stops throwing an exception: the image of the straight line is a point!
. [#519] Cannot build java bindings when lapack is not used
----------------------------------------------
ViSP 3.1.0 (released December 22nd, 2017)
- Contributors:
. This release was possible thanks to contributions from Fabien Spindler,
Souriya Trinh, Wenfeng Cai, Oleksandr Borysov, Marc Pouliquen, Ronald Ensing,
Yuriy Baranov, Jason Chevie
. Google Summer of Code 2017: Vikas Thamizharasan that developed for the
model-based tracker Blender import/export CAD model plugins and a Qt-based
CAD model viewer
- New features
. Improve vpRealSense to better support R200 device
. Improve vpConfig.h header content to remove path to build tree when installed
. Speed-up vpMbKltTracker and vpMbEdgeKltTracker during reinit
. Remove numerical recipes code that is not open-source
. Changes done in vpMatrix to use either Lapack, OpenCV or GSL 3rd party
. Eigen 3rd party was introduced as an alternative for matrix computation
. Lapack is now embedded as a build-in when Lapack system library is not found
. vpVideoReader was improved to better detect first and last image numbers of an
image sequence and better handle the frame step
. Speed-up vpColVector::insert(), vpMatrix::insert() and vpMatrix::stack()
. Refactor model-based tracker (+ some segfault / memory fixes)
. Introduce vpMbGenericTracker a new class that can handle all the features
supported by the model-based tracker but also consider stereo or multi-view
tracking
. Add model-based depth tracking using face normals or using a dense approach
. Use BLAS library to compute dgemm and dgemv operations if available
. Add Hadamard product
. Add an explicit recopy parameter when resizing a vpArray2D
. Add move constructor / assignment operator for vpMatrix, vpColVector and vpImage
. Introduce vpPylonGrabber a wrapper for Basler cameras using Pylon SDK
. Introduce AprilTag as a 3rd party and vpDetectorAprilTag wrapper
. Remove ffmpeg 3rd party usage
. Introduce AppVeyor check for continuous integration (MSVC + mingw-w64)
. Fix slow acquisition of color pointcloud with RealSense camera
. Improve vpIoTools to make recursive folder and sort files
. Add display of polygon lines (vpDisplay::displayLine() /
vpDisplay::displayDotLine())
. Add CPU capabilities check
. Improve VISP_INPUT_IMAGE_PATH env var usage to get more flexibility
. Update ViSP license to GPLv2 or later
. Introduce new imgproc module dedicated to image processing and tutorials
. Add UDP client / server
. Add compat with Intel Compiler icc
. Add new class vpRealSense2 to support Realsense 2 SDK
. Add Franka Control Interface C++ API detection and native examples from Franka
- Tutorials
. New tutorial: How to extend ViSP creating a new contrib module
. New tutorial: AprilTag marker detection on iOS
. New tutorial: Installation from source for Windows with Visual C++ 2017 (vc15)
. New tutorial: Installation from source for UWP with Visual C++ 2017 (vc15)
. New tutorial: How to import a CMake project that uses ViSP in Eclipse IDE
. New tutorial: Brightness and contrast adjustment
. New tutorial: Contrast and image sharpening techniques
. New tutorial: Automatic thresholding
. New tutorial: Contours extraction from a binary image
. New tutorial: Connected-components labeling
. New tutorial: Flood fill algorithm
. New tutorial: Practical example: count the number of coins in an image
. New tutorial: Markerless generic model-based tracking
. New tutorial: AprilTag marker detection
. New tutorial: Markerless model-based tracker CAD model editor - GSoC 2017 project
- Bug fixed
. [#137] Fix bug in extration of vpRotationMatrix from vpPoseVector using
vpPoseVector::getRotationMatrix()
. [#149] Bug in vpTime::measureTimeMicros() (OS detection was done wrong)
. [#160] Build issue with msvc around std::min() std::max()
. [#162] Redefinition errors in WinSock2.h and winsock.h
. [#165] Segmentation fault when cout a null row vector
. [#171] Segfault when using vpMatrix::pseudoInverse()
. [#175] Unable to track an ellipse with vpMeEllipse
. [#177] Bug in line 124 of VISPConfig.cmake
. [#178] Comments are not handled in vpMbTracker::initFromPoints()
. [#183] Inversion between pixel size and optical center in vpRealSense class
. [#187] Integer division by zero in vpDisplayWin32.cpp
. [#200] Issue when reading PNG images with 16bits depth with libpng
. [#201] Fix read PNG images with 16 bits depth with libpng
. [#207] CMake option 'ACTIVATE_DEBUG_TRACE' has never been used
. [#226] Planar pose Lagrange computation returns a left handed frame
----------------------------------------------
ViSP 3.0.1 (released February 3rd, 2017)
- New features
. Compatibility with Microsoft Visual C++ 2017 (MSCV 15)
. Compatibility with Universal Windows Platform (UWP); Windows Phone
and Windows Store 8.x and 10.0
. Add vpMatrix, vpColVector, vpTranslationVector missing member functions
to keep compat with ViSP 2.10.0
. New vpFlyCaptureGrabber class to capture images from PointGrey
cameras (USB-3, firewire, GigE)
. New vpVirtuose class, a wrapper over Haption Virtuose SDK that is
provided with their haptic devices
. New vpComedi and vpForceTorqueAtiSensor classes to get synchonous
data from ATI F/T sensors
. New vpRealSense class, a wrapper over RealSense SDK to capture
data from SR300, F200, R200 RGB-depth sensors:
+ Acquisition of the color / depth / infrared streams + the associated
point cloud
+ Possibility to set the stream parameters (resolution, FPS, ...)
+ Possibility to retrieve stream aligned (e.g. color stream aligned to depth)
. New cross platform multi-threading capabilities with vpMutex and
vpThread classes
. Crosscompiling capabilities tested for Raspberry Pi target
. Crosscompiling capabilities tested for Nao, Romeo and Pepper robots
. OSX/iOS framework creation with support of OpenCV 3rd party
. Introduce SSE2, SSE3 and SSSE3 optimizations
. New meta-header visp3/visp.h that allows to include all ViSP headers
in one line
. New meta-header visp3/visp_<module>.h that allows to include all the
headers of a given module in one line
. When using cxx11 support (USE_CPP11=ON), the corresponding compiler
flag is propagated to the project that use ViSP as 3rd party
. In vpServo introduce setCameraDoF() that allows to turn off the usage
of some dof
. Model-based tracker:
+ Introduce stereo as well as more generic multi camera tracking capabilities
+ New classes vpMbEdgeMultiTracker, vpMbKltMultiTracker, and
vpMbEdgeKltMultiTracker for the hybrid version
. Set vpRGBa images alpha channel default value to 255
. Allow to resize the display in order to display image that are larger than
the screen resolution
. Introduce new CMake ENABLE_FULL_DOC var: when turned ON allows to build
doxygen documentation with all classes including internal ones
. Build information available in ViSP-third-party.txt is now more
complete, including OS, compiler, flags and 3rd party versions.
This information is also embedded in visp_core library and could
be obtained using vpIoTools::getBuildInformation()
. Improve RANSAC pose estimation computation time (noticeable with large data)
. vpKeyPoint class:
+ Support for little / big endian architecture when writing learning data
into binary file
+ Add possibility to learn keypoints on cylinders
+ Add support of the new keypoint methods in OpenCV 3.1 and 3.2
+ Add possibility to use enum type to select the keypoint
. Add possibility to save extra information (time, reprojection error, ...)
for the camera calibration process (e.g. in camera_calibration.cpp)
. Improve image morphology operations for grayscale images
. Add optimized image addition / subtraction for grayscale images
. Add possibility to load recursive CAO model with identical filenames
. Add possibility to retrieve clipped polygons for the model-based tracker
. Improve vpPolygon::isInside() computation time
. Add separable filter and switch between correlation / convolution in vpImageFilter
. Add possibility to print vpImage class in the terminal
. Add basic image resizing (nearest neighbor / bilinear / bicubic interpolation)
- Tutorials
. New tutorial: How to use multi-threading capabilities
. New tutorial: Crosscompilation for Raspberry Pi from Ubuntu host
. New tutorial: Installation from prebuilt packages for Arch Linux
. New tutorial: Installation from prebuilt packages for ROS
. New tutorial: Installation from prebuilt packages for iOS devices
. New tutorial: Installation from source for iOS devices
. New tutorial: How to create a basic iOS application that uses ViSP
. New tutorial: Image processing on iOS
. New tutorial: Cross-compilation for NAOqi OS from Ubuntu host
. New tutorial: How to create an application that uses ViSP on NAOqi OS
. New Tutorial: Markerless model-based tracking with stereo cameras
. New Tutorial: How to display an image
. New Tutorial: Pose estimation from QRcode
. New Tutorial: Installation from source for Universal Windows Platform (UWP)
- Bug fixed
. [#37] How to build for ios? build failed
. [#38] Wrong urls in visp/doc/tutorial-calibration.doc
. [#39] Meta header files visp_<module>.h not installed
. [#40] vpKeyPoint fails to R/W database on big endian arch
. [#42] Fails to build on Fedora 23 with Coin3-devel
. [#44] Reshape issue with vpRowVector or vpColVector
. [#47] Build issue in vpMath.h around vpMath::sign()
. [#48] Fix vpPoseVector::getThetaUVector() to return the adequate vector
. [#54] Error in vpHomography::projection()
. [#59] Unable to use visp-config or visp-config.bat to build a project
without CMake
. [#68] Visual C++ 2010 unable to build modules\core\test\math\testMath.cpp
. [#69] Unable to build ViSP under Windows without OpenCV 3rdparty
. [#75] visp.pc pkgconfig file is corrupted by optimized and debug keywords
. [#77] vpAROgre: wrong resources / plugins default path when used from
ROS installation
. [#82] Problem when comparing two vpImage (operator!=)
. [#84] Problem with vpImageMorphology and CONNEXITY_8 and with border pixels
. [#90] Fix potential build issue with isnan() and isinf() usage when cxx11
flags are used
. [#91] vpMeLine::computeRhoTheta should throw exception
. [#92] Is there any interface to resize display window?
. [#95] setEllipsoidBadPointsPercentage in vpDot2 not completly being taken
into account
. [#104] vpMomentAlpha: Results are not repeatable
. [#105] vpMomentAlpha: Question about symmetric judgement based on centered
moments
. [#106] Freeze when more than one GDI display is opened with mingw
. [#109] Link errors with undefined reference to TIFF
. [#111] vpColor doesn't work in mb-hybrid
. [#112] vpPose: Possible ambiguity or misunderstanding in doxygen message
. [#114] vpMomentAlpha: wrong abs() function using
. [#116] Link errors related to openmp
. [#117] vpMomentAlpha: out of range of [-Pi, Pi] in relative mode
. [#118] vpKeyPoint: perhaps misleading in document
. [#120] Build failed with clang/llvm
. [#126] vpPolygon::operator=() does not copy everything.
----------------------------------------------
ViSP 3.0.0 (released December 18th, 2015)
- New features
. Compatibility with Windows 8.1 and 10
. Compatibility with Microsoft Visual C++ 2015 (MSCV 14)
. Compatibility with Odroid XU4
. Source code migrates to GitHub: http://github.com/lagadic/visp
. Introduce Travis continuous integration
. New website: https://visp.inria.fr
. Reorganize source in modules (core, vision, mbt, tt, …) with a library
per module named libvisp_<module>. Keep compat with previous releases.
. Allow to link contributions to ViSP source code using
VISP_CONTRIB_MODULES_PATH CMake var;
see http://github.com/lagadic/visp_contrib
. Model-based tracker:
+ New visibility tests based on the scanline rendering algorithm.
+ Improve Ogre3D visibility tests in order to use it in a probalistic
approach via the setNbRayCastingAttemptsForVisibility()
and setGoodNbRayCastingAttemptsRatio() functions.
+ Introduction of cylinder tracking with the model-based trackers using
key points.
+ Improve the setPose() functionnality to use the given pose as a
prediction of the key points position while using vpMbKltTracker and
vpMbEdgeKltTracker.
. Introduce vpArray2D template class that is inherited by all matrices and
vectors.
. vpKeyPoint class:
+ Full code compatibility with OpenCV 3.0.
+ Add support to the new Features introduce in OpenCV 3.0 and contrib
module releases.
+ Add possibility to detect keypoints on an image pyramid with OpenCV 3.0.
+ Add possibility to change the image type (jpeg, png, ppm, pgm) when
saving a learning file.
+ Add OpenMP support for Affine SIFT.
+ Add single matching filter (discard pairs of keypoints where multiple
query keypoints are matched to the same train keypoints).
+ Add possibility to match train keypoints to query keypoints (could be
useful when we learn only on one image, it allows to avoid to match
background keypoints with train keypoints).
+ Optimize the FLANN matching by learning once the train descriptors
instead of doing it at each call of the matching function (noticeable
with large train descriptors).
+ Add possibility to use the FLANN matcher with binary descriptors.
+ Fix displayMatching function and fix small memory leak in loadLearningData.
+ Should be possible to read / write learning files in binary mode regardless
of the endianness of the host (need to be tested on a real case).
+ Save learning files in XML mode with the full precision (according to
the data type).
. and a lot of improvements and fixes
- Tutorials
. New tutorial: Bridge over OpenCV
. New tutorial: Installation from source with Homebrew
. New tutorial: Installation from source on Windows 10 with Visual 2015
. Update all the installation tutorials since GitHub migration and modules
introduction and make more explicit 3rd party installation
. Update tutorial: Markerless 3D model-based tracking
- Bug fixed
. [18748] Ogre and wireframe resources not found after ViSP installation
. [18823] vpMatrix::kernel method returns false result if matrix has
less rows than columns
. [18939] vpParseArgv::ARGV_CONSTANT segfault
. [19312] Model-based tracker unable to initialize the number of cylinder
or circle from cao file
. [19326] segfault when using vpDisplayX::init(unsigned int, unsigned int, ...)
. [19368] Invalid rotation parameters in vpSimulatorViper850::getPosition()
. [#3] Issue when comparing two vpRGBa
. [#5] Unable to get calibration matrix K when model with distortion is
used
. [#6] Issue with vpMath::round()
. [#18] Issues with vpColVector::median() + with assignment operator of
vpRowVector + with vpRowVector::normalize() function
----------------------------------------------
ViSP 2.10.0 (released February 13th, 2015)
- New features
. New object detection and localisation capabilities that allow to
initialize for instance the model-based tracker (see tutorial).
. New bar code detectors that uses libdmtx and libzbar (see tutorial):
+ vpDetectorQRcode class allows to detect QR codes
+ vpDetectorDataMatrixCode class allows to detect data matrices
. New vpDetectorFace class that allows face detection based on OpenCV
Haar cascade classifier capabilities (see tutorial)
. New vpConvert class for type conversions from OpenCV to ViSP.
. Model-based tracker:
+ Introduction of 3D circles that project as ellipses.
+ In *.cao files comments are allowed on lines starting with # character.
+ New functions getError() and getRobustWeights() useful to compute
tracking quality indicators.
+ Introduction of setLod() for "level of detail" that checks if the size
of the feature is large enough to be considered by the tracker.
+ Based on the rank of the interaction matrix turn off automatically the
degrees of freedom that cannot be estimated. Especially useful when
considering 3D objets with only cylinders and circles.
+ and many other improvements and fixes.
. Video reader and writer support mpeg4. ffmpeg is no more requested
in vpVideoReader and vpVideoWriter. If ffmpeg is not detected or installed
we use OpenCV.
. New vpXmlParserHomogeneousMatrix class to read/write homogeneous
transformations from/to xml files
. Auto detection of visp-images-data Debian or Ubuntu package that allows
testing without setting VISP_INPUT_IMAGE_PATH
. If OpenCV version >= 2.4.8 use only OpenCV C++ api. Classes that use
IplImages as input are deprecated.
. Compat with RaspberryPi architecture
. Compat with OpenCV 3.x
. Compat with Yarp 2.3.63
. Compat with CMake 3.x
. Compat with MinGW w64 from http://mingw-w64.sourceforge.net/
- Tutorials
. New tutorial to show how to install ViSP from Ubuntu official packages.
. New tutorial to show how to install ViSP on CentOS.
. New tutorial to show how to install ViSP on openSUSE.
. New tutorial to show how to install ViSP on Raspberry Pi.
. New tutorial to show how to install ViSP on Windows 8.1 with msvc.
. New tutorial to show how to install ViSP on Windows 8.1 with mingw.
. New keypoints matching tutorial.
. New bar code detection tutorial.
. New face detection tutorial.
. New object detection and localization tutorial
. Update KLT tracker tutorial to show how to initialize the tracker online.
. Update blob tracker tutorial to show how to use v4l2 live camera.
. Update model-based tracking tutorial for advanced usage.
- Bug fixed
. [17112] Error after second call to track() in vpMbEdgeTracker
. [17212] vp1394TwoGrabber: unable to select a camera from its guid
. [17457] Cannot apply a secondary task to a 7dof robot
. [17550] Build error with ffmpeg libraries
. [17620] vpXmlParserCamera::save() doesn't save the camera name and
image size
. [17644] vpDisplayX doesn't work on RaspberryPi
. [17659] ViSP+Ogre3D+boost: libboost_chrono cannot be opened
. [17705] Bad endianness support in vpDisplayX
. [17766] Compat with cmake 3.0.0: failed due to new CMP0026 policy
. [17972] Ogre examples are not working with Fedora 20
. [17983] Unable to build ViSP when an older version was previously
installed
. [18258] Stack overflow when using vpDot under Windows
. [16895] undefined reference to `vpGaussRand::gaussianDraw()'
. [18406] Infinite loop in `vpPose::poseRansac()'
. [18446] Bad KLT points detection in vpMbKtlTracker and vpMbEdgeKltTracker.
. [18451] Infinite loop in vpSimulatorViper850::stopMotion()
. [18452] Empty filename check in vpImageIo, vpVideoReader, vpVideoWriter is erroneous
. [18459] Error when initializing KLT related trackers but no key point is deteted.
. [18471] Bad fov computation in vpCameraParameters.
. [18550] Linking error with Homebrew install of OpenCV on MacOS
----------------------------------------------
ViSP 2.9.0 (released February 18th, 2014)
- New features
. Introduction of a new template tracker using SSD (vpTemplateTrackerSSD
classes) or ZNCC (vpTemplateTrackerZNCC classes). These trackers are able
to estimate 2D transformations such as translation, SRT (scale, rotation
and translation), affine and homography. A video
illustrating this tracker capabilities is available on:
http://team.inria.fr/lagadic/visp/computer-vision.html
. In vpServo introduction of a new controller able to ensure continuous
sequencing
- Improvements
. Add missing const to member functions and arguments passed by reference.
. Introduction of a new option BUILD_WITH_STATIC_CRT that allows to set
/MT (default) or /MD msvc build option
. Compatibility with mingw, msvc11 (2012), msvc12 (2013)
and open solaris 11
. Trace and debug can now be enabled/disabled using CMake
ACTIVATE_DEBUG_TRACE option
. Fix errors detected by Covery Scan static code analyser
. Fix warnings detected with Gnu g++ -Weffc++ -Wshadow compiler flags
. Improve a lot of classes
- New examples
. New example that shows how to use the template tracker
. A lot of new sample code provided in tutorial folder
- New tutorials
. Installation from source on Linux Fedora
. Image filtering
. Template tracking
. Homography estimation from points
. Keypoint matching
. How to boost your visual servo control law
. Debug and trace printings
- Bug fixed
. [16263] libopencv_nonfree for Surf not detected by CMake.
. [16307] vpVideoReader::setLastFrameIndex() doesn't work.
. [16371] No convergence in SVDcmp
. [16465] FTBFS on armhf, ppc, s390: Errors while running CTest
. [16696] Build with OpenCV fails with msvc (/MT conflicts with /MD)
. [16781] Unable to open .pgm saved with Matlab imwrite
. [16823] Problems with camera calibration code
. [16889] Link error with CMU 1394 on win x64 arch
. [16895] undefined reference to `vpGaussRand::gaussianDraw()'
. [16919] Unable to link with OpenCV 2.4.8 under Windows
. [16924] MinGW: unable to build ViSP as a shared library
. [16928] vpVideoReader is unable to find the number of the first image
from a generic sequence of images
----------------------------------------------
ViSP 2.8.0 (released July 24th, 2013)
- New features
. New camera calibration tool: example/camera_calibration.cpp
- Improvements
. vpV4l2Grabber and vp1394CMUGrabber does no more require a call to
open(I).
. In vp1394CMUGrabber new getters/setters for the framerate, shutter, gain.
It is now possible to change the settings in the acquisition loop.
. An exceptions is throwned when moving-edges are not initialized
(vpMeTracker, vpMeLine, vpMeEllipse)
. In model-based trackers, improve face visibility test using Ogre ray
tracing when faces are concave or not oriented counter clockwise.
. Still in model-based trackers, add functionalities to use clipping planes.
. ViSP can now be used with pkg-config
. New functions in vp1394TwoGrabber to turn auto shutter and auto gain
on. Also new getter for auto shutter and auto gain min/max values.
. Support Visual Studio 2012 (MSVC11)
. Introduce C++ visibility support as described here
http://gcc.gnu.org/wiki/Visibility
. Better support of image formats: *.tiff, *.jpeg, *.bmp, *.pbm, ...
- Examples
. Introduction of tutorials as minimalist line by line illustrated examples.
- Bug fixed
. [15404] Segfault in vpMbTracker derived classes around Coin SoDB::init()
and SoDB::finish() usage
. [15410] Robot wireframe simulator hangs
. [15422] Build issues with ffmpeg 1.0.1 third party
. [15475] Segfault in cv::Mat(BGR) to vpImage(grey) conversion
. [15522] Visibility tests issues in Model-Based Tracker using Ogre3D
. [15566] Bad mask orientation when using model-based tracker with
cylinders
. [15587] visp-config conflicts with multiarch support on Debian
. [15623] Possible ViSP-2.7.0 bugs detected by cppcheck
. [15644] crash with vpRobotWireFrameSimulator::initScene()
. [15679] vpDot and vpDot2 copy operator are incomplete
. [15680] Bad pixel to meter conversion in vpFeatureLuminance
. [15697] False positive exception in vpDisplay when vpDisplay::close()
is used
. [15730] ViSP-third-party.txt is installed in a wrong location
. [15896] Ogre Boost components miss Boost.Filesystem
. [15895] ViSP does not compile on FreeBSD (amd64 / i386)
----------------------------------------------
ViSP 2.7.0 (released February 11th, 2013)
- New features
- New vpViper650 and vpRobotViper650 classes to interface Inria's new
Adept Viper s650 robot.
- New robot simulators; vpSimulatorCamera, vpSimulatorPioneer,
vpSimulatorPioneerPan
- New model-based tracker using KLT points: vpMbKltTracker.
- New hybrid model-based tracker using moving edges and KLT points:
vpMbEdgeKltTracker
- Improvements
- Add visp-config.1 man page.
- To respect Debian guidelines, remove duplicate ABI version.
Library name was set to libvisp.a or libvisp.so.2.7.0 rather than
libvisp-2.a or libvisp-2.so.2.7.0
- Fix typos detected by lintian
- Add support for multiarch. Multiarch is the ability for a library
to be installed concurrently for differents architectures (such as
i386 and amd64 for instance). In practice, the changes removes the
assumption made that libraries are installed in $INSTALL_PREFIX/lib and
binaries in $INSTALL_PREFIX/bin.
- In vp1394TwoGrabber that allows to grab images from firewire cameras,
cameras are powered off when the grabber is closed.
- MinGW is now supported but since MinGW currently doesn't support tls
__declspec(thread) with vpDisplayGDI it is possible to open only
one display.
- To better organise the code, robot simulators inherit from
vpRobotSimulator class. Introduction of a new vpRobotWireFrameSimulator
class as a base class of robot simulated using the wireframe display
capabilities.
- VRML loader (based on Coin3D) now reads transform nodes and hierarchical
scenes.
- If Ogre3D is used, model-based trackers use now RayCasting to improve
faces visibility test.
- Compatibility with iOS 6 and Fedora 18
- Examples
- New model-based tracker examples to show how to use the KLT and hybrid
tracker. See in example/tracking mbtEdgeKltTracking.cpp and
mbtKltTracking.cpp
- Bug fixed