114 Commits

Author SHA1 Message Date
TinyO
4fa8bec7d4 fix(*): frame id in ros node. 2019-09-12 11:01:23 +08:00
TinyO
ecdc817a11 fix(*): S200B support. 2019-09-11 12:42:27 +08:00
John Zhao
67078d69c5 fix(*): win pack.sh readme 2019-09-09 16:19:10 +08:00
TinyO
1744826e8f doc(*): update firmware things. 2019-09-09 15:12:49 +08:00
TinyO
97eb323bf3 fix(*): win pack.sh complie new. 2019-09-09 11:46:38 +08:00
TinyO
68e06e4335 fix(*): win pack.sh complie. 2019-09-09 11:00:01 +08:00
TinyO
7071864eb7 fix(*): win pack.sh lost readme things 2019-09-09 10:23:36 +08:00
TinyO
74a0a1eb85 fix(*): win pack.sh 2019-09-06 17:11:51 +08:00
TinyO
8af42ee597 fix(*): d local params fix. 2019-09-03 16:30:19 +08:00
TinyO
6ecbe85ae4 fix(*): change 2100 doc format error. 2019-09-02 17:25:00 +08:00
TinyO
da23dce1c9 feat(*): change doc of 2100 info. 2019-09-02 17:17:35 +08:00
TinyO
a3f6c1fd9f Merge branch 'release/v2.4.2' into develop 2019-09-02 10:19:27 +08:00
TinyO
0f546e55fb feat(*): add record samples.. 2019-09-02 10:17:06 +08:00
harjeb
80b6bc599b docs(*): update docs 2019-08-31 13:57:10 +08:00
TinyO
df7cb0a26c doc(*): version num change to 2.4.2. 2019-08-30 17:47:57 +08:00
TinyO
7f1926ef29 doc(*): fix 2110 product content. 2019-08-30 17:40:06 +08:00
TinyO
d76903f1cd Merge branch 'release/v2.4.2' into develop 2019-08-30 17:06:50 +08:00
TinyO
a30b4e285b refactor(*): remove tools. 2019-08-30 17:06:34 +08:00
TinyO
2a613dcbe0 Merge branch 'release/v2.4.2' into develop 2019-08-30 16:53:04 +08:00
TinyO
32adc34451 doc(*): product things update. 2019-08-30 16:52:45 +08:00
TinyO
e92994064c Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-08-30 16:26:47 +08:00
TinyO
ed2398fedc refactor(*): doc and samples update tools contents. 2019-08-30 16:18:49 +08:00
wangruixue
5e105b424a ci(*): modify jenkinsfile 2019-08-30 15:38:24 +08:00
TinyO
75631fa7d7 Merge branch 'develop' into release/v2.4.2 2019-08-30 12:34:51 +08:00
TinyO
3d29e62ccf chore(*): update readme. 2019-08-30 12:01:24 +08:00
Messier
0ac8d7bc16 build(samples): change cc name and CMakeList 2019-08-30 11:49:15 +08:00
TinyO
2482ff5bf6 doc(*): remove tools things. 2019-08-30 11:23:05 +08:00
Messier
53780f5a33 change samples name 2019-08-30 11:19:57 +08:00
TinyO
8ae150b516 fix(*): imu samples display blink bug. 2019-08-29 14:43:13 +08:00
TinyO
1499a9fc11 Merge branch 'develop' into release/v2.4.2 2019-08-29 13:49:13 +08:00
TinyO
0d40f5ac27 fix(*): s1030 display stream config fps now be set to 25 default. 2019-08-29 13:38:03 +08:00
TinyO
97be6807ab fix(*): s1030 display stream config fps now be set to 30 default. 2019-08-29 13:34:43 +08:00
TinyO
9f83e83cb6 fix(*): imu display blink. 2019-08-28 17:51:53 +08:00
TinyO
4afa3fd311 fix(*): vinsfusion framerate cut feature. 2019-08-28 17:09:44 +08:00
TinyO
a7be1c47cd Merge branch 'develop' into release/v2.4.2 2019-08-28 16:21:35 +08:00
TinyO
a04da7dafa feat(*): add version check things of s2110. 2019-08-28 16:05:51 +08:00
wangruixue
5ecd4be222 chore(*): modify jenkinsfile 2019-08-28 11:18:20 +08:00
TinyO
c66a54247f fix(*): sample name fix. 2019-08-27 14:17:54 +08:00
TinyO
571f897329 chore(*): update changelog to 2.4.2. 2019-08-27 11:28:40 +08:00
TinyO
603e5f029e chore(*): update things to 2.4.2. 2019-08-27 10:36:40 +08:00
TinyO
92e973f563 fix(*): null ptr warning. 2019-08-26 16:30:52 +08:00
TinyO
438fa5ede5 fix(*): complie samples. 2019-08-26 16:26:26 +08:00
TinyO
00b16113ca fix(*): remove test dir. 2019-08-26 15:56:31 +08:00
TinyO
24e381dbb0 fix(*): nodelet bug. 2019-08-26 15:12:36 +08:00
TinyO
18a33d866d fix(*): remove disparity config things. 2019-08-26 10:32:50 +08:00
TinyO
b1f8ad33de Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-08-26 09:30:39 +08:00
TinyO
9fc8454b15 Merge branch 'project_refact' into develop 2019-08-26 09:26:59 +08:00
TinyO
902d144f67 fix(*): change demo name. 2019-08-26 09:26:25 +08:00
wangruixue
0a22e71659 modify jenkinsfile 2019-08-23 16:14:15 +08:00
wangruixue
559fad55b3 modify jenkinsfile 2019-08-23 16:13:32 +08:00
wangruixue
8679e89cb6 modify jenkinsfile 2019-08-23 16:07:39 +08:00
wangruixue
b1b34b3ece modify jenkinsfile 2019-08-23 15:50:44 +08:00
wangruixue
7e3faa0134 modify jenkinsfile 2019-08-23 15:43:40 +08:00
Messier
1893ef382a change structure of folder samples and move demo_project 2019-08-23 15:28:56 +08:00
wangruixue
a0386f3e11 modify jenkinsfile 2019-08-23 15:16:44 +08:00
TinyO
803d2e93b5 fix(*) remove easy logging things. 2019-08-23 12:02:31 +08:00
TinyO
f530f94472 fix(*) depth cut range change to 0-64. 2019-08-22 17:38:32 +08:00
TinyO
9455ed8a0f fix(*) error code revert to 2.3.9. 2019-08-22 09:39:29 +08:00
Osenberg
50509d539e fix(src): fixed error setting extrinsics 2019-08-21 16:04:02 +08:00
Osenberg
dd839a3cfd fix(src): fixed error setting extrinsics. 2019-08-21 15:57:14 +08:00
TinyO
593abc1b3d fix(*) Quaternion warning and model alpha. 2019-08-21 10:51:43 +08:00
TinyO
47471ed2ea Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-08-21 09:13:38 +08:00
TinyO
baa7243792 fix(*) s device slam error. 2019-08-21 09:13:23 +08:00
Osenberg
615fe74965 docs(docs): modified description of hdr_mode 2019-08-19 19:48:32 +08:00
TinyO
29a9895969 fix(*): setNumDisparities(64) -> setNumDisparities(128). 2019-08-19 13:59:18 +08:00
TinyO
140b4aec18 Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-08-19 09:45:47 +08:00
TinyO
559b1e4d80 fix(windows): runtime core. 2019-08-19 09:45:10 +08:00
John Zhao
c6525cca31 docs(*): update version 2019-08-17 19:20:36 +08:00
TinyO
5bcf9ecf1f Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-08-17 18:53:25 +08:00
TinyO
35d91c25b9 fix(calib): covert params change. 2019-08-17 18:52:31 +08:00
Osenberg
425af10e1f fix(ros): modified max exposure time value 2019-08-16 18:06:21 +08:00
John Zhao
7baf7ba744 docs(*): update changelog 2019-08-12 10:34:29 +08:00
John Zhao
4e6d0e5d99 chore(*): update readme and changelog 2019-08-09 22:07:29 +08:00
harjeb
96e4fdc8fc docs(*): update v2.4.0 doc 2019-08-09 17:45:51 +08:00
Osenberg
76c7336007 feat(doc): 2.3.9 --> 2.4.0
n
2019-08-09 16:36:30 +08:00
Osenberg
9541dfcd35 feat(docs): added new sample to doc 2019-08-09 16:05:43 +08:00
Osenberg
ba1874435a Merge branch 'release/v2.4.0' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into release/v2.4.0 2019-08-09 15:52:13 +08:00
Osenberg
7bd34d5cef feat(src): added feature of saving single image 2019-08-09 15:51:58 +08:00
TinyO
4a250f5ab5 fix(*): rviz imu location. 2019-08-09 15:07:46 +08:00
TinyO
d041f22d7e Merge branch 'release/v2.4.0' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into release/v2.4.0 2019-08-08 17:12:53 +08:00
TinyO
acbd3eff4c fix(*): add imu pipeline empty error output info. 2019-08-08 17:11:58 +08:00
Osenberg
841de6ea77 Merge branch 'release/v2.4.0' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into release/v2.4.0 2019-08-08 15:01:48 +08:00
Osenberg
190d066ddf feat(src): added feature of syncing timestamp for 200B 2019-08-08 15:01:32 +08:00
TinyO
af72213f50 fix(*): imu decode bug 2019-08-08 13:15:32 +08:00
Osenberg
37b98e0d33 feat(src): added S200B device support 2019-08-07 18:42:37 +08:00
Osenberg
acabe04a92 feat(samples): modified get_img_params for default intrinsics 2019-08-06 20:23:22 +08:00
Osenberg
2260f5c582 fix(src): Determine the default intrinsics based on the resulution 2019-08-06 20:04:38 +08:00
Osenberg
1cda60d137 fix(src): Determine the default intrinsics based on the resulution 2019-08-06 15:13:29 +08:00
Osenberg
de6dc0d712 fix(src): if camera is s1030, the frame rate is not show. 2019-08-02 14:59:50 +08:00
Osenberg
404d74b0b7 feat(src): brightness 192 --> 70 2019-08-02 14:16:57 +08:00
Osenberg
a2f24aa62f fix(ros): fixed ros timestamp is inaccurate because of imu timestamp 2019-08-02 10:49:33 +08:00
Osenberg
4f124fe074 fix(src): contrast 127 --> 116 for less noise 2019-07-31 10:54:53 +08:00
Osenberg
388f8466d5 fix(samples): fixed problem of core for get_depth_with_region 2019-07-30 18:47:36 +08:00
Osenberg
220b1e352e feat(src): removed ir conctrol feature for S2100 2019-07-30 18:27:08 +08:00
Osenberg
95f79d406a fix(ros): fix(ros): fixed multiple launch is uncompatible for 1030 2019-07-30 11:15:07 +08:00
TinyO
ec8aba3184 Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-07-29 13:52:56 +08:00
TinyO
68d6b0f4a2 fix(windows): complie error. 2019-07-29 13:46:57 +08:00
Osenberg
cb9c4fae74 src: fixed camera can't be used on kernel 4.16+ 2019-07-26 18:45:11 +08:00
TinyO
9775903fb1 fix(process): fix rectify slpha api. 2019-07-23 17:25:00 +08:00
TinyO
aff716189e Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-07-23 16:47:03 +08:00
TinyO
636471b1cf feat(process): add rectify slpha api. 2019-07-23 16:46:25 +08:00
Osenberg
fc9507aa3e fix(ros): fixed error of no frame_id with image information 2019-07-19 18:28:39 +08:00
harjeb
19ad46f2d2 docs(*): fix glog dependency 2019-07-12 20:26:01 +08:00
John Zhao
8387a20ce6 fix(android): fix type conversion 2019-07-08 11:06:32 +08:00
John Zhao
15a933c2fc Merge branch 'hotfix/2.3.9' into develop
* hotfix/2.3.9:
  docs(sdk): update change log
2019-07-03 14:03:18 +08:00
John Zhao
b23905657e Merge branch 'hotfix/2.3.9' into develop
* hotfix/2.3.9:
  docs(*): update doc
  docs(*): update v2.3.9 changelog
  docs(*): fix requirements
  docs(*): update doc
  更新Datasheet和标定文档
  新版文档更新
  docs(*): update docs
2019-07-03 13:56:47 +08:00
Osenberg
19c604702f Merge branch 'develop' of http://gitlab.mynt.com/mynteye/mynt-eye-s-sdk into develop 2019-07-01 11:57:27 +08:00
Osenberg
7a23c28965 fix(src): fixed problem of printing accuracy 2019-06-25 12:49:41 +08:00
TinyO
0881a70922 fix(ros): points smalll resolution error. 2019-06-25 10:22:57 +08:00
John Zhao
c55db46760 feat(api): return empty plugin paths directly if no info path 2019-05-30 16:30:18 +08:00
John Zhao
f54eef8ad1 refactor(api): move camera models 2019-05-30 16:19:06 +08:00
John Zhao
bc7e4919e2 refactor(api): improve get sdk version and style changes 2019-05-30 15:30:17 +08:00
John Zhao
05e5552e46 build(make): simplify with camera models default on 2019-05-30 15:28:35 +08:00
John Zhao
178e362900 fix(ros): fix config name 2019-05-30 14:49:04 +08:00
223 changed files with 1828 additions and 13098 deletions

View File

@@ -1,7 +0,0 @@
build-*
*.pro.user
.DS_Store
release.info
bin/*
logs/*
experiments/*

View File

@@ -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.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -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
View File

@@ -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'
}
}
}

View File

@@ -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

View File

@@ -1,6 +1,6 @@
# MYNT® EYE S SDK
[![](https://img.shields.io/badge/MYNT%20EYE%20S%20SDK-2.3.9-brightgreen.svg?style=flat)](https://github.com/slightech/MYNT-EYE-S-SDK)
[![](https://img.shields.io/badge/MYNT%20EYE%20S%20SDK-2.4.2-brightgreen.svg?style=flat)](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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 718 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -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.

View File

@@ -6,3 +6,4 @@ FIRMWARE
fw_info
fw_update
fw_changelog

View File

@@ -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

View File

@@ -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

View File

@@ -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
---------------------

View File

@@ -8,3 +8,4 @@ IMU Coordinate System
imu_coord_s1030
imu_coord_s2100
imu_coord_s2110

View 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

View File

@@ -9,3 +9,4 @@ Product Specification
spec_s1030
spec_s1030_ir
spec_s2100
spec_s2110

View File

@@ -8,3 +8,4 @@ Product Surface
surface_s1030
surface_s2100
surface_s2110

View File

@@ -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
================ ==================================================================================
================ =================================================================================

View 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%
============================ ============================================

View 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.

View File

@@ -8,5 +8,5 @@ SDK
sdk_install
data/contents
control/contents
tools/contents
project/contents
sdk_changelog

View File

@@ -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>`_ .

View File

@@ -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 samplesplease see `framerate.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/framerate.cc>`_ .
Complete code samplesplease see `ctrl_framerate.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_framerate.cc>`_ .

View File

@@ -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 samplesplease see `iic_address.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/iic_address.cc>`_ .
Complete code samplesplease see `ctrl_iic_address.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_iic_address.cc>`_ .

View File

@@ -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 samplesplease 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 samplesplease see `ctrl_imu_low_pass_filter.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_imu_low_pass_filter.cc>`_

View File

@@ -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 samplesplease see `imu_range.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/imu_range.cc>`_.
Complete code samplesplease see `ctrl_imu_range.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_imu_range.cc>`_.

View File

@@ -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 samplessee `infrared.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/infrared.cc>`_ .
Complete code samplessee `ctrl_infrared.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_infrared.cc>`_ .

View File

@@ -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 samplessee `manual_exposure.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/tutorials/control/manual_exposure.cc>`_ .
Complete code samplessee `ctrl_manual_exposure.cc <https://github.com/slightech/MYNT-EYE-S-SDK/blob/master/samples/ctrl_manual_exposure.cc>`_ .

View File

@@ -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

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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::

View File

@@ -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>`_ .

View File

@@ -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>`_ .

View File

@@ -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::

View File

@@ -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

View 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>`_ .

View File

@@ -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::

View File

@@ -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::

View 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

View File

@@ -0,0 +1,10 @@
.. _data:
SDK Project Demos
==================
.. toctree::
:maxdepth: 2
cmake
vs2017

View 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 projects 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

View File

@@ -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

View File

@@ -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 # Imageindex 0
│ └─...
├─right/
│ ├─stream.txt # Image information
│ ├─000000.png # Imageindex 0
│ └─...
└─motion.txt # IMU information

View File

@@ -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

View File

@@ -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.

View File

@@ -1,9 +0,0 @@
SDK Tools
==================
.. toctree::
:maxdepth: 2
analytics_dataset
analytics_imu
analytics_stamp

View File

@@ -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
---------------------

View File

@@ -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

View File

@@ -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".

View File

@@ -1,8 +0,0 @@
.. _tools:
TOOLS SUPPORT
==============
.. toctree::
calibration_tool

View File

@@ -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
...

View File

@@ -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_;

View File

@@ -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;
};

View File

@@ -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};
};

View File

@@ -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}
)

View File

@@ -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}
)

View File

@@ -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);

View File

@@ -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()'";
}

View File

@@ -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

Some files were not shown because too many files have changed in this diff Show More