Compare commits
114 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4fa8bec7d4 | ||
|
|
ecdc817a11 | ||
|
|
67078d69c5 | ||
|
|
1744826e8f | ||
|
|
97eb323bf3 | ||
|
|
68e06e4335 | ||
|
|
7071864eb7 | ||
|
|
74a0a1eb85 | ||
|
|
8af42ee597 | ||
|
|
6ecbe85ae4 | ||
|
|
da23dce1c9 | ||
|
|
a3f6c1fd9f | ||
|
|
0f546e55fb | ||
|
|
80b6bc599b | ||
|
|
df7cb0a26c | ||
|
|
7f1926ef29 | ||
|
|
d76903f1cd | ||
|
|
a30b4e285b | ||
|
|
2a613dcbe0 | ||
|
|
32adc34451 | ||
|
|
e92994064c | ||
|
|
ed2398fedc | ||
|
|
5e105b424a | ||
|
|
75631fa7d7 | ||
|
|
3d29e62ccf | ||
|
|
0ac8d7bc16 | ||
|
|
2482ff5bf6 | ||
|
|
53780f5a33 | ||
|
|
8ae150b516 | ||
|
|
1499a9fc11 | ||
|
|
0d40f5ac27 | ||
|
|
97be6807ab | ||
|
|
9f83e83cb6 | ||
|
|
4afa3fd311 | ||
|
|
a7be1c47cd | ||
|
|
a04da7dafa | ||
|
|
5ecd4be222 | ||
|
|
c66a54247f | ||
|
|
571f897329 | ||
|
|
603e5f029e | ||
|
|
92e973f563 | ||
|
|
438fa5ede5 | ||
|
|
00b16113ca | ||
|
|
24e381dbb0 | ||
|
|
18a33d866d | ||
|
|
b1f8ad33de | ||
|
|
9fc8454b15 | ||
|
|
902d144f67 | ||
|
|
0a22e71659 | ||
|
|
559fad55b3 | ||
|
|
8679e89cb6 | ||
|
|
b1b34b3ece | ||
|
|
7e3faa0134 | ||
|
|
1893ef382a | ||
|
|
a0386f3e11 | ||
|
|
803d2e93b5 | ||
|
|
f530f94472 | ||
|
|
9455ed8a0f | ||
|
|
50509d539e | ||
|
|
dd839a3cfd | ||
|
|
593abc1b3d | ||
|
|
47471ed2ea | ||
|
|
baa7243792 | ||
|
|
615fe74965 | ||
|
|
29a9895969 | ||
|
|
140b4aec18 | ||
|
|
559b1e4d80 | ||
|
|
c6525cca31 | ||
|
|
5bcf9ecf1f | ||
|
|
35d91c25b9 | ||
|
|
425af10e1f | ||
|
|
7baf7ba744 | ||
|
|
4e6d0e5d99 | ||
|
|
96e4fdc8fc | ||
|
|
76c7336007 | ||
|
|
9541dfcd35 | ||
|
|
ba1874435a | ||
|
|
7bd34d5cef | ||
|
|
4a250f5ab5 | ||
|
|
d041f22d7e | ||
|
|
acbd3eff4c | ||
|
|
841de6ea77 | ||
|
|
190d066ddf | ||
|
|
af72213f50 | ||
|
|
37b98e0d33 | ||
|
|
acabe04a92 | ||
|
|
2260f5c582 | ||
|
|
1cda60d137 | ||
|
|
de6dc0d712 | ||
|
|
404d74b0b7 | ||
|
|
a2f24aa62f | ||
|
|
4f124fe074 | ||
|
|
388f8466d5 | ||
|
|
220b1e352e | ||
|
|
95f79d406a | ||
|
|
ec8aba3184 | ||
|
|
68d6b0f4a2 | ||
|
|
cb9c4fae74 | ||
|
|
9775903fb1 | ||
|
|
aff716189e | ||
|
|
636471b1cf | ||
|
|
fc9507aa3e | ||
|
|
19ad46f2d2 | ||
|
|
8387a20ce6 | ||
|
|
15a933c2fc | ||
|
|
b23905657e | ||
|
|
19c604702f | ||
|
|
7a23c28965 | ||
|
|
0881a70922 | ||
|
|
c55db46760 | ||
|
|
f54eef8ad1 | ||
|
|
bc7e4919e2 | ||
|
|
05e5552e46 | ||
|
|
178e362900 |
7
3rdparty/easyloggingpp/.gitignore
vendored
@@ -1,7 +0,0 @@
|
||||
build-*
|
||||
*.pro.user
|
||||
.DS_Store
|
||||
release.info
|
||||
bin/*
|
||||
logs/*
|
||||
experiments/*
|
||||
0
3rdparty/easyloggingpp/CMakeLists.txt
vendored
25
3rdparty/easyloggingpp/LICENSE
vendored
@@ -1,25 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2012-2018 Zuhd Web Services
|
||||
Copyright (c) 2012-2018 @abumusamq
|
||||
|
||||
https://github.com/zuhd-org/
|
||||
https://zuhd.org
|
||||
https://muflihun.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
1539
3rdparty/easyloggingpp/README.md
vendored
3112
3rdparty/easyloggingpp/src/easylogging++.cc
vendored
4569
3rdparty/easyloggingpp/src/easylogging++.h
vendored
@@ -14,7 +14,7 @@
|
||||
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
project(mynteye VERSION 2.3.9 LANGUAGES C CXX)
|
||||
project(mynteye VERSION 2.4.2 LANGUAGES C CXX)
|
||||
|
||||
include(cmake/Common.cmake)
|
||||
|
||||
@@ -128,22 +128,25 @@ if(WITH_GLOG)
|
||||
)
|
||||
endif()
|
||||
|
||||
## camodocal
|
||||
## camera_models
|
||||
|
||||
if(WITH_CAM_MODELS)
|
||||
set(EIGEN_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty)
|
||||
message(STATUS "EIGEN_INCLUDE_DIR: ${EIGEN_INCLUDE_DIR}")
|
||||
|
||||
include_directories(
|
||||
include
|
||||
${CMAKE_CURRENT_BINARY_DIR}/include
|
||||
${EIGEN_INCLUDE_DIR}
|
||||
src/mynteye/api/camodocal/include
|
||||
src/mynteye/api/camera_models
|
||||
)
|
||||
|
||||
add_library(camodocal STATIC
|
||||
src/mynteye/api/camodocal/src/camera_models/Camera.cc
|
||||
src/mynteye/api/camodocal/src/camera_models/EquidistantCamera.cc
|
||||
src/mynteye/api/camodocal/src/gpl/gpl.cc
|
||||
add_library(camera_models STATIC
|
||||
src/mynteye/api/camera_models/camera.cc
|
||||
src/mynteye/api/camera_models/equidistant_camera.cc
|
||||
src/mynteye/api/camera_models/gpl.cc
|
||||
)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
endif()
|
||||
|
||||
@@ -215,7 +218,6 @@ if(WITH_API)
|
||||
src/mynteye/api/processor/points_processor_ocv.cc
|
||||
src/mynteye/api/processor/depth_processor_ocv.cc
|
||||
src/mynteye/api/processor/rectify_processor_ocv.cc
|
||||
src/mynteye/api/config.cc
|
||||
src/mynteye/api/correspondence.cc
|
||||
src/mynteye/api/version_checker.cc
|
||||
src/mynteye/api/data_tools.cc
|
||||
@@ -252,7 +254,7 @@ if(OS_MAC)
|
||||
target_link_libraries(${MYNTEYE_NAME} PUBLIC ${OSX_EXTRA_LIBS} )
|
||||
endif()
|
||||
if(WITH_CAM_MODELS)
|
||||
target_link_libraries(${MYNTEYE_NAME} PRIVATE camodocal)
|
||||
target_link_libraries(${MYNTEYE_NAME} PRIVATE camera_models)
|
||||
endif()
|
||||
target_link_threads(${MYNTEYE_NAME})
|
||||
|
||||
|
||||
34
Jenkinsfile
vendored
@@ -16,7 +16,10 @@ pipeline {
|
||||
steps {
|
||||
echo "WORKSPACE: ${env.WORKSPACE}"
|
||||
echo 'apt-get ..'
|
||||
sh 'apt-get update'
|
||||
sh '''
|
||||
apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
||||
apt-get update
|
||||
'''
|
||||
}
|
||||
}
|
||||
stage('Init') {
|
||||
@@ -39,12 +42,7 @@ pipeline {
|
||||
sh '. /opt/ros/kinetic/setup.sh; make install SUDO='
|
||||
}
|
||||
}
|
||||
stage('Test') {
|
||||
steps {
|
||||
echo 'make test ..'
|
||||
sh '. /opt/ros/kinetic/setup.sh; make test SUDO='
|
||||
}
|
||||
}
|
||||
|
||||
stage('Samples') {
|
||||
steps {
|
||||
echo 'make samples ..'
|
||||
@@ -82,22 +80,36 @@ pipeline {
|
||||
post {
|
||||
always {
|
||||
echo 'This will always run'
|
||||
/*
|
||||
dingTalk accessToken: '7dca6ae9b1b159b8b4b375e858b71f2e6cec8f73fa20d07552d09791261b2344',
|
||||
imageUrl: 'http://icon-park.com/imagefiles/loading7_gray.gif',
|
||||
message: '开始构建',
|
||||
jenkinsUrl: "${JENKINS_URL}"
|
||||
*/
|
||||
|
||||
}
|
||||
success {
|
||||
echo 'This will run only if successful'
|
||||
/*
|
||||
dingTalk accessToken: '7dca6ae9b1b159b8b4b375e858b71f2e6cec8f73fa20d07552d09791261b2344',
|
||||
imageUrl: 'http://icons.iconarchive.com/icons/paomedia/small-n-flat/1024/sign-check-icon.png',
|
||||
message: '构建成功',
|
||||
jenkinsUrl: "${JENKINS_URL}"
|
||||
*/
|
||||
}
|
||||
failure {
|
||||
echo 'This will run only if failed'
|
||||
mail to: 'mynteye-ci@slightech.com',
|
||||
subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
|
||||
body: "Something is wrong with ${env.BUILD_URL}"
|
||||
dingTalk accessToken: '7dca6ae9b1b159b8b4b375e858b71f2e6cec8f73fa20d07552d09791261b2344',
|
||||
imageUrl: 'http://www.iconsdb.com/icons/preview/soylent-red/x-mark-3-xxl.png',
|
||||
message: '构建失败',
|
||||
jenkinsUrl: "${JENKINS_URL}"
|
||||
}
|
||||
unstable {
|
||||
echo 'This will run only if the run was marked as unstable'
|
||||
}
|
||||
changed {
|
||||
echo 'This will run only if the state of the Pipeline has changed'
|
||||
echo 'For example, if the Pipeline was previously failing but is now successful'
|
||||
echo 'For example, if the Pipeline was previously failing but is now successful11'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
26
Makefile
@@ -25,16 +25,11 @@ MKFILE_DIR := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
|
||||
# Options
|
||||
#
|
||||
# SUDO: sudo command
|
||||
# CAM_MODELS: cmake build with -DWITH_CAM_MODELS=ON
|
||||
#
|
||||
# e.g. make [TARGET] SUDO=
|
||||
# e.g. make [TARGET] CAM_MODELS=1
|
||||
|
||||
SUDO ?= sudo
|
||||
|
||||
CAM_MODELS ?=
|
||||
|
||||
CMAKE_BUILD_EXTRA_OPTIONS := $(CMAKE_BUILD_EXTRA_OPTIONS) -DWITH_CAM_MODELS=ON
|
||||
CMAKE_BUILD_EXTRA_OPTIONS ?=
|
||||
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
@@ -48,7 +43,6 @@ help:
|
||||
@echo " make install install project"
|
||||
@echo " make test build test and run"
|
||||
@echo " make samples build samples"
|
||||
@echo " make tools build tools"
|
||||
@echo " make pkg package sdk"
|
||||
@echo " make ros build ros wrapper"
|
||||
@echo " make py build python wrapper"
|
||||
@@ -56,7 +50,7 @@ help:
|
||||
|
||||
.PHONY: help
|
||||
|
||||
all: init samples tools ros
|
||||
all: init samples ros
|
||||
|
||||
.PHONY: all
|
||||
|
||||
@@ -164,20 +158,6 @@ samples: install
|
||||
|
||||
.PHONY: samples
|
||||
|
||||
# tools
|
||||
|
||||
tools: install
|
||||
@$(call echo,Make $@)
|
||||
ifeq ($(HOST_OS),Mac)
|
||||
$(error "Can't make tools on $(HOST_OS)")
|
||||
else
|
||||
@$(call cmake_build,./tools/_build)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
.PHONY: tools
|
||||
|
||||
# pkg
|
||||
|
||||
pkg: clean
|
||||
@@ -267,8 +247,6 @@ clean:
|
||||
@$(call rm,./_install/)
|
||||
@$(call rm,./samples/_build/)
|
||||
@$(call rm,./samples/_output/)
|
||||
@$(call rm,./tools/_build/)
|
||||
@$(call rm,./tools/_output/)
|
||||
@$(call rm,./test/_build/)
|
||||
@$(call rm,./test/_output/)
|
||||
@$(MAKE) cleanlog
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MYNT® EYE S SDK
|
||||
|
||||
[](https://github.com/slightech/MYNT-EYE-S-SDK)
|
||||
[](https://github.com/slightech/MYNT-EYE-S-SDK)
|
||||
|
||||
## Overview
|
||||
|
||||
@@ -53,7 +53,7 @@ Init project, build samples and run someone.
|
||||
```bash
|
||||
make init
|
||||
make samples
|
||||
./samples/_output/bin/device/camera_d
|
||||
./samples/_output/bin/camera_with_junior_device_api
|
||||
```
|
||||
|
||||
## Mirrors
|
||||
|
||||
@@ -23,7 +23,7 @@ include(${CMAKE_CURRENT_LIST_DIR}/Utils.cmake)
|
||||
option(WITH_API "Build with API layer, need OpenCV" ON)
|
||||
option(WITH_DEVICE_INFO_REQUIRED "Build with device info required" ON)
|
||||
|
||||
option(WITH_CAM_MODELS "Build with more camera models, WITH_API must be ON" OFF)
|
||||
option(WITH_CAM_MODELS "Build with more camera models, WITH_API must be ON" ON)
|
||||
|
||||
# 3rdparty components
|
||||
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
%YAML:1.0
|
||||
---
|
||||
SGBM:
|
||||
# must define for opencv check
|
||||
name: StereoMatcher.SGBM
|
||||
|
||||
# Margin in percentage by which the best (minimum) computed cost function value should "win" the second best value to consider the found match correct.
|
||||
# Normally, a value within the 5-15 range is good enough.
|
||||
uniquenessRatio: 10
|
||||
|
||||
# Maximum size of smooth disparity regions to consider their noise speckles and invalidate.
|
||||
# Set it to 0 to disable speckle filtering.
|
||||
# Otherwise, set it somewhere in the 50-200 range.
|
||||
speckleWindowSize: 100
|
||||
|
||||
# Maximum disparity variation within each connected component.
|
||||
# If you do speckle filtering, set the parameter to a positive value, it will be implicitly multiplied by 16.
|
||||
# Normally, 1 or 2 is good enough.
|
||||
speckleRange: 32
|
||||
|
||||
# Minimum possible disparity value.
|
||||
# Normally, it is zero but sometimes rectification algorithms
|
||||
# can shift images, so this parameter needs to be adjusted accordingly.
|
||||
minDisparity: 0
|
||||
|
||||
# Maximum allowed difference (in integer pixel units) in the left-right disparity check.
|
||||
# Set it to a non-positive value to disable the check.
|
||||
disp12MaxDiff: 1
|
||||
|
||||
# Truncation value for the prefiltered image pixels.
|
||||
# The algorithm first computes x-derivative at each pixel and clips its value by [-preFilterCap, preFilterCap] interval.
|
||||
# The result values are passed to the Birchfield-Tomasi pixel cost function.
|
||||
preFilterCap: 63
|
||||
|
||||
# Maximum disparity minus minimum disparity.
|
||||
# The value is always greater than zero.
|
||||
# In the current implementation, this parameter must be divisible by 16.
|
||||
numDisparities: 64
|
||||
|
||||
# Matched block size. It must be an odd number >=1 .
|
||||
# Normally, it should be somewhere in the 3..11 range.
|
||||
blockSize: 3
|
||||
|
||||
# The first parameter controlling the disparity smoothness. See below.
|
||||
P1: 72
|
||||
|
||||
# The second parameter controlling the disparity smoothness.
|
||||
# The larger the values are, the smoother the disparity is.
|
||||
# P1 is the penalty on the disparity change by plus or minus 1 between neighbor pixels.
|
||||
# P2 is the penalty on the disparity change by more than 1 between neighbor pixels.
|
||||
# The algorithm requires P2 > P1 .
|
||||
P2: 188
|
||||
|
||||
BM:
|
||||
# must define for opencv check
|
||||
name: StereoMatcher.BM
|
||||
uniquenessRatio: 60
|
||||
speckleWindowSize: 100
|
||||
speckleRange: 4
|
||||
minDisparity: 0
|
||||
disp12MaxDiff: 1
|
||||
preFilterCap: 31
|
||||
# the disparity search range.
|
||||
# For each pixel algorithm will find the best disparity from 0 (default minimum disparity) to numDisparities.
|
||||
# The search range can then be shifted by changing the minimum disparity.
|
||||
numDisparities: 64
|
||||
|
||||
# the linear size of the blocks compared by the algorithm.
|
||||
# The size should be odd (as the block is centered at the current pixel).
|
||||
# Larger block size implies smoother, though less accurate disparity map.
|
||||
# Smaller block size gives more detailed disparity map,
|
||||
# but there is higher chance for algorithm to find a wrong correspondence.
|
||||
blockSize: 15
|
||||
preFilterSize: 9
|
||||
textureThreshold: 10
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = "MYNT EYE S SDK"
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 2.3.9
|
||||
PROJECT_NUMBER = 2.4.2
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = 'MYNT® EYE S SDK'
|
||||
copyright = '2018, MYNTAI'
|
||||
copyright = '2019, MYNTAI'
|
||||
author = 'MYNTAI'
|
||||
|
||||
# The short X.Y version
|
||||
version = '2.3.9'
|
||||
version = '2.4.2'
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = version
|
||||
|
||||
|
||||
BIN
docs/images/product/mynteye_s2110_imu_coord.jpg
Normal file
|
After Width: | Height: | Size: 718 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
@@ -6,6 +6,10 @@ Firmware and SDK compatibility
|
||||
============================ ========================
|
||||
S1030 Firmwares SDK Version
|
||||
============================ ========================
|
||||
MYNTEYE-S1030-2.5.0.img 2.4.0 (2.4.0 ~ latest)
|
||||
MYNTEYE_S_2.4.0.img 2.3.4 (2.3.4 ~ 2.3.9)
|
||||
MYNTEYE_S_2.3.0.img 2.3.0 (2.2.2-rc1 ~ 2.3.3)
|
||||
MYNTEYE_S_2.2.2.img 2.3.0 (2.2.2-rc1 ~ 2.3.0)
|
||||
MYNTEYE_S_2.0.0_rc.img 2.0.0-rc (2.0.0-rc ~ 2.0.0-rc2)
|
||||
MYNTEYE_S_2.0.0_rc2.img 2.0.0-rc2 (2.0.0-rc ~ 2.0.0-rc2)
|
||||
MYNTEYE_S_2.0.0_rc1.img 2.0.0-rc1
|
||||
@@ -13,19 +17,17 @@ MYNTEYE_S_2.0.0_rc0.img 2.0.0-rc0 (2.0.0-rc1 ~ 2.0.0-alpha1)
|
||||
MYNTEYE_S_2.0.0_alpha1.1.img 2.0.0-alpha1 (2.0.0-rc1 ~ 2.0.0-alpha1)
|
||||
MYNTEYE_S_2.0.0_alpha1.img 2.0.0-alpha1 (2.0.0-rc1 ~ 2.0.0-alpha1)
|
||||
MYNTEYE_S_2.0.0_alpha0.img 2.0.0-alpha0
|
||||
MYNTEYE_S_2.2.2.img 2.3.0 (2.2.2-rc1 ~ 2.3.0)
|
||||
MYNTEYE_S_2.3.0.img 2.3.0 (2.2.2-rc1 ~ 2.3.3)
|
||||
MYNTEYE_S_2.4.0.img 2.3.4 (2.3.4 ~ latest)
|
||||
============================ ========================
|
||||
|
||||
============================ ===========================
|
||||
S2100 Firmwares SDK Version
|
||||
============================ ===========================
|
||||
MYNTEYE_S2100_1.1.img 2.3.4
|
||||
MYNTEYE_S2100_1.2.img 2.3.5 (2.3.5 ~ latest)
|
||||
MYNTEYE-S21X0-1.4.0.img 2.4.2(2.4.2 ~ latest)
|
||||
MYNTEYE-S2100-1.3.2.img 2.4.0(2.4.0 ~ 2.4.1)
|
||||
MYNTEYE_S2100_1.2.img 2.3.5(2.3.5 ~ 2.3.9)
|
||||
MYNTEYE_S2100_1.1.img 2.3.4
|
||||
============================ ===========================
|
||||
|
||||
|
||||
.. attention::
|
||||
Please CONFIRM your device model and use CORRECT firmware.
|
||||
|
||||
|
||||
@@ -6,3 +6,4 @@ FIRMWARE
|
||||
|
||||
fw_info
|
||||
fw_update
|
||||
fw_changelog
|
||||
@@ -3,3 +3,36 @@ Change Log
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
2019-09-09
|
||||
-------------------
|
||||
|
||||
S21X0 Main Chip Firmware: MYNTEYE-S21X0-1.4.0.img
|
||||
|
||||
1. Support 2110 device.
|
||||
|
||||
2019-08-09
|
||||
-------------------
|
||||
|
||||
S1030 Main Chip Firmware: MYNTEYE-S1030-2.5.0.img
|
||||
|
||||
1. Optimize the synchronization of image and imu
|
||||
2. Not save the camera control parameters
|
||||
3. Fix the overexplosion problem at low resolution
|
||||
4. Fix USB 2.0 first open failure problem
|
||||
5. Add automatic recovery function when updating wrong firmware
|
||||
|
||||
S2100 Main Chip Firmware: MYNTEYE-S2100-1.3.2.img
|
||||
|
||||
1. Optimize the synchronization of image and imu
|
||||
2. Not save the camera control parameters
|
||||
3. Optimize IMU low-pass filter default values
|
||||
4. Optimize the exposure time calculation method, the maximum exposure time is limited to 66.5ms
|
||||
5. Add automatic recovery function when updating wrong firmware
|
||||
6. Fix and optimize some other issues
|
||||
|
||||
S2100 Auxiliary Chip Firmware: MYNTEYE-S2100-auxiliary-chip-1.4.2.bin
|
||||
|
||||
1. Time synchronization adds uart interface, io interruption judgement
|
||||
2. Time synchronization i2c interface adds whoami, read timestamp and median filter open state interface
|
||||
3. Fix and optimize some other issues
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Update Auxiliary Chip Firmware
|
||||
==================================
|
||||
|
||||
Update auxiliary chip (Only Support S2100/S210A)
|
||||
Update auxiliary chip (Only Support S21XX)
|
||||
------------------------------------------------
|
||||
|
||||
* Plug in the MYNT® EYE camera into a USB3.0 port
|
||||
@@ -16,13 +16,8 @@ Update auxiliary chip (Only Support S2100/S210A)
|
||||
|
||||
.. image:: ../../images/firmware/stmupdate.png
|
||||
|
||||
* In the open file selection box, select the firmware ``MYNTEYE-S210x-auxiliary-chip-v1.0.bin`` and start upgrading.
|
||||
* In the open file selection box, select the firmware ``MYNTEYE-S2100-auxiliary-chip-1.4.2.bin`` and start upgrading.
|
||||
|
||||
* Once the upgrade is complete, it will display update finished.
|
||||
|
||||
.. image:: ../../images/firmware/stmsuccess.png
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -10,25 +10,21 @@ You can download the firmware and MYNT EYE TOOL installation package in the ``Fi
|
||||
.. code-block:: none
|
||||
|
||||
Firmwares/
|
||||
├─Checksum.txt # file checksum
|
||||
├─MYNTEYE_S_2.4.0.img # S1030 firmware
|
||||
├─MYNTEYE_S2100_1.2.img # S2100 firmware
|
||||
├─Checksum.txt # File checksum
|
||||
├─MYNTEYE-S1030-2.5.0.img # S1030 firmware
|
||||
├─MYNTEYE-S21x0-1.4.0.img # S21X0 firmware
|
||||
├─...
|
||||
└─setup.zip # MYNTEYE TOOL zip
|
||||
└─mynt-eye-tool-setup.zip # MYNT EYE TOOL zip
|
||||
|
||||
The firmware upgrade program currently only supports Windows, so you need to operate under Windows. Proceed as follows:
|
||||
|
||||
Download preparation
|
||||
---------------------
|
||||
|
||||
* Download and unzip ``setup.zip``
|
||||
* Find firmware, such as ``MYNTEYE_S_2.4.0.img``
|
||||
* Download and unzip ``mynt-eye-tool-setup.zip``
|
||||
* Find firmware, such as ``MYNTEYE-S1030-2.5.0.img``
|
||||
|
||||
* Please refer to :ref:`firmware_applicable` to select the firmware suitable for the SDK version
|
||||
* Please refer to ``Checksum.txt`` to find the firmware check code as follows:
|
||||
|
||||
* Run the command in CMD ``certutil -hashfile <*.img> MD5`` .
|
||||
* If the check code is incorrect, it means that the download went wrong. Please download it again!
|
||||
|
||||
Install MYNT EYE TOOL
|
||||
---------------------
|
||||
|
||||
@@ -8,3 +8,4 @@ IMU Coordinate System
|
||||
|
||||
imu_coord_s1030
|
||||
imu_coord_s2100
|
||||
imu_coord_s2110
|
||||
|
||||
8
docs/src/product/imu_coord_s2110.rst
Normal file
@@ -0,0 +1,8 @@
|
||||
.. _product_imu_coord_s2110:
|
||||
|
||||
S2110 Coordinate System
|
||||
====================================
|
||||
|
||||
IMU coordinate system is right-handed,the axis directions are as follows:
|
||||
|
||||
.. image:: ../../images/product/mynteye_s2110_imu_coord.jpg
|
||||
@@ -9,3 +9,4 @@ Product Specification
|
||||
spec_s1030
|
||||
spec_s1030_ir
|
||||
spec_s2100
|
||||
spec_s2110
|
||||
|
||||
@@ -8,3 +8,4 @@ Product Surface
|
||||
|
||||
surface_s1030
|
||||
surface_s2100
|
||||
surface_s2110
|
||||
|
||||
@@ -41,7 +41,7 @@ Product Specification
|
||||
Synchronization Precision <1ms (up to 0.02ms)
|
||||
-------------------------- -----------------------------------------------------
|
||||
IMU Frequency 200Hz
|
||||
-------------------------- ---------------------------------------
|
||||
-------------------------- -----------------------------------------------------
|
||||
Output data format YUYV
|
||||
-------------------------- -----------------------------------------------------
|
||||
Data transfer Interface USB3.0
|
||||
@@ -64,7 +64,7 @@ Software
|
||||
SDK http://www.myntai.com/dev/mynteye
|
||||
---------------- ---------------------------------------------------------------------------------
|
||||
Support ORB_SLAM2、OKVIS、Vins-Mono、Vins-Fusion、VIORB
|
||||
================ ==================================================================================
|
||||
================ =================================================================================
|
||||
|
||||
|
||||
|
||||
|
||||
105
docs/src/product/spec_s2110.rst
Normal file
@@ -0,0 +1,105 @@
|
||||
.. _mynteye_spec_s2110:
|
||||
|
||||
|
||||
S2110-95/Color Product Specification
|
||||
========================================
|
||||
|
||||
Product Specification
|
||||
-----------------------
|
||||
|
||||
|
||||
========================== =====================================================
|
||||
Model S2110-95/Color
|
||||
-------------------------- -----------------------------------------------------
|
||||
Size PCB dimension:17.74x100mm
|
||||
Total dimension:125x47x26.6mm
|
||||
-------------------------- -----------------------------------------------------
|
||||
Frame Rate 1280x400\@10/20/30/60fps 2560x800\@10/20/30fps
|
||||
-------------------------- -----------------------------------------------------
|
||||
Resolution 1280x400; 2560x800
|
||||
-------------------------- -----------------------------------------------------
|
||||
Depth Resolution Based on CPU/GPU Up to 1280*400\@60FPS
|
||||
-------------------------- -----------------------------------------------------
|
||||
Pixel Size 3.0*3.0μm
|
||||
-------------------------- -----------------------------------------------------
|
||||
Baseline 80.0mm
|
||||
-------------------------- -----------------------------------------------------
|
||||
Visual Angle D:112° H:95° V:50°
|
||||
-------------------------- -----------------------------------------------------
|
||||
Focal Length 2.63mm
|
||||
-------------------------- -----------------------------------------------------
|
||||
IR Support No
|
||||
-------------------------- -----------------------------------------------------
|
||||
Color Mode Color
|
||||
-------------------------- -----------------------------------------------------
|
||||
Depth Working Distance 0.60-7m+
|
||||
-------------------------- -----------------------------------------------------
|
||||
Scanning Mode Global Shutter
|
||||
-------------------------- -----------------------------------------------------
|
||||
Power 1.1W\@5V DC from USB
|
||||
-------------------------- -----------------------------------------------------
|
||||
Synchronization Precision <1ms (up to 0.02ms)
|
||||
-------------------------- -----------------------------------------------------
|
||||
IMU Frequency 200Hz
|
||||
-------------------------- -----------------------------------------------------
|
||||
Output data format YUYV
|
||||
-------------------------- -----------------------------------------------------
|
||||
Data transfer Interface USB3.0
|
||||
-------------------------- -----------------------------------------------------
|
||||
Time Sync interface DF50A
|
||||
-------------------------- -----------------------------------------------------
|
||||
Weight 100.8g
|
||||
-------------------------- -----------------------------------------------------
|
||||
UVC MODE Yes
|
||||
========================== =====================================================
|
||||
|
||||
|
||||
Software
|
||||
--------
|
||||
|
||||
|
||||
================ =================================================================================
|
||||
Support system Windows 10、Ubuntu 14.04/16.04/18.04、ROS indigo/kinetic/melodic、Android 7.0+
|
||||
---------------- ---------------------------------------------------------------------------------
|
||||
SDK http://www.myntai.com/dev/mynteye
|
||||
---------------- ---------------------------------------------------------------------------------
|
||||
Support ORB_SLAM2、OKVIS、Vins-Mono、Vins-Fusion、VIORB
|
||||
================ =================================================================================
|
||||
|
||||
|
||||
|
||||
Work Environment
|
||||
-----------------
|
||||
|
||||
|
||||
========================= ==============================
|
||||
Operating Temperature -15°C~55°C
|
||||
------------------------- ------------------------------
|
||||
Storage Temperature -20°C~75°C
|
||||
------------------------- ------------------------------
|
||||
Humidity 0% to 95% non-condensing
|
||||
========================= ==============================
|
||||
|
||||
|
||||
Package
|
||||
---------
|
||||
|
||||
=================== =======================================
|
||||
Package Contents MYNT EYE x1 USB Micro-B Cable x1
|
||||
=================== =======================================
|
||||
|
||||
Warranty
|
||||
----------
|
||||
|
||||
==================== ============================================
|
||||
Product Warranty 12 Months Limited Manufacturer's Warranty
|
||||
==================== ============================================
|
||||
|
||||
Accuracy
|
||||
---------
|
||||
|
||||
============================ ============================================
|
||||
Depth Distance Deviation Less than 4%
|
||||
============================ ============================================
|
||||
|
||||
|
||||
15
docs/src/product/surface_s2110.rst
Normal file
@@ -0,0 +1,15 @@
|
||||
.. _mynteye_surface_s2110:
|
||||
|
||||
S2110 Size and Structure
|
||||
================================
|
||||
|
||||
============= ==============
|
||||
Shell(mm) PCBA board(mm)
|
||||
============= ==============
|
||||
125x47x40 100x15
|
||||
============= ==============
|
||||
|
||||
.. image:: ../../images/product/mynteye_s2_surface_zh-Hans.jpg
|
||||
|
||||
A. Camera:please pay attention to protect the camera sensor lenses, to avoid imaging quality degradation.
|
||||
B. USB Micro-B interface and set screw holes: during usage, plug in the USB Micro-B cable and secure it by fastening the set screws to avoid damage to the interface and to ensure stability in connection.
|
||||
@@ -8,5 +8,5 @@ SDK
|
||||
sdk_install
|
||||
data/contents
|
||||
control/contents
|
||||
tools/contents
|
||||
project/contents
|
||||
sdk_changelog
|
||||
|
||||
@@ -13,7 +13,7 @@ For mynteye s1030, the settings available for adjustment during auto exposure ar
|
||||
* ``Option::MAX_EXPOSURE_TIME`` Maximum exposure time.
|
||||
* ``Option::DESIRED_BRIGHTNESS`` Expected brightness.
|
||||
|
||||
For mynteye s2100/s210a, the settings available for adjustment during auto exposure are:
|
||||
For mynteye s21XX, the settings available for adjustment during auto exposure are:
|
||||
|
||||
* ``Option::MAX_GAIN`` Maximum gain.
|
||||
* ``Option::MAX_EXPOSURE_TIME`` Maximum exposure time.
|
||||
@@ -45,7 +45,7 @@ s1030:
|
||||
LOG(INFO) << "Set DESIRED_BRIGHTNESS to "
|
||||
<< api->GetOptionValue(Option::DESIRED_BRIGHTNESS);
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
@@ -86,7 +86,7 @@ s1030:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_auto_exposure
|
||||
$ ./samples/_output/bin/ctrl_auto_exposure
|
||||
I0513 14:07:57.963943 31845 utils.cc:26] Detecting MYNT EYE devices
|
||||
I0513 14:07:58.457536 31845 utils.cc:33] MYNT EYE devices:
|
||||
I0513 14:07:58.457563 31845 utils.cc:37] index: 0, name: MYNT-EYE-S1000
|
||||
@@ -97,11 +97,11 @@ s1030:
|
||||
I0513 14:07:58.521375 31845 auto_exposure.cc:41] Set DESIRED_BRIGHTNESS to 192
|
||||
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_auto_exposure
|
||||
$ ./samples/_output/bin/ctrl_auto_exposure
|
||||
I/utils.cc:30 Detecting MYNT EYE devices
|
||||
I/utils.cc:40 MYNT EYE devices:
|
||||
I/utils.cc:43 index: 0, name: MYNT-EYE-S210A, sn: 07C41A190009071F
|
||||
@@ -126,4 +126,4 @@ s2100/s210a:
|
||||
|
||||
The sample program displays an image with a real exposure time in the upper left corner, in milliseconds.
|
||||
|
||||
Complete code examples, see `auto_exposure.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/auto_exposure.cc>`_ .
|
||||
Complete code examples, see `ctrl_auto_exposure.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_auto_exposure.cc>`_ .
|
||||
|
||||
@@ -12,7 +12,7 @@ For mynteye s1030, to set the image frame rate and IMU frequency, set ``Option::
|
||||
* The effective fps of the image: 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60.
|
||||
* The effective frequency of IMU: 100, 200, 250, 333, 500.
|
||||
|
||||
For mynteye s2100/s210a, the image frame rate should be selected when running the sample, and the frame rate and resolution are combined as follows:
|
||||
For mynteye s21XX, the image frame rate should be selected when running the sample, and the frame rate and resolution are combined as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -45,7 +45,7 @@ s1030:
|
||||
LOG(INFO) << "Set IMU_FREQUENCY to "
|
||||
<< api->GetOptionValue(Option::IMU_FREQUENCY);
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
@@ -67,7 +67,7 @@ s1030:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_framerate
|
||||
$ ./samples/_output/bin/ctrl_framerate
|
||||
I0513 14:05:57.218222 31813 utils.cc:26] Detecting MYNT EYE devices
|
||||
I0513 14:05:57.899404 31813 utils.cc:33] MYNT EYE devices:
|
||||
I0513 14:05:57.899430 31813 utils.cc:37] index: 0, name: MYNT-EYE-S1000
|
||||
@@ -78,11 +78,11 @@ s1030:
|
||||
I0513 14:06:21.702388 31813 framerate.cc:85] Img count: 573, fps: 24.6122
|
||||
I0513 14:06:21.702404 31813 framerate.cc:87] Imu count: 11509, hz: 494.348
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_framerate
|
||||
$ ./samples/_output/bin/ctrl_framerate
|
||||
I/utils.cc:30 Detecting MYNT EYE devices
|
||||
I/utils.cc:40 MYNT EYE devices:
|
||||
I/utils.cc:43 index: 0, name: MYNT-EYE-S210A, sn: 07C41A190009071F
|
||||
@@ -105,4 +105,4 @@ s2100/s210a:
|
||||
|
||||
After the sample program finishes running with ``ESC/Q``, it will output the calculated value of the frame rate of image & IMU frequency.
|
||||
|
||||
Complete code samples,please see `framerate.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/framerate.cc>`_ .
|
||||
Complete code samples,please see `ctrl_framerate.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_framerate.cc>`_ .
|
||||
|
||||
@@ -9,11 +9,11 @@ To set the IIC address, set ``Option::IIC_ADDRESS_SETTING``.
|
||||
|
||||
|
||||
.. Attention::
|
||||
Only support S210A/2100
|
||||
Only support S21XX
|
||||
|
||||
Reference Code:
|
||||
|
||||
s210a/s2100:
|
||||
s2XX:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
@@ -33,11 +33,11 @@ s210a/s2100:
|
||||
|
||||
Reference running results on Linux:
|
||||
|
||||
s210a/s2100:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_iic_adress
|
||||
$ ./samples/_output/bin/ctrl_iic_adress
|
||||
I/utils.cc:30 Detecting MYNT EYE devices
|
||||
I/utils.cc:40 MYNT EYE devices:
|
||||
I/utils.cc:43 index: 0, name: MYNT-EYE-S210A, sn: 07C41A190009071F
|
||||
@@ -55,4 +55,4 @@ s210a/s2100:
|
||||
I/imu_range.cc:51 Set iic address to 0x31
|
||||
|
||||
After the sample program finishes running with ``ESC/Q``.
|
||||
Complete code samples,please see `iic_address.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/iic_address.cc>`_ .
|
||||
Complete code samples,please see `ctrl_iic_address.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_iic_address.cc>`_ .
|
||||
|
||||
@@ -37,7 +37,7 @@ Reference running results on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_imu_low_pass_filter
|
||||
$ ./samples/_output/bin/ctrl_imu_low_pass_filter
|
||||
I/utils.cc:30 Detecting MYNT EYE devices
|
||||
I/utils.cc:40 MYNT EYE devices:
|
||||
I/utils.cc:43 index: 0, name: MYNT-EYE-S210A, sn: 07C41A190009071F
|
||||
@@ -60,4 +60,4 @@ Reference running results on Linux:
|
||||
|
||||
After the sample program finishes running with ``ESC/Q``, the low-pass filter of imu setting is complete. The ranges will be kept inside the hardware and not affected by power off.
|
||||
|
||||
Complete code samples,please see `imu_low_pass_filter.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/imu_low_pass_filter.cc>`_ 。
|
||||
Complete code samples,please see `ctrl_imu_low_pass_filter.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_imu_low_pass_filter.cc>`_ 。
|
||||
|
||||
@@ -13,7 +13,7 @@ To set the range of accelerometer and gyroscope, set ``Option::ACCELEROMETER_RAN
|
||||
* The effective range of accelerometer(unit:g): 4, 8, 16, 32.
|
||||
* Gyroscope Range Valid value (unit: DEG/S): 500, 1000, 2000, 4000.
|
||||
|
||||
For mynteye s2100/s210a, the available settings are:
|
||||
For mynteye s21XX, the available settings are:
|
||||
|
||||
* The effective range of accelerometer(unit:g): 6, 12, 24, 48.
|
||||
* The effective range of gyroscope(unit:deg/s): 250, 500, 1000, 2000, 4000.
|
||||
@@ -38,7 +38,7 @@ s1030:
|
||||
LOG(INFO) << "Set GYROSCOPE_RANGE to "
|
||||
<< api->GetOptionValue(Option::GYROSCOPE_RANGE);
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
@@ -67,7 +67,7 @@ s1030:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_imu_range
|
||||
$ ./samples/_output/bin/ctrl_imu_range
|
||||
I/utils.cc:28 Detecting MYNT EYE devices
|
||||
I/utils.cc:38 MYNT EYE devices:
|
||||
I/utils.cc:41 index: 0, name: MYNT-EYE-S1030, sn: 4B4C1F1100090712
|
||||
@@ -78,11 +78,11 @@ s1030:
|
||||
I/imu_range.cc:84 Img count: 363, fps: 25.0967
|
||||
I/imu_range.cc:86 Imu count: 2825, hz: 195.312
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_imu_range
|
||||
$ ./samples/_output/bin/ctrl_imu_range
|
||||
I/utils.cc:30 Detecting MYNT EYE devices
|
||||
I/utils.cc:40 MYNT EYE devices:
|
||||
I/utils.cc:43 index: 0, name: MYNT-EYE-S210A, sn: 07C41A190009071F
|
||||
@@ -105,4 +105,4 @@ s2100/s210a:
|
||||
|
||||
After the sample program finishes running with ``ESC/Q``, the ranges of imu setting is complete. The ranges will be kept inside the hardware and not affected by power off.
|
||||
|
||||
Complete code samples,please see `imu_range.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/imu_range.cc>`_.
|
||||
Complete code samples,please see `ctrl_imu_range.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_imu_range.cc>`_.
|
||||
|
||||
@@ -8,7 +8,7 @@ Using the ``SetOptionValue()`` function of the API, you can set various control
|
||||
Enabling IR is setting ``Option::IR_CONTROL`` greater than 0. The greater the value, the greater the IR's intensity.
|
||||
|
||||
.. Attention::
|
||||
* mynteye s2100/s210a doesn't support this feature.
|
||||
* mynteye s21XX doesn't support this feature.
|
||||
|
||||
Reference Code:
|
||||
|
||||
@@ -33,7 +33,7 @@ Reference running results on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_infrared
|
||||
$ ./samples/_output/bin/ctrl_infrared
|
||||
I0504 16:16:28.016624 25848 utils.cc:13] Detecting MYNT EYE devices
|
||||
I0504 16:16:28.512462 25848 utils.cc:20] MYNT EYE devices:
|
||||
I0504 16:16:28.512473 25848 utils.cc:24] index: 0, name: MYNT-EYE-S1000
|
||||
@@ -49,6 +49,6 @@ At this point, if the image is displayed, you can see IR speckle on the image, a
|
||||
|
||||
.. attention::
|
||||
|
||||
The hardware will not record the IR value after being turned off. In order to keep IR enabled, you must set the IR value after turning on the device.
|
||||
The hardware will not record the IR value after being turned off and will reset to 0. In order to keep IR enabled, you must set the IR value after turning on the device.
|
||||
|
||||
Complete code samples,see `infrared.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/infrared.cc>`_ .
|
||||
Complete code samples,see `ctrl_infrared.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_infrared.cc>`_ .
|
||||
|
||||
@@ -13,7 +13,7 @@ For mynteye s1030, during manual exposure, the settings available for adjustment
|
||||
* ``Option::BRIGHTNESS`` Brightness (Exposure time).
|
||||
* ``Option::CONTRAST`` Contrast (Black level calibration).
|
||||
|
||||
For mynteye s2100/s210a, during manual exposure, the settings available for adjustment are:
|
||||
For mynteye s21XX, during manual exposure, the settings available for adjustment are:
|
||||
|
||||
* ``Option::BRIGHTNESS`` Brightness (Exposure time).
|
||||
|
||||
@@ -33,15 +33,15 @@ s1030:
|
||||
api->SetOptionValue(Option::GAIN, 24);
|
||||
// brightness/exposure_time: range [0,240], default 120
|
||||
api->SetOptionValue(Option::BRIGHTNESS, 120);
|
||||
// contrast/black_level_calibration: range [0,255], default 127
|
||||
api->SetOptionValue(Option::CONTRAST, 127);
|
||||
// contrast/black_level_calibration: range [0,255], default 116
|
||||
api->SetOptionValue(Option::CONTRAST, 116);
|
||||
|
||||
LOG(INFO) << "Enable manual-exposure";
|
||||
LOG(INFO) << "Set GAIN to " << api->GetOptionValue(Option::GAIN);
|
||||
LOG(INFO) << "Set BRIGHTNESS to " << api->GetOptionValue(Option::BRIGHTNESS);
|
||||
LOG(INFO) << "Set CONTRAST to " << api->GetOptionValue(Option::CONTRAST);
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
@@ -55,8 +55,8 @@ s2100/s210a:
|
||||
// manual-exposure: 1
|
||||
api->SetOptionValue(Option::EXPOSURE_MODE, 1);
|
||||
|
||||
// brightness/exposure_time: range [0,240], default 120
|
||||
api->SetOptionValue(Option::BRIGHTNESS, 120);
|
||||
// brightness/exposure_time: range [1,255], default 70
|
||||
api->SetOptionValue(Option::BRIGHTNESS, 70);
|
||||
|
||||
LOG(INFO) << "Enable manual-exposure";
|
||||
LOG(INFO) << "Set EXPOSURE_MODE to "
|
||||
@@ -71,7 +71,7 @@ s1030:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_manual_exposure
|
||||
$ ./samples/_output/bin/ctrl_manual_exposure
|
||||
I0513 14:09:17.104431 31908 utils.cc:26] Detecting MYNT EYE devices
|
||||
I0513 14:09:17.501519 31908 utils.cc:33] MYNT EYE devices:
|
||||
I0513 14:09:17.501551 31908 utils.cc:37] index: 0, name: MYNT-EYE-S1000
|
||||
@@ -79,13 +79,13 @@ s1030:
|
||||
I0513 14:09:17.552918 31908 manual_exposure.cc:37] Enable manual-exposure
|
||||
I0513 14:09:17.552953 31908 manual_exposure.cc:38] Set GAIN to 24
|
||||
I0513 14:09:17.552958 31908 manual_exposure.cc:39] Set BRIGHTNESS to 120
|
||||
I0513 14:09:17.552963 31908 manual_exposure.cc:40] Set CONTRAST to 127
|
||||
I0513 14:09:17.552963 31908 manual_exposure.cc:40] Set CONTRAST to 116
|
||||
|
||||
s2100/s210a:
|
||||
s21XX:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/ctrl_manual_exposure
|
||||
$ ./samples/_output/bin/ctrl_manual_exposure
|
||||
I/utils.cc:30 Detecting MYNT EYE devices
|
||||
I/utils.cc:40 MYNT EYE devices:
|
||||
I/utils.cc:43 index: 0, name: MYNT-EYE-S210A, sn: 07C41A190009071F
|
||||
@@ -102,9 +102,9 @@ s2100/s210a:
|
||||
3
|
||||
I/manual_exposure.cc:62 Enable manual-exposure
|
||||
I/manual_exposure.cc:63 Set EXPOSURE_MODE to 1
|
||||
I/manual_exposure.cc:65 Set BRIGHTNESS to 120
|
||||
I/manual_exposure.cc:65 Set BRIGHTNESS to 70
|
||||
|
||||
|
||||
The sample program displays an image with a real exposure time in the upper left corner, in milliseconds.
|
||||
|
||||
Complete code samples,see `manual_exposure.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/manual_exposure.cc>`_ .
|
||||
Complete code samples,see `ctrl_manual_exposure.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_manual_exposure.cc>`_ .
|
||||
|
||||
@@ -17,3 +17,7 @@ SDK Data Samples
|
||||
get_imu_correspondence
|
||||
get_from_callbacks
|
||||
get_with_plugin
|
||||
save_params
|
||||
save_single_image
|
||||
write_img_params
|
||||
write_imu_params
|
||||
@@ -47,8 +47,8 @@ Reference code snippet:
|
||||
|
||||
The above code uses OpenCV to display the image. When the display window is selected, pressing ``ESC/Q`` will end the program.
|
||||
|
||||
Complete code examples, see `get_depth.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_depth.cc>`_ .
|
||||
Complete code examples, see `get_depth.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_depth.cc>`_ .
|
||||
|
||||
.. tip::
|
||||
|
||||
Preview the value of a region of the depth image, see `get_depth_with_region.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/api/get_depth_with_region.cc>`_ .
|
||||
Preview the value of a region of the depth image, see `get_depth_with_region.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_depth_with_region.cc>`_ .
|
||||
|
||||
@@ -24,7 +24,7 @@ Reference result on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/get_device_info
|
||||
$ ./samples/_output/bin/get_device_info
|
||||
I0503 16:40:21.109391 32106 utils.cc:13] Detecting MYNT EYE devices
|
||||
I0503 16:40:21.604116 32106 utils.cc:20] MYNT EYE devices:
|
||||
I0503 16:40:21.604127 32106 utils.cc:24] index: 0, name: MYNT-EYE-S1000
|
||||
@@ -38,4 +38,4 @@ Reference result on Linux:
|
||||
I0503 16:40:21.615164 32106 get_device_info.cc:16] IMU type: 0000
|
||||
I0503 16:40:21.615171 32106 get_device_info.cc:17] Nominal baseline: 120
|
||||
|
||||
Complete code examples, see `get_device_info.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_device_info.cc>`_ .
|
||||
Complete code examples, see `get_device_info.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_device_info.cc>`_ .
|
||||
|
||||
@@ -59,4 +59,4 @@ Reference code snippet:
|
||||
|
||||
The above code uses OpenCV to display the image. Select the display window, press ``ESC/Q`` to exit in the program.
|
||||
|
||||
Complete code examples, see `get_disparity.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_disparity.cc>`_ .
|
||||
Complete code examples, see `get_disparity.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_disparity.cc>`_ .
|
||||
|
||||
@@ -116,4 +116,4 @@ Reference code snippet:
|
||||
|
||||
OpenCV is used to display images and data above. When the window is selected, pressing ``ESC/Q`` will exit program.
|
||||
|
||||
Complete code examples, see `get_from_callbacks.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_from_callbacks.cc>`_ .
|
||||
Complete code examples, see `get_from_callbacks.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_from_callbacks.cc>`_ .
|
||||
|
||||
@@ -7,9 +7,13 @@ Use ``GetIntrinsics()`` & ``GetExtrinsics()`` to get image calibration parameter
|
||||
|
||||
.. tip::
|
||||
The detailed meaning of parameters can reference the files in ``tools/writer/config`` , of these
|
||||
the image calibration parameters of S2100/S210A are in ``tools/writer/config/S210A``
|
||||
the image calibration parameters of S21XX are in ``tools/writer/config/S21XX``
|
||||
the image calibration parameters of S1030 are in ``tools/writer/config/S1030``
|
||||
|
||||
Note
|
||||
|
||||
Camera Intrinsics/Extrinsics, please ref to: ros `CameraInfo <http://docs.ros.org/melodic/api/sensor_msgs/html/msg/CameraInfo.html>`_.
|
||||
|
||||
Reference code snippet:
|
||||
|
||||
.. code-block:: c++
|
||||
@@ -27,7 +31,7 @@ Reference result on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/get_img_params
|
||||
$ ./samples/_output/bin/get_img_params
|
||||
I0510 15:00:22.643263 6980 utils.cc:26] Detecting MYNT EYE devices
|
||||
I0510 15:00:23.138811 6980 utils.cc:33] MYNT EYE devices:
|
||||
I0510 15:00:23.138849 6980 utils.cc:37] index: 0, name: MYNT-EYE-S1000
|
||||
@@ -36,4 +40,4 @@ Reference result on Linux:
|
||||
I0510 15:00:23.210551 6980 get_img_params.cc:24] Intrinsics right: {width: 752, height: 480, fx: 736.38305001095545776, fy: 723.50066150722432212, cx: 456.68367112303980093, cy: 250.70083335536796199, model: 0, coeffs: [-0.51012886039889305, 0.38764476500996770, 0.00000000000000000, 0.00000000000000000, 0.00000000000000000]}
|
||||
I0510 15:00:23.210577 6980 get_img_params.cc:26] Extrinsics left to right: {rotation: [0.99701893306553813, -0.00095378124886237, -0.07715139279485062, 0.00144939967628305, 0.99997867219985104, 0.00636823256494144, 0.07714367342455503, -0.00646107164115277, 0.99699905125522237], translation: [-118.88991734400046596, -0.04560580387053091, -3.95313736911933855]}
|
||||
|
||||
Complete code examples, see `get_img_params.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_img_params.cc>`_ .
|
||||
Complete code examples, see `get_img_params.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_img_params.cc>`_ .
|
||||
|
||||
@@ -47,8 +47,13 @@ Sample code snippet:
|
||||
*/
|
||||
|
||||
painter.DrawImgData(img, *left_data.img);
|
||||
if (!motion_datas.empty()) {
|
||||
painter.DrawImuData(img, *motion_datas[0].imu);
|
||||
static std::vector<api::MotionData> motion_datas_s = motion_datas;
|
||||
|
||||
if (!motion_datas.empty() && motion_datas.size() > 0) {
|
||||
motion_datas_s = motion_datas;
|
||||
}
|
||||
if (!motion_datas_s.empty() && motion_datas_s.size() > 0) {
|
||||
painter.DrawImuData(img, *motion_datas_s[0].imu);
|
||||
}
|
||||
|
||||
cv::imshow("frame", img);
|
||||
@@ -63,4 +68,4 @@ Sample code snippet:
|
||||
|
||||
OpenCV is used to display image and data. When window is selected, press ``ESC/Q`` to exit program.
|
||||
|
||||
Complete code examples, see `get_imu.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_imu.cc>`_ .
|
||||
Complete code examples, see `get_imu.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_imu.cc>`_ .
|
||||
|
||||
@@ -58,7 +58,7 @@ Reference result on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./samples/_output/bin/tutorials/get_imu_correspondence
|
||||
$ ./samples/_output/bin/get_imu_correspondence
|
||||
I/utils.cc:30 Detecting MYNT EYE devices
|
||||
I/utils.cc:40 MYNT EYE devices:
|
||||
I/utils.cc:43 index: 0, name: MYNT-EYE-S1030, sn: 0281351000090807
|
||||
@@ -106,4 +106,4 @@ Reference result on Linux:
|
||||
I/get_imu_correspondence.cc:61 Imu timestamp: 171419650, diff_prev=2020, diff_img=16608
|
||||
I/get_imu_correspondence.cc:61 Imu timestamp: 171421660, diff_prev=2010, diff_img=18624
|
||||
|
||||
Complete code examples, see `get_imu_correspondence.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_imu_correspondence.cc>`_ .
|
||||
Complete code examples, see `get_imu_correspondence.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_imu_correspondence.cc>`_ .
|
||||
|
||||
@@ -15,4 +15,4 @@ Reference commands:
|
||||
LOG(INFO) << "Motion extrinsics left to imu: {"
|
||||
<< api->GetMotionExtrinsics(Stream::LEFT) << "}";
|
||||
|
||||
Complete code examples, see `get_imu_params.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_imu_params.cc>`_ .
|
||||
Complete code examples, see `get_imu_params.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_imu_params.cc>`_ .
|
||||
|
||||
@@ -7,7 +7,6 @@ Point images belongs to upper layer of synthetic data. To get this kind of data
|
||||
|
||||
For detail process description, please see :ref:`get_stereo` :ref:`get_stereo_rectified` .
|
||||
|
||||
It is recommended to use plugin to calculate depth: the depth map will be better with a higher frame rate. Please see :ref:`get_with_plugin` for detail.
|
||||
|
||||
Sample code snippet:
|
||||
|
||||
@@ -50,7 +49,7 @@ Sample code snippet:
|
||||
|
||||
`PCL <https://github.com/PointCloudLibrary/pcl>`_ is used to display point images above. Program will close when point image window is closed.
|
||||
|
||||
Complete code examples, see `get_points.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_points.cc>`_ .
|
||||
Complete code examples, see `get_depth_and_points.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_depth_and_points.cc>`_ .
|
||||
|
||||
.. attention::
|
||||
|
||||
|
||||
@@ -37,4 +37,4 @@ Reference commands:
|
||||
|
||||
The above code uses OpenCV to display the image. When the display window is selected, pressing ``ESC/Q`` will end the program.
|
||||
|
||||
Complete code examples, see `get_stereo.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_stereo.cc>`_ .
|
||||
Complete code examples, see `get_stereo.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_stereo.cc>`_ .
|
||||
|
||||
@@ -48,4 +48,4 @@ Reference code snippet:
|
||||
|
||||
OpenCV is used to display the image above. Select the display window, press ``ESC/Q`` to exit the program.
|
||||
|
||||
Complete code examples, see `get_stereo_rectified.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_stereo_rectified.cc>`_ .
|
||||
Complete code examples, see `get_stereo_rectified.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_stereo_rectified.cc>`_ .
|
||||
|
||||
@@ -83,7 +83,7 @@ In addition, the following command can be executed to check whether the dependen
|
||||
|
||||
If the plugin's dependent library is not found, it will report an error \"Open plugin failed\" when loading.
|
||||
|
||||
Complete code sample, see `get_with_plugin.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/data/get_with_plugin.cc>`_ .
|
||||
Complete code sample, see `get_with_plugin.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/get_with_plugin.cc>`_ .
|
||||
|
||||
.. tip::
|
||||
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
Save Device Infomation And Parameters
|
||||
=====================================
|
||||
|
||||
The SDK provides a tool ``save_all_infos`` for save information and parameters. For more information, please read `tools/README.md <https://github.com/slightech/MYNT-EYE-S-SDK/tree/master/tools>`_ .
|
||||
The SDK provides a tool ``save_all_infos`` for save information and parameters.
|
||||
|
||||
Reference commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./tools/_output/bin/writer/save_all_infos
|
||||
./samples/_output/bin/save_all_infos
|
||||
|
||||
# Windows
|
||||
.\tools\_output\bin\writer\save_all_infos.bat
|
||||
.\samples\_output\bin\save_all_infos.bat
|
||||
|
||||
Reference result on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./tools/_output/bin/writer/save_all_infos
|
||||
$ ./samples/_output/bin/save_all_infos
|
||||
I0512 21:40:08.687088 4092 utils.cc:26] Detecting MYNT EYE devices
|
||||
I0512 21:40:09.366693 4092 utils.cc:33] MYNT EYE devices:
|
||||
I0512 21:40:09.366734 4092 utils.cc:37] index: 0, name: MYNT-EYE-S1000
|
||||
|
||||
52
docs/src/sdk/data/save_single_image.rst
Normal file
@@ -0,0 +1,52 @@
|
||||
.. _data_save_single_image:
|
||||
|
||||
Save Single Image
|
||||
=============================
|
||||
|
||||
Press "Space" "s" "S" to save image.
|
||||
|
||||
Reference commands:
|
||||
|
||||
.. code-block:: c++
|
||||
|
||||
api->Start(Source::VIDEO_STREAMING);
|
||||
|
||||
cv::namedWindow("frame");
|
||||
|
||||
std::int32_t count = 0;
|
||||
std::cout << "Press 'Space' 's' 'S' to save image." << std::endl;
|
||||
while (true) {
|
||||
api->WaitForStreams();
|
||||
|
||||
auto &&left_data = api->GetStreamData(Stream::LEFT);
|
||||
auto &&right_data = api->GetStreamData(Stream::RIGHT);
|
||||
if (!left_data.frame.empty() && !right_data.frame.empty()) {
|
||||
cv::Mat img;
|
||||
cv::hconcat(left_data.frame, right_data.frame, img);
|
||||
cv::imshow("frame", img);
|
||||
}
|
||||
|
||||
char key = static_cast<char>(cv::waitKey(1));
|
||||
if (key == 27 || key == 'q' || key == 'Q') { // ESC/Q
|
||||
break;
|
||||
} else if (key == 32 || key == 's' || key == 'S') {
|
||||
if (!left_data.frame.empty() && !right_data.frame.empty()) {
|
||||
char l_name[20];
|
||||
char r_name[20];
|
||||
++count;
|
||||
snprintf(l_name, sizeof(l_name), "left_%d.jpg", count);
|
||||
snprintf(r_name, sizeof(r_name), "right_%d.jpg", count);
|
||||
|
||||
cv::imwrite(l_name, left_data.frame);
|
||||
cv::imwrite(r_name, right_data.frame);
|
||||
|
||||
std::cout << "Saved " << l_name << " " << r_name << " to current directory" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
api->Stop(Source::VIDEO_STREAMING);
|
||||
|
||||
The above code uses OpenCV to display the image. When the display window is selected, pressing ``ESC/Q`` will end the program.
|
||||
|
||||
Complete code examples, see `save_single_image.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/save_single_image.cc>`_ .
|
||||
@@ -3,7 +3,7 @@
|
||||
Write Image Parameters
|
||||
=======================
|
||||
|
||||
The SDK provides a tool ``img_params_writer`` for writing image parameters. For details, read `tools/README.md <https://github.com/slightech/MYNT-EYE-S-SDK/tree/master/tools>`_ .
|
||||
The SDK provides a tool ``write_img_params`` for writing image parameters.
|
||||
|
||||
For getting image parameters, please read :ref:`get_img_params`. This is used to calculate the deviation.
|
||||
|
||||
@@ -11,21 +11,21 @@ Reference commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./tools/_output/bin/writer/img_params_writer tools/writer/config/img.params
|
||||
./samples/_output/bin/write_img_params samples/config/img.params
|
||||
|
||||
# Windows
|
||||
.\tools\_output\bin\writer\img_params_writer.bat tools\writer\config\img.params
|
||||
.\samples\_output\bin\write_img_params.bat samples\config\img.params
|
||||
|
||||
.. warning::
|
||||
|
||||
Please don't override parameters, you can use ``save_all_infos`` to backup parameters.
|
||||
|
||||
And, `tools/writer/config/S1030/img.params.pinhole <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/tools/writer/config/S1030/img.params.pinhole>`_ is the path of S1030 pihole parameters file. If you calibrated parameters yourself, you can edit it and run previous commands to write them into the devices.
|
||||
And, `samples/config/S1030/img.params.pinhole <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/config/S1030/img.params.pinhole>`_ is the path of S1030 pihole parameters file. If you calibrated parameters yourself, you can edit it and run previous commands to write them into the devices.
|
||||
|
||||
.. tip::
|
||||
|
||||
The image calibration parameters of S2100/S210A are in ``tools/writer/config/S210A``
|
||||
The image calibration parameters of S1030 are in ``tools/writer/config/S1030``
|
||||
The image calibration parameters of S21XX are in ``samples/config/S21XX``
|
||||
The image calibration parameters of S1030 are in ``samples/config/S1030``
|
||||
|
||||
.. tip::
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Write IMU Parameters
|
||||
=====================
|
||||
|
||||
SDK provides the tool ``imu_params_writer`` to write IMU parameters. For deltail, please read `tools/README.md <https://github.com/slightech/MYNT-EYE-S-SDK/tree/master/tools>`_ .
|
||||
SDK provides the tool ``write_imu_params`` to write IMU parameters.
|
||||
|
||||
Information about how to get IMU parameters, please read :ref:`get_imu_params` .
|
||||
|
||||
@@ -11,12 +11,12 @@ Reference commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./tools/_output/bin/writer/imu_params_writer tools/writer/config/imu.params
|
||||
./samples/_output/bin/write_imu_params samples/config/imu.params
|
||||
|
||||
# Windows
|
||||
.\tools\_output\bin\writer\imu_params_writer.bat tools\writer\config\imu.params
|
||||
.\samples\_output\bin\write_imu_params.bat samples\config\imu.params
|
||||
|
||||
The path of parameters file can be found in `tools/writer/config/img.params <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/tools/writer/config/img.params>`_ . If you calibrated the parameters yourself, you can edit the file and run above commands to write them into the device.
|
||||
The path of parameters folder can be found in `samples/config/imu.params <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/config>`_ . If you calibrated the parameters yourself, you can edit the file and run above commands to write them into the device.
|
||||
|
||||
.. warning::
|
||||
|
||||
|
||||
136
docs/src/sdk/project/cmake.rst
Normal file
@@ -0,0 +1,136 @@
|
||||
.. _cmake:
|
||||
|
||||
How to use SDK with CMake
|
||||
=========================
|
||||
|
||||
This tutorial will create a project with CMake to start using SDK.
|
||||
|
||||
You could find the project demo in ``<sdk>/samples/simple_demo/project_cmake directory`` .
|
||||
|
||||
Preparation
|
||||
-----------
|
||||
|
||||
- Windows: Install the win pack of SDK
|
||||
- Linux: build from source and ``make install``
|
||||
|
||||
Create Project
|
||||
--------------
|
||||
|
||||
Add ``CMakeLists.txt`` and ``mynteye_demo.cc`` files,
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
|
||||
project(mynteyed_demo VERSION 1.0.0 LANGUAGES C CXX)
|
||||
|
||||
# flags
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3")
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c++11 -march=native")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -march=native")
|
||||
|
||||
## mynteye_demo
|
||||
|
||||
add_executable(mynteye_demo mynteye_demo.cc)
|
||||
target_link_libraries(mynteye_demo mynteye ${OpenCV_LIBS})
|
||||
|
||||
Config Project
|
||||
--------------
|
||||
|
||||
Add ``mynteye`` and ``OpenCV`` packages to ``CMakeLists.txt`` ,
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
# packages
|
||||
|
||||
if(MSVC)
|
||||
set(SDK_ROOT "$ENV{MYNTEYES_SDK_ROOT}")
|
||||
if(SDK_ROOT)
|
||||
message(STATUS "MYNTEYES_SDK_ROOT: ${SDK_ROOT}")
|
||||
list(APPEND CMAKE_PREFIX_PATH
|
||||
"${SDK_ROOT}/lib/cmake"
|
||||
"${SDK_ROOT}/3rdparty/opencv/build"
|
||||
)
|
||||
else()
|
||||
message(FATAL_ERROR "MYNTEYES_SDK_ROOT not found, please install SDK firstly")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
## mynteye
|
||||
|
||||
find_package(mynteye REQUIRED)
|
||||
message(STATUS "Found mynteye: ${mynteye_VERSION}")
|
||||
|
||||
# When SDK build with OpenCV, we can add WITH_OPENCV macro to enable some
|
||||
# features depending on OpenCV, such as ToMat().
|
||||
if(mynteye_WITH_OPENCV)
|
||||
add_definitions(-DWITH_OPENCV)
|
||||
endif()
|
||||
|
||||
## OpenCV
|
||||
|
||||
# Set where to find OpenCV
|
||||
#set(OpenCV_DIR "/usr/share/OpenCV")
|
||||
|
||||
# When SDK build with OpenCV, we must find the same version here.
|
||||
find_package(OpenCV REQUIRED)
|
||||
message(STATUS "Found OpenCV: ${OpenCV_VERSION}")
|
||||
|
||||
Add ``include_directories`` and ``target_link_libraries`` to
|
||||
``mynteye_demo`` target,
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
# targets
|
||||
|
||||
include_directories(
|
||||
${OpenCV_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
## mynteye_demo
|
||||
|
||||
add_executable(mynteye_demo mynteye_demo.cc)
|
||||
target_link_libraries(mynteye_demo mynteye ${OpenCV_LIBS})
|
||||
|
||||
Start using SDK
|
||||
---------------
|
||||
|
||||
Include the headers of SDK and start using its APIs, view the project demo.
|
||||
|
||||
Windows
|
||||
~~~~~~~
|
||||
|
||||
Reference to “Install Build Tools” in :ref:`install_windows_exe` .
|
||||
|
||||
Then open ``x64 Native Tools Command Prompt for VS 2017``
|
||||
command shell to build and run.
|
||||
|
||||
.. code-block:: bat
|
||||
|
||||
mkdir _build
|
||||
cd _build
|
||||
|
||||
cmake -G "Visual Studio 15 2017 Win64" ..
|
||||
|
||||
msbuild.exe ALL_BUILD.vcxproj /property:Configuration=Release
|
||||
|
||||
.\Release\mynteye_demo.exe
|
||||
|
||||
Linux
|
||||
~~~~~
|
||||
|
||||
Open ``Terminal`` to build and run.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir _build
|
||||
cd _build/
|
||||
|
||||
cmake ..
|
||||
|
||||
make
|
||||
|
||||
./mynteye_demo
|
||||
10
docs/src/sdk/project/contents.rst
Normal file
@@ -0,0 +1,10 @@
|
||||
.. _data:
|
||||
|
||||
SDK Project Demos
|
||||
==================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
cmake
|
||||
vs2017
|
||||
83
docs/src/sdk/project/vs2017.rst
Normal file
@@ -0,0 +1,83 @@
|
||||
.. _vs2017:
|
||||
|
||||
How to use SDK with Visual Studio 2017
|
||||
======================================
|
||||
|
||||
This tutorial will create a project with Visual Studio 2017 to start using SDK.
|
||||
|
||||
You could find the project demo in ``<sdk>/samples/simple_demo/project_vs2017`` directory.
|
||||
|
||||
Preparation
|
||||
------------
|
||||
|
||||
- Windows: install the win pack of SDK
|
||||
|
||||
Create Project
|
||||
--------------
|
||||
|
||||
Open Visual Studio 2017, then ``File > New > Project`` ,
|
||||
|
||||
.. image:: ../../../images/project/vs2017/1_new_pro.png
|
||||
|
||||
Select “Windows Console Application”, set the project’s name and location, click “OK”,
|
||||
|
||||
.. image:: ../../../images/project/vs2017/2_new_pro.png
|
||||
|
||||
Finally, you will see the new project like this,
|
||||
|
||||
.. image:: ../../../images/project/vs2017/3_new_pro.png
|
||||
|
||||
Config Properties
|
||||
------------------
|
||||
|
||||
Right click the project, and open its ``Properties`` window,
|
||||
|
||||
.. image:: ../../../images/project/vs2017/4_config.png
|
||||
|
||||
Change ``Configuration`` to ``All Configurations`` , then add the following paths to ``Additional Include Directories`` ,
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$(MYNTEYES_SDK_ROOT)\include
|
||||
$(MYNTEYES_SDK_ROOT)\3rdparty\opencv\build\include
|
||||
|
||||
.. image:: ../../../images/project/vs2017/5_config_include.png
|
||||
|
||||
Add the following definitions to ``Preprocessor Definitions`` ,
|
||||
|
||||
.. code:: bash
|
||||
|
||||
$(MYNTEYES_SDK_ROOT)\lib
|
||||
$(MYNTEYES_SDK_ROOT)\3rdparty\opencv\build\x64\vc15\lib
|
||||
|
||||
.. image:: ../../../images/project/vs2017/6_config_lib_dir.png
|
||||
|
||||
Add the following paths to ``Additional Dependencies`` ,
|
||||
|
||||
.. code:: bash
|
||||
|
||||
mynteye.lib
|
||||
opencv_world343.lib
|
||||
|
||||
.. image:: ../../../images/project/vs2017/7_config_lib.png
|
||||
|
||||
If want to use debug mode, could change ``Configuration`` to ``Debug`` and add following debug libs:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
mynteyed.lib
|
||||
opencv_world343d.lib
|
||||
|
||||
.. image:: ../../../images/project/vs2017/8_config_debug_lib.png
|
||||
|
||||
|
||||
Start using SDK
|
||||
---------------
|
||||
|
||||
Include the headers of SDK and start using its APIs,
|
||||
|
||||
.. image:: ../../../images/project/vs2017/9_run_x64.png
|
||||
|
||||
Select ``Release x64`` or ``Debug x64`` to run the project.
|
||||
|
||||
.. image:: ../../../images/project/vs2017/10_path.png
|
||||
@@ -2,24 +2,47 @@
|
||||
|
||||
Change Log
|
||||
==========
|
||||
2019-08-27(v2.4.2)
|
||||
-------------------
|
||||
|
||||
1. Part of the sample examples were sorted out, and useless tools and engineering code were removed.
|
||||
2. Optimize disparity calculation.
|
||||
3. Improving the logic of model display.
|
||||
4. Fix some bugs.
|
||||
|
||||
2019-08-17(v2.4.1)
|
||||
-------------------
|
||||
|
||||
1. Optimize disparity calculation
|
||||
|
||||
2019-08-09(v2.4.0)
|
||||
-------------------
|
||||
|
||||
1. Optimize the synchronization of images and imu
|
||||
2. Add 4.16+ kernel support on Ubuntu
|
||||
3. Fix missinf frame_id issue in image information
|
||||
4. Fix S1030 device not work issue in mynteye_multiple.launch
|
||||
5. Add save single picture sample save_single_image
|
||||
|
||||
2019-07-03(v2.3.9)
|
||||
-------------------
|
||||
|
||||
1. Fix ros timestamp issue
|
||||
2. Add calibration tool doc
|
||||
|
||||
2019-05-20(v2.3.8)
|
||||
-------------------
|
||||
|
||||
1. Improve VINS-Fusion supporting
|
||||
2. Improve VINS-MONO supporting
|
||||
3. Fix left/right rect image order error
|
||||
|
||||
2019-04-19(v2.3.7)
|
||||
-------------------
|
||||
|
||||
1. Improve VINS-Fusion supporting
|
||||
2. Improve ORB-SLAM2 supporting
|
||||
|
||||
|
||||
2019-04-15(v2.3.6)
|
||||
-------------------
|
||||
|
||||
@@ -30,34 +53,21 @@ Change Log
|
||||
2019-04-01(v2.3.5)
|
||||
-------------------
|
||||
|
||||
1. Improve camera info.
|
||||
|
||||
2. Modify image algorithm parameters by yaml file.
|
||||
|
||||
3. Add opening multi devices launch file in ROS.
|
||||
|
||||
4. Add setting IIC address API of S210A.
|
||||
|
||||
5. Add image/imu flag of external time source.
|
||||
|
||||
6. Add LaserScan sample for S1030.
|
||||
|
||||
7. Modify default orientation of point in ROS.
|
||||
|
||||
1. Improve camera info
|
||||
2. Modify image algorithm parameters by yaml file
|
||||
3. Add opening multi devices launch file in ROS
|
||||
4. Add setting IIC address API of S210A
|
||||
5. Add image/imu flag of external time source
|
||||
6. Add LaserScan sample for S1030
|
||||
7. Modify default orientation of point in ROS
|
||||
|
||||
2019-03-18(v2.3.4)
|
||||
-------------------
|
||||
|
||||
1. Add API to get auxiliary chip&ISP's version(Depend on S2100/S210A 1.1 firmware & 1.0 subsidiary chip firmware).
|
||||
|
||||
2. Fix point fragment issue in image algorithm.
|
||||
|
||||
3. Add 376*240 resolution support to S1030(Depend on 2.4.0 firmware of S1030).
|
||||
|
||||
4. Add API to handle imu temperature drift.(Depend on imu calibration)
|
||||
|
||||
5. Add version check feature.
|
||||
|
||||
6. Fix depth image crash issue when use CUDA plugin.
|
||||
|
||||
7. Documents update.
|
||||
1. Add API to get auxiliary chip&ISP's version (Depend on S2100/S210A 1.1 firmware & 1.0 subsidiary chip firmware)
|
||||
2. Fix point fragment issue in image algorithm
|
||||
3. Add 376*240 resolution support to S1030 (Depend on 2.4.0 firmware of S1030)
|
||||
4. Add API to handle imu temperature drift (Depend on imu calibration)
|
||||
5. Add version check feature
|
||||
6. Fix depth image crash issue when use CUDA plugin
|
||||
7. Documents update
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
.. _analytics_dataset:
|
||||
|
||||
Recording Data Sets
|
||||
====================
|
||||
|
||||
The SDK provides the tool ``record`` for recording data sets. Tool details can be seen in `tools/README.md <https://github.com/slightech/MYNT-EYE-S-SDK/tree/master/tools>`_ .
|
||||
|
||||
Reference run command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
./tools/_output/bin/dataset/record2
|
||||
|
||||
# Windows
|
||||
.\tools\_output\bin\dataset\record2.bat
|
||||
|
||||
Reference run results on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ./tools/_output/bin/dataset/record
|
||||
I0513 21:28:57.128947 11487 utils.cc:26] Detecting MYNT EYE devices
|
||||
I0513 21:28:57.807116 11487 utils.cc:33] MYNT EYE devices:
|
||||
I0513 21:28:57.807155 11487 utils.cc:37] index: 0, name: MYNT-EYE-S1000
|
||||
I0513 21:28:57.807163 11487 utils.cc:43] Only one MYNT EYE device, select index: 0
|
||||
I0513 21:28:57.808437 11487 channels.cc:114] Option::GAIN: min=0, max=48, def=24, cur=24
|
||||
I0513 21:28:57.809999 11487 channels.cc:114] Option::BRIGHTNESS: min=0, max=240, def=120, cur=120
|
||||
I0513 21:28:57.818678 11487 channels.cc:114] Option::CONTRAST: min=0, max=255, def=127, cur=127
|
||||
I0513 21:28:57.831529 11487 channels.cc:114] Option::FRAME_RATE: min=10, max=60, def=25, cur=25
|
||||
I0513 21:28:57.848914 11487 channels.cc:114] Option::IMU_FREQUENCY: min=100, max=500, def=200, cur=500
|
||||
I0513 21:28:57.865185 11487 channels.cc:114] Option::EXPOSURE_MODE: min=0, max=1, def=0, cur=0
|
||||
I0513 21:28:57.881434 11487 channels.cc:114] Option::MAX_GAIN: min=0, max=48, def=48, cur=48
|
||||
I0513 21:28:57.897598 11487 channels.cc:114] Option::MAX_EXPOSURE_TIME: min=0, max=240, def=240, cur=240
|
||||
I0513 21:28:57.913918 11487 channels.cc:114] Option::DESIRED_BRIGHTNESS: min=0, max=255, def=192, cur=192
|
||||
I0513 21:28:57.930177 11487 channels.cc:114] Option::IR_CONTROL: min=0, max=160, def=0, cur=0
|
||||
I0513 21:28:57.946341 11487 channels.cc:114] Option::HDR_MODE: min=0, max=1, def=0, cur=0
|
||||
Saved 1007 imgs, 20040 imus to ./dataset
|
||||
I0513 21:29:38.608772 11487 record.cc:118] Time beg: 2018-05-13 21:28:58.255395, end: 2018-05-13 21:29:38.578696, cost: 40323.3ms
|
||||
I0513 21:29:38.608853 11487 record.cc:121] Img count: 1007, fps: 24.9732
|
||||
I0513 21:29:38.608873 11487 record.cc:123] Imu count: 20040, hz: 496.983
|
||||
|
||||
Results save into ``<workdir>/dataset`` by default. You can also add parameter, select other directory to save.
|
||||
|
||||
Record contents:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
<workdir>/
|
||||
└─dataset/
|
||||
├─left/
|
||||
│ ├─stream.txt # Image infomation
|
||||
│ ├─000000.png # Image,index 0
|
||||
│ └─...
|
||||
├─right/
|
||||
│ ├─stream.txt # Image information
|
||||
│ ├─000000.png # Image,index 0
|
||||
│ └─...
|
||||
└─motion.txt # IMU information
|
||||
@@ -1,38 +0,0 @@
|
||||
.. _analytics_imu:
|
||||
|
||||
Analyzing IMU
|
||||
==============
|
||||
|
||||
The SDK provides the script ``imu_analytics.py`` for IMU analysis. The tool details can be seen in `tools/README.md <https://github.com/slightech/MYNT-EYE-S-SDK/tree/master/tools>`_ .
|
||||
Refer to run commands and results on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ python tools/analytics/imu_analytics.py -i dataset -c tools/config/mynteye/mynteye_config.yaml -al=-1.2,1.2 -gl= -gdu=d -gsu=d -kl=
|
||||
imu analytics ...
|
||||
input: dataset
|
||||
outdir: dataset
|
||||
gyro_limits: None
|
||||
accel_limits: [(-1.2, 1.2), (-1.2, 1.2), (-1.2, 1.2), (-1.2, 1.2)]
|
||||
time_unit: None
|
||||
time_limits: None
|
||||
auto: False
|
||||
gyro_show_unit: d
|
||||
gyro_data_unit: d
|
||||
temp_limits: None
|
||||
open dataset ...
|
||||
imu: 20040, temp: 20040
|
||||
timebeg: 4.384450, timeend: 44.615550, duration: 40.231100
|
||||
save figure to:
|
||||
dataset/imu_analytics.png
|
||||
imu analytics done
|
||||
|
||||
The analysis result graph will be saved in the data set directory, as follows:
|
||||
|
||||
.. image:: ../../../images/sdk/tools/imu_analytics.png
|
||||
|
||||
In addition, the script specific options can be executed ``-h``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ python tools/analytics/imu_analytics.py -h
|
||||
@@ -1,55 +0,0 @@
|
||||
.. _analytics_stamp:
|
||||
|
||||
Analyze Time Stamps
|
||||
====================
|
||||
|
||||
SDK provides a script for timestamp analysis ``stamp_analytics.py`` . Tool details are visible in `tools/README.md <https://github.com/slightech/MYNT-EYE-S-SDK/tree/master/tools>`_ .
|
||||
|
||||
Reference run commands and results on Linux:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ python tools/analytics/stamp_analytics.py -i dataset -c tools/config/mynteye/mynteye_config.yaml
|
||||
stamp analytics ...
|
||||
input: dataset
|
||||
outdir: dataset
|
||||
open dataset ...
|
||||
save to binary files ...
|
||||
binimg: dataset/stamp_analytics_img.bin
|
||||
binimu: dataset/stamp_analytics_imu.bin
|
||||
img: 1007, imu: 20040
|
||||
|
||||
rate (Hz)
|
||||
img: 25, imu: 500
|
||||
sample period (s)
|
||||
img: 0.04, imu: 0.002
|
||||
|
||||
diff count
|
||||
imgs: 1007, imus: 20040
|
||||
imgs_t_diff: 1006, imus_t_diff: 20039
|
||||
|
||||
diff where (factor=0.1)
|
||||
imgs where diff > 0.04*1.1 (0)
|
||||
imgs where diff < 0.04*0.9 (0)
|
||||
imus where diff > 0.002*1.1 (0)
|
||||
imus where diff < 0.002*0.9 (0)
|
||||
|
||||
image timestamp duplicates: 0
|
||||
|
||||
save figure to:
|
||||
dataset/stamp_analytics.png
|
||||
stamp analytics done
|
||||
|
||||
The analysis result graph will be saved in the dataset directory, as follows:
|
||||
|
||||
.. image:: ../../../images/sdk/tools/stamp_analytics.png
|
||||
|
||||
In addition, the script specific options can be executed ``-h`` to understand:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ python tools/analytics/stamp_analytics.py -h
|
||||
|
||||
.. tip::
|
||||
|
||||
Suggestions when recording data sets ``record.cc`` annotation display image inside ``cv::imshow()``, ``dataset.cc`` annotation display image inside ``cv::imwrite()`` . Because these operations are time-consuming, they can cause images to be discarded. In other words, consumption can't keep up with production, so some images are discarded. ``GetStreamDatas()`` used in ``record.cc`` only caches the latest 4 images.
|
||||
@@ -1,9 +0,0 @@
|
||||
SDK Tools
|
||||
==================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
analytics_dataset
|
||||
analytics_imu
|
||||
analytics_stamp
|
||||
@@ -11,6 +11,11 @@ If you wanna run OKVIS with MYNT EYE camera, please follow the steps:
|
||||
3. Update camera parameters to ``<OKVIS>/config/config_mynteye.yaml``.
|
||||
4. Run OKVIS using MYNT® EYE.
|
||||
|
||||
.. tip::
|
||||
|
||||
OKVIS doesn't support ARM right now
|
||||
|
||||
|
||||
Install MYNTEYE OKVIS
|
||||
---------------------
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Prerequisites
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get -y install libglew-dev cmake
|
||||
sudo apt-get -y install libglew-dev cmake libgoogle-glog-dev
|
||||
cd ~
|
||||
git clone https://github.com/stevenlovegrove/Pangolin.git
|
||||
cd Pangolin
|
||||
|
||||
@@ -1,269 +0,0 @@
|
||||
.. _calibration_tool:
|
||||
|
||||
Calibration Tool Manual
|
||||
=======================
|
||||
|
||||
Introduction
|
||||
--------
|
||||
|
||||
1.1 Support Platform
|
||||
--------
|
||||
|
||||
Currently the calibration tool only supports Ubuntu 16.04 LTS, but support the official, ROS multiple version of OpenCV dependencies.
|
||||
|
||||
==================== ==================== ======================
|
||||
Platform Architecture Different dependence
|
||||
==================== ==================== ======================
|
||||
Ubuntu 16.04 LTS x64(amd64) libopencv-dev
|
||||
Ubuntu 16.04 LTS x64(amd64) ros-kinetic-opencv3
|
||||
==================== ==================== ======================
|
||||
|
||||
|
||||
|
||||
1.2 Tools description
|
||||
--------
|
||||
|
||||
Deb/ppa installation package is available on Ubuntu. The architecture, dependencies, and versions will be distinguished from the name:
|
||||
|
||||
* mynteye-s-calibrator-opencv-official-1.0.0_amd64.deb
|
||||
* mynteye-s-calibrator-opencv-ros-kinetic-1.0.0_amd64.deb
|
||||
|
||||
======================= ==================== ============================================================
|
||||
Dependency identifier Dependency package Detailed description
|
||||
======================= ==================== ============================================================
|
||||
opencv-official libopencv-dev https://packages.ubuntu.com/xenial/libopencv-dev
|
||||
opencv-ros-kinetic ros-kinetic-opencv3 http://wiki.ros.org/opencv3
|
||||
======================= ==================== ============================================================
|
||||
|
||||
|
||||
1.3 Deb Toolkit Get
|
||||
--------
|
||||
|
||||
==================== ========================================================================
|
||||
Method of Obtaining Get address
|
||||
==================== ========================================================================
|
||||
Baidu Cloud https://pan.baidu.com/s/19rW0fPKUlQj6eldZpZFoAA Extraction code: a6ps
|
||||
Google Drive https://drive.google.com/open?id=1RsV2WEKAsfxbn-Z5nGjk5g3ml1UDEsDc
|
||||
==================== ========================================================================
|
||||
|
||||
|
||||
Installation
|
||||
--------
|
||||
|
||||
2.1 Installation Preparation
|
||||
--------
|
||||
* Ubuntu 16.04 LTS environment, x64 architecture
|
||||
* Deb package for the calibration tool, select OpenCV dependencies as needed
|
||||
(this step is not required for PPA installation)
|
||||
|
||||
2.2 Install ppa Package
|
||||
--------
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo add-apt-repository ppa:slightech/mynt-eye-s-sdk
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get install mynteye-s-calibrator
|
||||
$ sudo ln -sf /opt/myntai/mynteye-s-calibrator/mynteye-s-calibrator /usr/local/bin/ mynteye-s-calibrator
|
||||
|
||||
|
||||
2.3 Install deb Package
|
||||
--------
|
||||
Install the deb package with udo dpkg -i:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo dpkg -i mynteye-s-calibrator-opencv-official-1.0.0_amd64.deb
|
||||
...
|
||||
(Reading database ... 359020 files and directories currently installed.)
|
||||
Preparing to unpack mynteye-s-calibrator-opencv-official-1.0.0_amd64.deb ...
|
||||
Unpacking mynteye-s-calibrator (1.0.0) over (1.0.0) ...
|
||||
Setting up mynteye-s-calibrator (1.0.0) ...
|
||||
|
||||
If you encounter an error that the dependency package is not installed, for example:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo dpkg -i mynteye-s-calibrator-opencv-official-1.0.0_amd64.deb
|
||||
Selecting previously unselected package mynteye-s-calibrator.
|
||||
(Reading database ... 358987 files and directories currently installed.)
|
||||
Preparing to unpack mynteye-s-calibrator-opencv-official-1.0.0_amd64.deb ...
|
||||
Unpacking mynteye-s-calibrator (1.0.0) ...
|
||||
dpkg: dependency problems prevent configuration of mynteye-s-calibrator:
|
||||
mynteye-s-calibrator depends on libatlas-base-dev; however:
|
||||
Package libatlas-base-dev is not installed.
|
||||
dpkg: error processing package mynteye-s-calibrator (--install):
|
||||
dependency problems - leaving unconfigured
|
||||
Errors were encountered while processing:
|
||||
mynteye-s-calibrator
|
||||
|
||||
You can continue use sudo apt-get -f install to finished install
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ sudo apt-get -f install
|
||||
Reading package lists... Done
|
||||
Building dependency tree
|
||||
Reading state information... Done
|
||||
Correcting dependencies... Done
|
||||
The following additional packages will be installed:
|
||||
libatlas-base-dev
|
||||
Suggested packages:
|
||||
libblas-doc liblapack-doc
|
||||
The following NEW packages will be installed:
|
||||
libatlas-base-dev
|
||||
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
|
||||
1 not fully installed or removed.
|
||||
Need to get 3,596 kB of archives.
|
||||
After this operation, 30.8 MB of additional disk space will be used.
|
||||
Do you want to continue? [Y/n]
|
||||
Get:1 http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64 libatlas-base-dev amd64 3.10.2-9 [3,596 kB]
|
||||
Fetched 3,596 kB in 3s (1,013 kB/s)
|
||||
Selecting previously unselected package libatlas-base-dev.
|
||||
(Reading database ... 358993 files and directories currently installed.)
|
||||
Preparing to unpack .../libatlas-base-dev_3.10.2-9_amd64.deb ...
|
||||
Unpacking libatlas-base-dev (3.10.2-9) ...
|
||||
Setting up libatlas-base-dev (3.10.2-9) ...
|
||||
update-alternatives: using /usr/lib/atlas-base/atlas/libblas.so to provide /usr/lib/libblas.so (libblas.so) in auto mode
|
||||
update-alternatives: using /usr/lib/atlas-base/atlas/liblapack.so to provide /usr/lib/liblapack.so (liblapack.so) in auto mode
|
||||
Setting up mynteye-s-calibrator (1.0.0) ...
|
||||
|
||||
|
||||
How To Use
|
||||
--------
|
||||
|
||||
3.1 Preparation For Use
|
||||
--------
|
||||
* MYNT EYE S Camera
|
||||
* Checkerboard
|
||||
* Evenly illuminated scene
|
||||
|
||||
3.2 Use Command
|
||||
--------
|
||||
|
||||
* After installing the calibration tool, you can run the `mynteye-s-calibrator` command directly on the terminal to calibrate. -h can see its options:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ mynteye-s-calibrator -h
|
||||
Usage: mynteye-s-calibrator [options]
|
||||
help: mynteye-s-calibrator -h
|
||||
calibrate: mynteye-s-calibrator -x 11 -y 7 -s 0.036
|
||||
Calibrate MYNT EYE S device.
|
||||
|
||||
Options:
|
||||
|
||||
-h, --help show this help message and exit
|
||||
-x WIDTH, --width=WIDTH The chessboard width, default: 11
|
||||
-y HEIGHT, --height=HEIGHT The chessboard height, default: 7
|
||||
-s METERS, --square=METERS The chessboard square size in meters, default: 0.036
|
||||
-n NUMBER, --number=NUMBER The number of imagestools to use for calibration, default: 11
|
||||
-p PATH, --path=PATH The path to save the result, default: folder name using device's SN
|
||||
|
||||
* -x -y -s Used to set the width, height, and grid size of the calibration plate. Width and height refer to the number of black and white intersections in the horizontal and vertical directions of the checkerboard. Square size in meters.
|
||||
|
||||
|
||||
3.3 Steps For Usage
|
||||
--------
|
||||
|
||||
* First, connect the MYNT EYE S camera.
|
||||
|
||||
* Then, run the mynteye-s-calibrator <calibration board parameter> command in the terminal.
|
||||
|
||||
.. image:: ../../images/tools/calibration001.png
|
||||
:width: 60%
|
||||
|
||||
* Follow the prompts to select an index for the camera's resolution, perform image calibration at this resolution
|
||||
|
||||
* The S1030 camera only need calibrate 752*480 resolution. The S2100 camera need calibrate 2560*800 and 1280*400 resolutions.
|
||||
|
||||
* As far as possible, let the calibration plate cover the left and right eye images of the camera,
|
||||
and take care of the surroundings (maximum distortion). The calibration tool will automatically
|
||||
evaluate the qualified image for the calibration calculation and will indicate on the terminal how many have been selected.
|
||||
|
||||
Reference acquisition image, as follows:
|
||||
|
||||
.. image:: ../../images/tools/calibration002.png
|
||||
:width: 60%
|
||||
|
||||
.. image:: ../../images/tools/calibration003.png
|
||||
:width: 60%
|
||||
|
||||
.. image:: ../../images/tools/calibration004.png
|
||||
:width: 60%
|
||||
|
||||
.. image:: ../../images/tools/calibration005.png
|
||||
:width: 60%
|
||||
|
||||
.. image:: ../../images/tools/calibration006.png
|
||||
:width: 60%
|
||||
|
||||
|
||||
* Note: p_x, p_y, size, skew respectively indicate the scale of the calibration plate on the x-axis, y-axis,
|
||||
zoom, and tilt when the image is acquired. Make a point for reference.
|
||||
|
||||
* Once the number of images acquired by the calibration needs is reached,
|
||||
the calibration calculation will be performed. The output is as follows:
|
||||
|
||||
|
||||
.. image:: ../../images/tools/calibration007.png
|
||||
:width: 60%
|
||||
|
||||
|
||||
* 1. The terminal will print out the left and right purpose calibration results.
|
||||
|
||||
* 2. The calibration results will be written into the files in <SN number> directory.
|
||||
|
||||
a) camera_left.yaml: Left eye parameter
|
||||
b) camera_right.yaml: Right eye parameter
|
||||
c) extrinsics.yaml: Binocular external parameter
|
||||
d) img.params.equidistant: Camera parameters, which can be used for S SDK writing
|
||||
e) stereo_reprojection_error.yaml: Reprojection error
|
||||
|
||||
* Finally, you will also be asked if you want to write to the camera device. Enter or `y` to confirm
|
||||
|
||||
.. image:: ../../images/tools/calibration008.png
|
||||
:width: 60%
|
||||
|
||||
* After writing to the device, you will be prompted with "Write to device done".
|
||||
|
||||
|
||||
|
||||
3.4 Calibration result
|
||||
--------
|
||||
Calibration result, It is desirable to have a reprojection error of 0.2 or less. If exceeds 1, it needs to be recalibrated.
|
||||
|
||||
Reprojection error, visible output after calibration completion "Final reprojection error: 0.201
|
||||
|
||||
Pixels", or see the calibration result file "stereo_reprojection_error.yaml".
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
.. _tools:
|
||||
|
||||
TOOLS SUPPORT
|
||||
==============
|
||||
|
||||
.. toctree::
|
||||
|
||||
calibration_tool
|
||||
@@ -54,7 +54,7 @@ The ROS file is structured like follows:
|
||||
│ ├─config/
|
||||
│ │ ├─device/
|
||||
│ │ ├─standard.yaml # S1030
|
||||
│ │ └─standard2.yaml # S2100/S210A
|
||||
│ │ └─standard2.yaml # S21XX
|
||||
│ │ ├─laserscan/
|
||||
│ │ ├─process/
|
||||
│ │ └─...
|
||||
@@ -72,14 +72,14 @@ The ROS file is structured like follows:
|
||||
│ └─package.xml
|
||||
└─README.md
|
||||
|
||||
In ``mynteye.launch``, you can configure the topics and frame_ids, decide which data to enable, ``standard.yaml`` (standard2.yaml is S2100/S210A config file) can set parameters for device. Please set ``gravity`` to the local gravity acceleration.
|
||||
In ``mynteye.launch``, you can configure the topics and frame_ids, decide which data to enable, ``standard.yaml`` (standard2.yaml is S21XX config file) can set parameters for device. Please set ``gravity`` to the local gravity acceleration.
|
||||
|
||||
|
||||
standard.yaml/standard2.yaml:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
# s2100/s210a modify frame/resolution
|
||||
# s21XX modify frame/resolution
|
||||
standard2/request_index: 2
|
||||
|
||||
# s1030 modify frame/imu hz
|
||||
@@ -93,15 +93,15 @@ standard.yaml/standard2.yaml:
|
||||
...
|
||||
|
||||
# s2100 modify brightness
|
||||
# standard2/brightness range: [0,240]
|
||||
# standard2/brightness range: [1,255]
|
||||
standard2/brightness: -1
|
||||
# standard2/brightness: 120
|
||||
# standard2/brightness: 70
|
||||
...
|
||||
|
||||
# s210a modify brightness
|
||||
# standard210a/brightness range: [0,240]
|
||||
# standard210a/brightness range: [1,255]
|
||||
standard210a/brightness: -1
|
||||
# standard210a/brightness: 120
|
||||
# standard210a/brightness: 70
|
||||
...
|
||||
|
||||
|
||||
|
||||
@@ -237,6 +237,11 @@ class MYNTEYE_API API {
|
||||
void SetDisparityComputingMethodType(
|
||||
const DisparityComputingMethod &MethodType);
|
||||
|
||||
/**
|
||||
* Set the rectify bord cut alpha.
|
||||
*/
|
||||
void SetRectifyAlpha(const double &alpha);
|
||||
|
||||
/**
|
||||
* Set if the duplicate frames is enable.
|
||||
*/
|
||||
@@ -247,6 +252,11 @@ class MYNTEYE_API API {
|
||||
*/
|
||||
void SetOptionValue(const Option &option, std::int32_t value);
|
||||
|
||||
/**
|
||||
* Set the option value.
|
||||
*/
|
||||
bool SetOptionValue(const Option &option, std::uint64_t value);
|
||||
|
||||
/**
|
||||
* Run the option action.
|
||||
*/
|
||||
@@ -364,6 +374,8 @@ class MYNTEYE_API API {
|
||||
*/
|
||||
bool ConfigDisparityFromFile(const std::string& config_file);
|
||||
|
||||
bool IsDefaultIntrinsics();
|
||||
|
||||
private:
|
||||
std::shared_ptr<Device> device_;
|
||||
|
||||
|
||||
@@ -223,6 +223,10 @@ class MYNTEYE_API Device {
|
||||
* Set the option value.
|
||||
*/
|
||||
void SetOptionValue(const Option &option, std::int32_t value);
|
||||
/**
|
||||
* Set the option value.
|
||||
*/
|
||||
bool SetOptionValue(const Option &option, std::uint64_t value);
|
||||
|
||||
/**
|
||||
* Run the option action.
|
||||
@@ -300,6 +304,8 @@ class MYNTEYE_API Device {
|
||||
/** Enable process mode, e.g. imu assembly, temp_drift */
|
||||
void EnableProcessMode(const std::int32_t& mode);
|
||||
|
||||
bool CheckImageParams();
|
||||
|
||||
protected:
|
||||
std::shared_ptr<uvc::device> device() const {
|
||||
return device_;
|
||||
@@ -379,6 +385,8 @@ class MYNTEYE_API Device {
|
||||
bool SetFiles(
|
||||
DeviceInfo *info, img_params_map_t *img_params, imu_params_t *imu_params);
|
||||
|
||||
bool is_default_intrinsics_;
|
||||
|
||||
friend API;
|
||||
friend tools::DeviceWriter;
|
||||
};
|
||||
|
||||
@@ -44,6 +44,8 @@ enum class Model : std::uint8_t {
|
||||
STANDARD2,
|
||||
/** Standard 210a */
|
||||
STANDARD210A,
|
||||
/** Standard 200b */
|
||||
STANDARD200B,
|
||||
/** Last guard */
|
||||
LAST
|
||||
};
|
||||
@@ -223,8 +225,8 @@ enum class Option : std::uint8_t {
|
||||
/**
|
||||
* HDR mode
|
||||
* <p>
|
||||
* 0: 10-bit<br>
|
||||
* 1: 12-bit
|
||||
* 0: normal<br>
|
||||
* 1: WDR
|
||||
* </p>
|
||||
*/
|
||||
HDR_MODE,
|
||||
@@ -273,6 +275,9 @@ enum class Option : std::uint8_t {
|
||||
/** Erase chip */
|
||||
ERASE_CHIP,
|
||||
|
||||
/** Sync timestamp */
|
||||
SYNC_TIMESTAMP,
|
||||
|
||||
/** Last guard */
|
||||
LAST
|
||||
};
|
||||
@@ -770,6 +775,7 @@ struct CameraROSMsgInfoPair {
|
||||
struct CameraROSMsgInfo left;
|
||||
struct CameraROSMsgInfo right;
|
||||
double T_mul_f = -1.f;
|
||||
double cx1_minus_cx2 = 0.f;
|
||||
double R[9] = {0};
|
||||
double P[12] = {0};
|
||||
};
|
||||
|
||||
@@ -59,28 +59,231 @@ endif()
|
||||
|
||||
#LIST(APPEND CMAKE_MODULE_PATH ${PRO_DIR}/cmake)
|
||||
|
||||
|
||||
|
||||
|
||||
# targets
|
||||
|
||||
set(OUT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/_output")
|
||||
|
||||
|
||||
include_directories(
|
||||
${PRO_DIR}/src
|
||||
)
|
||||
|
||||
set_outdir(
|
||||
"${OUT_DIR}/lib"
|
||||
"${OUT_DIR}/lib"
|
||||
"${OUT_DIR}/bin"
|
||||
)
|
||||
|
||||
if(OS_MAC)
|
||||
# samples above uvc layer
|
||||
|
||||
add_subdirectory(uvc)
|
||||
make_executable(camera_u
|
||||
SRCS uvc_camera.cc
|
||||
LINK_LIBS mynteye ${OpenCV_LIBS}
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
else()
|
||||
# samples above device layer
|
||||
|
||||
add_subdirectory(device)
|
||||
|
||||
# tutorials
|
||||
|
||||
if(WITH_API)
|
||||
add_subdirectory(tutorials)
|
||||
endif()
|
||||
make_executable(camera_with_junior_device_api
|
||||
SRCS camera_with_junior_device_api.cc
|
||||
LINK_LIBS mynteye ${OpenCV_LIBS}
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
# samples above api layer
|
||||
|
||||
if(WITH_API)
|
||||
add_subdirectory(api)
|
||||
## camera_a
|
||||
|
||||
make_executable(camera_with_senior_api
|
||||
SRCS camera_with_senior_api.cc
|
||||
LINK_LIBS mynteye ${OpenCV_LIBS}
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
## get_depth_with_region
|
||||
|
||||
make_executable(get_depth_with_region
|
||||
SRCS get_depth_with_region.cc
|
||||
LINK_LIBS mynteye ${OpenCV_LIBS}
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
# targets
|
||||
|
||||
include_directories(
|
||||
${OpenCV_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
|
||||
# tutorials
|
||||
|
||||
if(WITH_API)
|
||||
|
||||
# make_executable2(NAME
|
||||
# [SRCS src1 src2 ...]
|
||||
# [WITH_OPENCV]
|
||||
# [WITH_PCL])
|
||||
macro(make_executable2 NAME)
|
||||
set(options WITH_OPENCV WITH_PCL)
|
||||
set(oneValueArgs)
|
||||
set(multiValueArgs SRCS)
|
||||
cmake_parse_arguments(THIS "${options}" "${oneValueArgs}"
|
||||
"${multiValueArgs}" ${ARGN})
|
||||
|
||||
set(__link_libs mynteye)
|
||||
set(__dll_search_paths ${PRO_DIR}/_install/bin)
|
||||
if(THIS_WITH_OPENCV)
|
||||
list(APPEND __link_libs ${OpenCV_LIBS})
|
||||
list(APPEND __dll_search_paths ${OpenCV_LIB_SEARCH_PATH})
|
||||
endif()
|
||||
if(THIS_WITH_PCL)
|
||||
list(APPEND __link_libs ${PCL_LIBRARIES})
|
||||
#list(APPEND __link_libs pcl::pcl)
|
||||
list(APPEND __dll_search_paths ${PCL_LIB_SEARCH_PATH})
|
||||
endif()
|
||||
|
||||
add_executable(${NAME} ${THIS_SRCS})
|
||||
target_link_libraries(${NAME} ${__link_libs})
|
||||
target_create_scripts(${NAME} DLL_SEARCH_PATHS ${__dll_search_paths})
|
||||
|
||||
if(THIS_WITH_PCL)
|
||||
target_include_directories(${NAME} PRIVATE ${PCL_INCLUDE_DIRS})
|
||||
#target_compile_definitions(${NAME} PRIVATE ${PCL_DEFINITIONS})
|
||||
#target_compile_options(${NAME} PRIVATE ${PCL_COMPILE_OPTIONS})
|
||||
endif()
|
||||
if(OS_WIN)
|
||||
target_compile_definitions(${NAME}
|
||||
PUBLIC GLOG_NO_ABBREVIATED_SEVERITIES
|
||||
)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
# packages
|
||||
|
||||
# If you install PCL to different directory, please set CMAKE_PREFIX_PATH to find it.
|
||||
#LIST(APPEND CMAKE_PREFIX_PATH /usr/local/share)
|
||||
find_package(PCL)
|
||||
if(PCL_FOUND)
|
||||
message(STATUS "Found PCL: ${PCL_VERSION}")
|
||||
|
||||
#message(STATUS "PCL_LIBRARIES: ${PCL_LIBRARIES}")
|
||||
#message(STATUS "PCL_INCLUDE_DIRS: ${PCL_INCLUDE_DIRS}")
|
||||
#message(STATUS "PCL_LIBRARY_DIRS: ${PCL_LIBRARY_DIRS}")
|
||||
#message(STATUS "PCL_DEFINITIONS: ${PCL_DEFINITIONS}")
|
||||
#message(STATUS "PCL_COMPILE_OPTIONS: ${PCL_COMPILE_OPTIONS}")
|
||||
|
||||
if(OS_WIN)
|
||||
get_filename_component(PCL_LIB_SEARCH_PATH "${PCL_LIBRARY_DIRS}/../bin" ABSOLUTE)
|
||||
else()
|
||||
set(PCL_LIB_SEARCH_PATH "${PCL_LIBRARY_DIRS}")
|
||||
endif()
|
||||
else()
|
||||
message(WARNING "PCL not found :(")
|
||||
endif()
|
||||
|
||||
# beginner level
|
||||
|
||||
## data
|
||||
|
||||
make_executable2(get_device_info SRCS get_device_info.cc WITH_OPENCV)
|
||||
make_executable2(get_img_params SRCS get_img_params.cc WITH_OPENCV)
|
||||
make_executable2(get_imu_params SRCS get_imu_params.cc WITH_OPENCV)
|
||||
|
||||
make_executable2(get_stereo_rectified SRCS get_stereo_rectified.cc WITH_OPENCV)
|
||||
make_executable2(get_disparity SRCS get_disparity.cc WITH_OPENCV)
|
||||
make_executable2(get_depth SRCS get_depth.cc WITH_OPENCV)
|
||||
|
||||
make_executable2(get_data_without_select SRCS get_data_without_select.cc WITH_OPENCV)
|
||||
make_executable2(get_imu_correspondence
|
||||
SRCS get_imu_correspondence.cc util_cv.cc
|
||||
WITH_OPENCV
|
||||
)
|
||||
make_executable2(get_imu SRCS get_imu.cc util_cv.cc WITH_OPENCV)
|
||||
make_executable2(save_single_image SRCS save_single_image.cc WITH_OPENCV)
|
||||
make_executable2(get_from_callbacks
|
||||
SRCS get_from_callbacks.cc util_cv.cc
|
||||
WITH_OPENCV
|
||||
)
|
||||
make_executable2(get_with_plugin SRCS get_with_plugin.cc WITH_OPENCV)
|
||||
|
||||
## control
|
||||
|
||||
make_executable2(ctrl_framerate SRCS ctrl_framerate.cc WITH_OPENCV)
|
||||
make_executable2(ctrl_imu_low_pass_filter SRCS ctrl_imu_low_pass_filter.cc WITH_OPENCV)
|
||||
make_executable2(ctrl_imu_range SRCS ctrl_imu_range.cc WITH_OPENCV)
|
||||
make_executable2(ctrl_infrared SRCS ctrl_infrared.cc WITH_OPENCV)
|
||||
make_executable2(ctrl_iic_address SRCS ctrl_iic_address.cc WITH_OPENCV)
|
||||
make_executable2(ctrl_sync_timestamp SRCS ctrl_sync_timestamp.cc WITH_OPENCV)
|
||||
make_executable2(ctrl_auto_exposure
|
||||
SRCS ctrl_auto_exposure.cc util_cv.cc
|
||||
WITH_OPENCV
|
||||
)
|
||||
make_executable2(ctrl_manual_exposure
|
||||
SRCS ctrl_manual_exposure.cc util_cv.cc
|
||||
WITH_OPENCV
|
||||
)
|
||||
|
||||
if(PCL_FOUND)
|
||||
|
||||
make_executable2(get_depth_and_points
|
||||
SRCS get_depth_and_points.cc util_cv.cc util_pcl.cc
|
||||
WITH_OPENCV WITH_PCL
|
||||
)
|
||||
|
||||
endif()
|
||||
endif()
|
||||
|
||||
## device_writer
|
||||
|
||||
add_library(device_writer STATIC device_writer.cc)
|
||||
target_link_libraries(device_writer mynteye ${OpenCV_LIBS})
|
||||
|
||||
## device_info_writer
|
||||
|
||||
make_executable(write_device_info
|
||||
SRCS write_device_info.cc
|
||||
LINK_LIBS device_writer
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
## img_params_writer
|
||||
|
||||
make_executable(write_img_params
|
||||
SRCS write_img_params.cc
|
||||
LINK_LIBS device_writer
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
## imu_params_writer
|
||||
|
||||
make_executable(write_imu_params
|
||||
SRCS write_imu_params.cc
|
||||
LINK_LIBS device_writer
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
## save_all_infos
|
||||
|
||||
make_executable(save_all_infos
|
||||
SRCS save_all_infos.cc
|
||||
LINK_LIBS device_writer
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
## record
|
||||
|
||||
make_executable(record
|
||||
SRCS record.cc dataset.cc
|
||||
LINK_LIBS mynteye ${OpenCV_LIBS}
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
# Copyright 2018 Slightech Co., Ltd. All rights reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
get_filename_component(DIR_NAME ${CMAKE_CURRENT_LIST_DIR} NAME)
|
||||
|
||||
set_outdir(
|
||||
"${OUT_DIR}/lib/${DIR_NAME}"
|
||||
"${OUT_DIR}/lib/${DIR_NAME}"
|
||||
"${OUT_DIR}/bin/${DIR_NAME}"
|
||||
)
|
||||
|
||||
## camera_a
|
||||
|
||||
make_executable(camera_a
|
||||
SRCS camera.cc
|
||||
LINK_LIBS mynteye ${OpenCV_LIBS}
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
|
||||
## get_depth_with_region
|
||||
|
||||
make_executable(get_depth_with_region
|
||||
SRCS get_depth_with_region.cc
|
||||
LINK_LIBS mynteye ${OpenCV_LIBS}
|
||||
DLL_SEARCH_PATHS ${PRO_DIR}/_install/bin ${OpenCV_LIB_SEARCH_PATH}
|
||||
)
|
||||
@@ -16,7 +16,7 @@
|
||||
#include "mynteye/logger.h"
|
||||
#include "mynteye/api/api.h"
|
||||
|
||||
#include "util/cv_painter.h"
|
||||
#include "util_cv.h"
|
||||
|
||||
MYNTEYE_USE_NAMESPACE
|
||||
|
||||
@@ -58,8 +58,9 @@ int main(int argc, char *argv[]) {
|
||||
<< api->GetOptionValue(Option::DESIRED_BRIGHTNESS);
|
||||
}
|
||||
|
||||
// Set auto exposure options fo S2000/S2100/S210A
|
||||
if (model == Model::STANDARD2 || model == Model::STANDARD210A) {
|
||||
// Set auto exposure options fo S2000/S2100/S210A/S200B
|
||||
if (model == Model::STANDARD2 ||
|
||||
model == Model::STANDARD210A || model == Model::STANDARD200B) {
|
||||
// auto-exposure: 0
|
||||
api->SetOptionValue(Option::EXPOSURE_MODE, 0);
|
||||
|
||||
@@ -45,8 +45,9 @@ int main(int argc, char *argv[]) {
|
||||
<< api->GetOptionValue(Option::IMU_FREQUENCY);
|
||||
}
|
||||
|
||||
// You should set frame rate for S2000/S2100/S210A by 'SelectStreamRequest()'
|
||||
if (model == Model::STANDARD2 || model == Model::STANDARD210A) {
|
||||
// You should set frame rate for S2000/S2100/S210A/S200B by 'SelectStreamRequest()'
|
||||
if (model == Model::STANDARD2 ||
|
||||
model == Model::STANDARD210A || model == Model::STANDARD200B) {
|
||||
LOG(INFO) << "Please set frame rate by 'SelectStreamRequest()'";
|
||||
}
|
||||
|
||||
@@ -38,8 +38,9 @@ int main(int argc, char *argv[]) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Set imu low pass filter for S2000/S2100/S210A
|
||||
if (model == Model::STANDARD2 || model == Model::STANDARD210A) {
|
||||
// Set imu low pass filter for S2000/S2100/S210A/S200B
|
||||
if (model == Model::STANDARD2 ||
|
||||
model == Model::STANDARD210A || model == Model::STANDARD200B) {
|
||||
// ACCELEROMETER_RANGE values: 0, 1, 2
|
||||
api->SetOptionValue(Option::ACCELEROMETER_LOW_PASS_FILTER, 2);
|
||||
// GYROSCOPE_RANGE values: 23, 64
|
||||