forked from lagadic/visp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
1199 lines (1179 loc) · 64 KB
/
ChangeLog
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 - 2019 by Inria. All rights reserved.
https://visp.inria.fr
ViSP 3.2.1 (under work)
- Contributors:
- New features
. 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
. New vpQbDevice and vpQbSoftHand classes and examples to control qbrobotics devices
- Tutorials
- Bug fixed
. [#523] dpkg-shlibdeps produces an error during Debian packaging
. [#525] Tests are failing during Debian package build in a container
----------------------------------------------
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 arround 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: http://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 distorsion 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 fonctions 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
- [14646] ViSP doesn't build on Windows with MinGW
- [14651] Build error arround vpMatrix::pseudoInverse() with OpenCV 2.1.0
- [14661] Build error when GDI is not detected or turned off
- [14818] Build error when only GTK display device is available
- [14862] Lagrange pose estimation cannot handle planar objects with
points in plane oX=d or oY=d
- [14863] vpPose::poseRansac() can fail during Lagrange pose estimation
- [14993] Segfault in mbtTracker example when only the cube is tracked
- [15049] In vpFeatureSegment, bad interaction matrix associated to
alpha angle
- [15110] Segfault in ffmpeg video reader
- [15291] Under Windows, the end of an image is not displayed
----------------------------------------------
ViSP 2.6.2 (released July 15, 2012)
- New features
- New vp1394CMUGrabber class that allows firewire frame acquisition
under Windows using CMU 1394 Digital Camera 3rd party library.
Thanks to Lucas Lopes Lemos and Guillaume Laurent from FEMTO-ST,
AS2M departement, Besancon, France for this contribution.
- New vpPioneer, vpPioneerPan, vpRobotPioneer classes to control Pioneer
mobile robots using Aria 3rd party library.
- New vpFeatureSegment class to consider a segment as a visual
servoing feature. Normalized and non normalized features are considered.
- New vpFeatureMomentArea class to consider moment area as a visual
feature.
- Introduction of new functionalities in vpIoTools to parse text
config files
- Introduction of YARP to ViSP image converters in vpImageConvert
- New vpClient and vpServer classes for a multiclients TCP network.
- New vpPoseFeatures class for pose computation from any visual features.
To be able to consider other user defined features the compiler should
be compatible with C++ 11 standart.
- Improvements
- Introduce a new Denavit Hartenberg representation of the Biclops head
in vpBiclops.
- Compatibility with g++ 4.7 and OpenCV 2.3.1, 2.4.0, 2.4.1
- Remove warning detected with Visual C++ /Wall flag
- Use CMake native package finder for zlib, png, jpeg, coin3d, gtk2 and
doxygen 3rd party libraries detection. If detection fails, we use our
own package finder.
- Under Windows, changes done to add "d" suffix to the library name when
build in debug (libvisp-2d.lib and libvisp-2d.dll). Install stage
copy libvisp-2[d].lib in $CMAKE_INSTALL_PREFIX/lib and libvisp-2[d].dll
in $CMAKE_INSTALL_PREFIX/bin.
- Use OpenMP to optimize the execution of the moments computation.
- Possibility to compute the covariance matrix during pose estimation
(vpPose and vpPoseFeatures) and model-based tracking (vpMbTracker).
- All initClick() now have a non-blocking equivalent as initFromPoints(),
or initFromPose(), etc.
- Most of the classes that had a display() method now have the equivalent
display in static function (display's externalisation).
- Ransac is now improved for either pose computation or point matching.
- Examples
- New example plot3d.cpp to show how to plot 3D curves
- New example movePioneer.cpp to illustrate Pioneer velocity control.
- New example sonarPioneerReader.cpp to illustrate Pioneer sonar device
usage.
- New examples servoPioneerPoint2DDepth.cpp,
servoPioneerPoint2DDepthWithoutVpServo.cpp and
servoPioneerPanSegment3D.cpp
to show how to control the pioneer mobile robot by IBVS.
- New example grab1394CMU.cpp to show how to acquire images with
the CMU 1394 library.
- Bug fixed
- [13536] Division by zero in vpMeLine
- [13548] ViSP-2.6.1 produces several warnings with g++ 4.4.3, a const
is missing in vpMbtDistanceLine.h
- [13575] ViSP sporadic segmentation fault in vpMeLine
- [13625] trackMeNurbs example produce an assertion failed with MSVC:
"list iterator not incrementable"
- [13626] testXmlParser produre a Debug assertion failed with MSVC
- [13678] Cannot build all the examples if no display capability is
available
- [13679] GDI not detected on Windows 7 (64 bit) with Visual C++ Express
2010
- [13689] Memory leaks in jpeg reader: vpImageIo::readJPEG()
- [13690] Memory leaks in NURBS tracker
- [13843] In vpPolygon, isInside() may produce a segfault and getArea()
or getCenter() give bad results
- [13850] visp-config.bat produces a non compatible msvc 2010 output
format
- [13955] vpBasicFeature::error() is not virtual
- [13963] Under Windows, vpDisplay::getClickUp() doesn't work
- [14081] Error in vpThetaUVector when angles are near 180 deg +/- epsilon
- [14082] Segmentation fault in model based tracking when tracking only
cylinders
- [14474] Fix race condition in vpXmlParser.
- [14481] testFeatureSegment can lead to an exception.
- [14587] Ogre media directory OGRE_MEDIA_DIR not set in Ubuntu 12.04
- [14588] vpConfig.h doesn't match with the install directory
----------------------------------------------
ViSP 2.6.1 (released October 20th, 2011)
- New features
- Introduction of Lapack support used for the SVD decomposition in vpMatrix
- Introduction of vpAROgre that enables augmented reality applications
based on Ogre 3D. Some examples are provided in examples/ogre-simulator
- Add cylinder's tracking in the model-based tracker.
- Reintroduce OpenCV 2.0.0 support lost in ViSP 2.6.0
- Introduction of vpKinect, a wrapper of libfreenect to support the
Kinect device
- Introduction of vpMoment and vpFeatureMoment classes to be able to
consider 2D image moments as visual feature in visual servoing
- Improvements
- For firewire cameras framegrabbing with vp1394TwoGrabber, it is now
possible to select a specific camera with its GUID by using setCamera()
- All the specific Xml parser (vpMbtXmlParser, vpXmlParserCamera)
inherit now from vpXmlParser
- Memory leaks suppression in vpWireFrameSimulator, vpMe, vpXmlParser,
vpMbtXmlParser, vpXmlParserCamera, vpMbTracker, vpFeatureLuminance,
vpRobotSimulator, vpFFMPEG, vpBSpline
- It is now possible to grab images from an usb webcam with the
vpV4l2Grabber class that is based on the video 4 linux 2 driver.
- When it was possible without braking the backward compatibilty
std::list was introduced instead of vpList. Some of the functions that
use vpList are now deprecated.
- Better detection of image or video file types when used in vpImageIo,
vpVideoReader and vpVideoWriter
- Build
- Set the build type by default to release
- Improve the usage of debug versus release third-party libraries
- Deprecated
- vpAdaptativeGain is deprecated. Use vpAdaptiveGain instead.
- vp1394Grabber is deprecated. Use vp1394TwoGrabber instead.
- Most of the methods that use vpList are deprecated. Use std::list instead
- vpTwistMatrix deprecated in ViSP-1.6.0 was removed.
- Examples:
- New example grabOpenCV-2.cpp to show how to use the OpenCV
cv::VideoCapture class. This example shows how to acquire an image
with cv::VideoCapture, how to transform this image in ViSP format
and how to display it.
- New examples to illustrate the usage of the Ogre simulator through
vpAROgre class.
- New example to illustrate the usage of the Kinect through
vpKinect class.
- New examples to illustrate the usage of 2D image moments.
- Bug fixed
- [11110] On OSX vpDisplayOpenCV does not display images since OpenCV 2.1.0
- [11147] Coin not installed, cannot read VRML files
- [11473] vpImageTools::flip() come out error when deal with vpImage
with vpRGBa type
- [11529] ViSP / OpenCV(2.2.0) incompatibility
- [11563] segfault in vpVideoReader
- [11617] selecting a subset of features is not taken into account in
vpServo
- [11916] Build issues with GTK2 on ubuntu 10.10 (fatal error:
gdk-pixbuf/gdk-pixbuf.h)
- [11924] svdNr fails on some matrices where svdGsl succeeds
- [11942] Build issues with GSL on OSX due to 32/64 bits architecture
- [11943] Build issues with libjpeg on OSX due to 32/64 bits architecture
- [11944] Build issues with libpng on OSX due to 32/64 bits architecture
- [11981] vpV4l2Grabber class based on video 4 linux 2 is not able to
grab images from an usb webcam
- [12329] Bad font problem when opening vpPlot example
- [12334] Under windows, link errors when some 3rd party libs are not
build in the same build configuration as ViSP
- [12499] servoSimu4Points: World point disposition does not match camera
- [12591] Seg fault when using setCleanPreviousImage() from
vpImageSimulator
- [12739] Problem initialising a vpMeEllipse
- [13014] Bug in vpCalibration::calibVVSMulti() jacobian
- [13015] vpFFMPEG compatibility issue with ffmpeg-0.8 release
- [13449] "LIBJPEG_BUILD_TEST - Failed" message in CMake for Visual 2010
- [13467] CreateWindow windows API does not correctly register class.
----------------------------------------------
ViSP 2.6.0 (released September 23rd, 2010)
- License:
Change the open source license from QPL to GPL v2
- New Features
- Introduction of a new wireframe simulator. See vpWireFrameSimulator class.
- Introduction of a new model-based tracker that allows to track
an object based on its 3D model. See vpMbEdgeTracker class.
- New vpForceTwistMatrix class that allows to transfer a force/torque skew
from one frame to another.
- New vpVelocityTwistMatrix class that allows to transfer a velocity skew
from one frame to an other. The vpTwistMatrix class that does the same
work previously is from now deprecated.
- New vpRobotCycab class to communicate with the Cycab car-like mobile
robot at Inria.
- New generic vpRobotSimulator class to create robot simulators.
- New vpSimulatorViper850 class which simulates the viper850 robot.
- New vpSimulatorAfma6 class which simulates the Afma 6dof robot.
- New vpPlanarObjectDetector class to detect a planar surface based on
the Ferns Classifier.
- New vpSickLDMRS class, a UNIX driver to get measures from a Sick LD-MRS
laser scanner.
- New vpPlot class that was recoded to suppress the XPlotter dependency.
This class aims real time drawing of 2D or 3D graphics under Linux, OSX
and Windows.
- Third party library dependencies
- OpenCV 1.1 and 2.0 are no more supported. ViSP requires at least
OpenCV 2.1.
- libplotter is no longer required.
- Itifg8 is no longer supported.
- Improvements
- Copy constructors were added to better support stl lists and vectors.
- In firewire framegrabbing using vp1394TwoGrabber based on libdc1394-2.x,
add possibility to change during the execution the shutter, the gain, the
brightness, ... (see documentation for more details)
. new setIsoTransmissionSpeed(), setAutoShutter() methods
- In vpThetaUVector addition of &operator=() method to initialise all the
angles to the same value
- In vpHomogeneousMatrix addition of
. eye() method to set the transformation as identity
. extract(vpThetaUVector &) to extract the rotation as a Theta U vector
- In vpRobotViper850 add openGripper() and closeGripper() functions to
control the Schunk two fingers electric gripper (available only at
Inria).
- In vpRotationVector and vpTranslationVector introduction of set()
method that allows initialization from 3 doubles
- Documentation improvements
- Deprecated
. Some deprecated classes were removed: vpItifg8Grabber,
vpEulerVector, vpSubPixel, vpRA
. Deprecated functions since ViSP 2.4.4 where also removed
- Examples:
- New example calibrateTsai.cpp to show how to use the vpCalibration
class to estimate the hand to eye transformation.
- New examples to illustrate the usage of the new wire-frame simulators
- Bug fixed
- [9476] Memory leak in vpImageIo::readPNG() functions.
- [9505] Problem with the DirectShow grabber : can't be initialised.
- [9516] Problem in the getValue methods in the vpImage class.
- [9746] The displayPoint method of the vpDisplayOpenCV class doesn't work.
- [10472] Bug in the visual features: can't select the good feature.
- [10647] Delay in displaying image overlays
- [10687] The GDI display is not detected with Visual Studio 2010
- [10696] [CMake] VISP_DIR path conflict
- [10697] CMake standard output vars
- [10719] Compilation error in vpPlot
- [10723] Compilation error in vpFFMPEG.cpp
- [10748] PThread and Win32 Conflict
- [10928] vpPlane: rayIntersection from 2 points
- [10985] In vpPlot, 2D curve plotting starts with point (0,0)
and not with the first specified point.
----------------------------------------------
ViSP 2.4.4 (released January 8th, 2010)
- Features removed
- vpMePath has been removed.
----------------------------------------------
ViSP 2.4.4-rc1 (released December 21th, 2009)
- New Features
- During CMake configuration, when a third-party library is detected,
it is now possible to turn off the default usage of the library.
- Warning during the build if deprecated functions are used
- For the Irisa's Afma6 robot addition of a new vacuum tool (vpAfma6).
- New vpImagePoint class for image point coordinates.
- New vpPlot class that enables real time drawing of graphics under Unix.
- Ability to use other colors than the predefined ones with the rewriting
of the vpColor class and modifications in display functionalities.
- New vpKalmanFilter and vpLinearKalmanFilterInstantiation classes with
velocity and acceleration state models.
- New vpFeatureTranslation: ctc*
- New USE_COIN_SIMULATOR option during CMake configuration to enable or
disable simulation capabilities based on Coin3D suite.
- New vpViper, vpViper850 and vpRobotViper850 classes to provide an
interface for Inria's Adept Viper 850 robot.
- New vpBSpline and vpNurbs classes to manipulate 2D BSpline and
2D Nurbs (Non Uniform Rational BSpline).
- New vpMeNurbs class to track object edges.
- New vpFFMPEG class to interface the FFmpeg library.
- New vpVideoReader and vpVideoWriter classes to manipulate easily the
video files and the image sequences.
- Improvements
- In firewire framegrabbing using vp1394TwoGrabber based on libdc1394-2.x,
bus reset can be switched off in the constructor. There are also
improvements in the acquisition using acquire(vpImage<unsigned char> &I,
...) by removing the color coding format request and by support of the
RAW8 and RAW16 video format.
New dequeue() functions were also introduced to make possible to
separate the ring buffer dequeuing and enqueuing. This behavior
is for example useful when image processing needs to be introduced
between the dequeuing and enqueuing stages. It may also useful
to synchronise the image acquisition with an other sensor.
New setPanControl() function was introduced to set the PAN register
0x884 to control single or multiple image transmission from stereo
vision cameras like the PointGrey Bumblebee.
- vpDot2: The tracking is restarted in vpDot2::track() if a dot is found
but is not valid.
- In vpDisplay, new getKeyboardEvent() functionality to handle key
events and new getPointerMotionEvent() functionality to handle mouse
pointer motion event.
- Optimization of the vpMatrix class.
- Examples:
- New examples in examples/servo-viper850 to show how to use the
linear Kalman filter to compensate the tracking error due to the
motion of a target.
- New examples in examples/servo-viper850 to show how to use the
secondary task to avoid joint limits.
- New plotting example in example/tools/plot.cpp
- In grab1394Two.cpp example, addition of [-r] new option to reset the bus.
- New examples to show how to build a 3D visual servoing without using the
vpServo and vpFeature classes:
servoSimu3D_cMcd_CamVelocityWithoutVpServo.cpp
and servoSimu3D_cdMc_CamVelocityWithoutVpServo.cpp
- Bug fixed
- [7638] Memory leak in all vpFeature... classes was reopened
- [7888] vpV4l2Grabber cannot acquire an image from an analog camera
on Ubuntu 8.04 Hardy Heron
- [7994] vpMeLine : initialization problem for horizontal lines
- [8001] Coin and SoQt are not detected during CMake configuration
under Fedora 10
- [8032] Link error whith GSL while compiling HelloWorld.cpp on OSX
- [8225] Bug in the multiplication of a twist matrix (6x6) by a matrix (6xn)
- [8248] Compilation error under Windows MSCV8 if deprecated functions
are not build
- [8249] Compilation error under Windows MSCV8 when building ViSP
as a shared library (DLL)
- [8257] Bug in vp1394TwoGrabber::resetBus()
- [8259] Segfault in vpDisplayX
- [8389] vpKltOpencv : Bug in the copy constructor
- [8493] Problem to build ViSP as a dynamic library under windows
(Visual C++)
- [8495] Segmentation fault during the execution of the example
grabDirectShow
- [8831] Possible bug when extracting axis/angle from theta/u vector
----------------------------------------------
ViSP 2.4.3 (released April 10th, 2009)
- New Features
- Add vpFeaturePointPolar corresponding the a 2D image point with
polar coordinates visual feature.
- Add vpFeatureTranslation for cto (camera to object translation feature)
- Add vpDisplay::setWindowPosition() functionality
- Bug fixed
- [7281] Segfault when displaying a vpCylinder.
- [7308] Rotation vector not initialized to zero by the default constructor
- [7309] visp-config --cflags produces a bad output
- [7342] Bug in vpRobotAfma6::setVelocity(vpRobot::CAMERA_FRAME, v)
- [7494] Division by 0 in vpHomography
- [7424] Coin3D version 3 not supported under Windows
- [7613] vpSimulator::getInternalImage() function yields to an infinite
loop.
- [7607] vpDisplayGTK bad window positionning
- [7638] Memory leak in all vpFeature... classes
----------------------------------------------
ViSP 2.4.3-rc2 (released January 29th, 2009)
- Deprecated
- Creation of a deprecated section in the online documentation that
gives the list of classes or member function that are deprecated
- vpOSXcfoxGrabber was removed, since the C+Fox third party library
available at http://cfox.sourceforge.net/ was not updated since 2005.
- vpIcCompGrabber was removed, since it uses a home made wrapper based
on itifg-7.2.1 driver which is not maintained yet
- Testing
- Use of CDash insteed of Dart2. Dashboards are sent to
http://cdash.irisa.fr/CDash/index.php?project=ViSP
- Platform compatibility
- Compatibility with g++ 4.3.0 coming with fedora 9
- New Features
- Add visp-config.bat under Windows to get the list of include dirs,
library dirs and libraries ViSP depends on. This may help users to
build a Visual Studio project from scratch and where ViSP is used as a
third party project
- vpFeatureThetaU: Add cRcd feature, with ThetaU corresponding to the
rotation the camera has to achieve to move from current frame to the
desired one.
- vpOpenCVGrabber: New framegrabber based on OpenCV third party library
(useful for USB cameras).
- vp1394TwoGrabber: Get the timestamp associated to the grabbed image.
- vpV4l2Grabber: Get the timestamp associated to the grabbed image.
- vpRobotAfma6 and vpAfma6: Modifications to be compatible with the new
low level Adept controller provided by Cerebellum Automation.
- vpRobotAfma4 and vpAfma4: Modifications to be compatible with the new
low level Adept controller provided by Cerebellum Automation. New
vpServolens class to control the Servolens lens attached to the camera
fixed on the Afma4 end-effector.
- Examples:
- New examples in example/manual described in ViSP guide under preparation.
- example/servo-simu/servoSimu3DCamVelocity2.cpp
- Documentation
- Creation of a deprecated section.
- Classes are now grouped in doxygen modules to help learning ViSP.
- Introduction of new sample examples in the online documentation
- Bug fixed
- [5370] DirectShow and Visual Studio 9 2008 Express
- [5371] Warnings on Visual Studio 9 2008
- [5375] Compilation error in calibrate2dGrid.cpp
- [5398] display cylinder
- [5438] window sizes with Coin
- [5496] Compilation error in example/framegrabber/grab1394.cpp
- [5508] Bug in vpImageConvert::YUV420ToRGB
- [5527] Bug in vpImageTools::changeLUT()
- [5539] Unhandle exception with multi vpDisplayGDI / D3D instances
- [5596] Multiplying a vpRotationMatrix with a vpColVector ?
- [5642] warning in vphomographyvvs.cpp with Visual C++ 2003 .Net
- [5993] vpImage BI
- [6330] Segfault in vpSimulator with Coin + SoXt
- [6336] DLT Homography on 4 points
- [6484] Bug in vpCalibration::calibrationTsai for eye-to-hand calibration
- [6590] vpDisplayGDI cannot handle numerous displays (windows)
- [6619] Problem vpMeLine : compute of delta