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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505
|
ViSP
Visual Servoing Platform
Resume of the change log
Copyright (C) 2005 - 2023 by Inria. All rights reserved.
https://visp.inria.fr
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
- [14646] ViSP doesn't build on Windows with MinGW
- [14651] Build error around 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 standard.
- 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 with 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 positioning
- [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
- [6743] Bug in vpDisplayOpenCV::displayRectangle()
- [6744] Bug in vpDisplayOpenCV
- [6962] vpMeLine : problem of tracking
- [7034] vpMeLine : Bug when a strip is tracked
- [7126] problem with vpMatrix::eigenValuesByLU()
----------------------------------------------
ViSP 2.4.2 (released March 27th, 2008)
- New classes
- vpCalibration : calibration toolkit for intrinsic and
extrinsic parameters of perspective camera.
- vpXmlParserCamera : Parser xml to read and save camera parameters
from vpCameraParameters class.
- vpHinkley : Hinkley's cumulative sum test computation.
- vpMePath : Tracking of a white curve by using line and parabola
tracker.
- vpKeyboard : Gets a key from the keyboard without waiting for the
enter key.
- vpParallelPort : Parallel port management under unix.
- vpRingLight : Irisa's ring light controller.
- vpKltOpencv : Interface for the KLT (Kanade-Lucas-Tomasi) feature
tracker implemented with opencv.
- New Features
- Bug fix and improvement
- vpCameraParameters : support for radial distortion camera model.
- vpAfma6 : Add a getCameraParameters functionnality
- vpSimulator : either SoWin or SoQt or SoXt is needed to use
vpSimulator class.
- vpDot: setMaxDotSize(double percentage) replace
setNbMaxPoint(double nb) to be less image size dependent.
The maximal dot size is set by default to 0.25% (quarter image size).
setGrayLevelPrecision(double grayLevelPrecision) has been
added for a better management of gray dots detection.
- vpDot2:
Changes in searchDotsInArea() :
The algorithm search now in the bounding boxes of the bad dots.
Bug fixed : we could fall in an infinite loop.
Split accuracy private variable into grayLevelPrecision and
sizePrecision. The gray level min and max are well calculated for
white and black dots.
Add setEllipsoidShapePrecision() to turn on/off and modify the test
related of the geometry of the shape
- vpDisplayX : better management of endianness
- vpDisplayGTK, vpDisplayGDI, vpDisplayD3D, vpDisplayX :
To actually display drawings on the screen, a vpDisplay::flush(I) is
needed. Use it with parsimony : it is time consuming.
- vpDisplayGTK, vpDisplayGDI, vpDisplayD3D :
The behavior of the following methods change to be similar
to vpDisplayX:
. getClick(..., button) : The button used to click is now an output
. getClickUp(..., button) : The button used to click is now an output
Moreover, in vpDisplayGDI, vpDisplayD3D middle button is now managed
- vpDisplayGTK, vpDisplayGDI, vpDisplayD3D :
The usage of display->init(vpImage, int, int); returned a
segmentation fault : bug fixed
- vpDisplayD3D : we couldn't re-use a display after the call of the
function close(vpImage). We had a black image : bug fixed.
- vpDisplay : changes in displayRectangle():an option parameter
fill has been had to precise if the displayed rectangle is filled
or not.
- vpColor : Add orange color.
- vpServo : To fix bug #3528 you should explicitly call vpServo::kill()
in your programs. Otherwise an exception
vpServoException::notKilledProperly is launched by
vpServo::~vpServo() destructor.
- vpMatrix : Change Infinity Norm and Euclidean Norm formula to match with
the standard matrix norms definitions.
Change determinant formula for 3x3 matrices to match with
the standard determinant definition.
- vpImageConvert :
Add IplImage to vpImage and vpImage to IplImage conversion tool.
Add MONO16 to grey (MONO8) conversion tool.
- vp1394TwoGrabber :
Supports libdc1394-2.0.0-rc7 and libdc1394-2.0.1
MONO16 color coding is supported
- Testing and examples:
- example/calibration/calibrate2dGrid.cpp was added
- example/tracking/trackKltOpencv.cpp was added
- example/light/ringLight.cpp was added
- example/tools/parallelPort.cpp was added
- test/video-device/testClick.cpp was added
- test/video-device/testVideoDevice.cpp was added
- test/visual-feature/testFeature.cpp was added
- test/image/testCreateSubImage.cpp was added
- test/camera/testCameraParametersConversion.cpp was added
- Documentation improvement
- vpRobust::MEstimator()
- vpRobotAfma6: example usage of getPosition() was updated
- vpDisplayGDI is included in the doxygen documentation
----------------------------------------------
ViSP 2.4.1 (released May 16th, 2007)
- New classes
- vpRect class for rectangle manipulations, display
- vpHistogram,vpHistogramPeak and vpHistogramValey classes to
handle gray level image histogram
- vpSubPixel for sub-pixel manipulations
- vpMouseButton for mouse click identification
- New Features
- MinGW supported
- ViSP as a third party library in an other project.
It is now possible to use ViSP as a third party project without
installing ViSP by make install. ViSP can now be used
directly from the build dir, or from the install dir, or
from a package (NSIS, ...)
- vpRobotCamera It is now possible to add a sampling time so that
the behavior of this simulated camera is quite realistic. This
sampling time is set by default to 40 ms.
- vpExponentialMap A sampling time was introduced.
- Bug fix and improvement
- vpImage: getWidth() and getHeight() replace getCols() and getRows()
which are now obsolete.
- More restrictive types in vpImage, vpDisplay..., and vp...Grabber
classes: const are added, unsigned int replace int for pixel
manipulations and image or display size.
- In vpDisplay classes:
. vpMouseButton::vpMouseButtonType was introduced to handle
mouse clicks
. vpColor::vpColorType was introduced to handle colors to display
- Simulator functionality based on Coin usage is now available
under windows. It allows the use of vpSimulator class under this
platform.
- Compatibility with Windows platform.
- Reference documentation improvement
- cfox and std namespace were removed. To use cout you need to call
std::cout, std::endl, std::cin ...
----------------------------------------------
ViSP 2.4.0 (released February 6th, 2007)
- New Feature
- add new framegrabber interface for itifg8 driver from Coreco
Imaging Technology (http://sourceforge.net/projects/itifg)
Tested with AM-STD COMP framegrabber board on 2.4 and 2.6
linux kernel (see vpItifg8Grabber).
- add new framegrabber interface and test for firewire 1394
cameras using libdc1394-2.x. Need a newer version than
libdc1394-2.0.0-rc4.
Tested with the svn version of libdc1394-2 and Marlin F033C and
F131B cameras (see vp1394TwoGrabber). Format 7 is supported
in vp1394TwoGrabber.
vp1394Grabber will be obsolete soon.
- Bug fix and improvement
- tests and examples
- Video For Linux Two grabber (see vpV4l2Grabber)
- memory leaks suppression
- works fully under windows
- doxygen documentation
----------------------------------------------
ViSP 2.2.0 (released August 25th, 2006)
- Build
- To increase the code portability, especially under windows),
all the build process is now based on CMake
(see http://www.cmake.org).
- Supported platforms:
Linux, Mac OSX, SunOS: g++ 2.95.3, 2.96, 3.3.x, 3.4.x, 4.1.0)
Windows: MSVC7 (2003.NET), MSVC8 (2005)
- Suppression of autotools support (configure)
- Allows shared library building (.so and .dll)
- New Feature
- add control for Traclabs biclops pan-tilt head
- add control for Directed Perception ptu-46 pan-tilt head
- add vpDisplayGTK display under Windows
- add vpDirectShowGrabber framegrabber under Windows
- add vpDisplayGDI display under windows
- Bug fix and improvement
- vp1394Grabber settings (format, mode, framerate, shutter, gain)
- vpDot (Moment computation)
- some fixes in vpDisplayGTK
----------------------------------------------
ViSP 2.1.1 (released January 6th, 2006)
- New examples
- create an example directory
- add vpDotExample.cpp
- add vpDot2Example.cpp
- add vpPoseExample.cpp
- add 2D0.5.VisualServoingSimulation.cpp
- New Feature
- add this ChangleLog file
- add a vpDisplayGTK class with the GTK2+ window system
- new member function in vpDisplay (_uv)
- add function getInteractionMatrix() in vpGenericFeature
- Specification modifications
- change the vpDot and vpDot2 specifications
- supress demo directory
- Bug fix and improvement
- add a runtime warning when vpGenericFeature is not correctly used
- comment in english in vpDisplayX
- suppress a trace in vpPoseVirtualVisualServoing.cpp
- directory.mk : add -p option to mkdir
- improve XP compatibility
- in vp1394Grabber, latency and memory leaks suppression
- WWW
- add an image sequence to download on the www site cube.tar.gz
---------------------------------------
ViSP 2.1.0 (released October, 24th 2005)
|