last
parent
a678437cee
commit
eb5786dd80
|
@ -1,6 +1,7 @@
|
|||
#pragma once
|
||||
|
||||
#include "opencv2/core/core.hpp"
|
||||
#include <opencv2/core/utility.hpp>
|
||||
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
|
@ -35,17 +36,17 @@ typedef PointCloud<PointXYZ> PointCloudXYZ;
|
|||
|
||||
class DepthProcessor{
|
||||
private:
|
||||
cv::Mat imgRGB;
|
||||
cv::Mat imgDepth; // or pointCloud detect by lidar
|
||||
|
||||
cv::Mat obstacle; // [dis, cls, maby size]
|
||||
|
||||
|
||||
public:
|
||||
//控制显示和打印
|
||||
bool bPrintObjs = false;
|
||||
bool bViewRGB = false;
|
||||
bool bViewCloud = false;
|
||||
|
||||
//点云显示对象
|
||||
visualization::PCLVisualizer::Ptr pcdViewer;
|
||||
visualization::PCLVisualizer::Ptr tmpViewer;
|
||||
cv::Mat mK; // camera intrinsic or external parameters between camera and lidar
|
||||
|
||||
//最近物体信息
|
||||
double dist, max_x, max_y, min_x, min_y;
|
||||
std::string label;
|
||||
|
@ -53,27 +54,13 @@ public:
|
|||
PointCloudXYZ::Ptr cloud;
|
||||
//相机参数
|
||||
double fx, fy, cx, cy;
|
||||
//深度阈值,单位米
|
||||
double minDepth, maxDepth;
|
||||
//过滤孤立点的阈值/
|
||||
int thre_count;
|
||||
double radius;
|
||||
//过滤通行区域的阈值
|
||||
double thre_low_x, thre_high_x, thre_low_y, thre_high_y;
|
||||
|
||||
//地面高度阈值
|
||||
double thre_ground;
|
||||
|
||||
//相机初始化高度
|
||||
float camHigh;
|
||||
|
||||
//判断物体的点云个数阈值、半径阈值
|
||||
int thre_ponit_count, thre_point_radius;
|
||||
float ground_height;
|
||||
|
||||
DepthProcessor(const std::string file_path, const cv::Mat tmp_mk);
|
||||
DepthProcessor();
|
||||
bool obstacleDetect(const cv::Mat depthMat, const Eigen::Affine3f& transform);
|
||||
PointCloudXYZ::Ptr depth2Cloud(PointCloudXYZ::Ptr oriCloud, const cv::Mat depthMat, int startRow, int endRow);
|
||||
PointCloudXYZ::Ptr depth2Cloud(const cv::Mat depthMat, int startRow, int endRow);
|
||||
bool camHighInit(const cv::Mat depthMat, const Eigen::Affine3f& transform);
|
||||
|
||||
static PointCloudXYZ::Ptr downsampling(const PointCloudXYZ::Ptr& pointCloud, float leaf);
|
||||
|
@ -83,59 +70,7 @@ public:
|
|||
static void calHistogram(const PointCloudXYZ::Ptr& pointCloud, float& maxY, std::vector<std::vector<int>>& histogram);
|
||||
static void radiusSearch(const PointCloudXYZ::Ptr& pointCloud, const PointXYZ& queryPoint, const float& radius, std::vector<int>& indResults);
|
||||
|
||||
PointCloudXYZ::Ptr delGround_else(const PointCloudXYZ::Ptr& pointCloud, std::vector<int> index);
|
||||
|
||||
void RadiusOutlierFilter(const PointCloudXYZ::Ptr &pcd_cloud0);
|
||||
|
||||
void load_config(const string filepath);
|
||||
|
||||
void ConditionFilter(const double &ground);
|
||||
double IOU(double max_x1,double min_x1,double max_y1,double min_y1,double max_x2,double min_x2,double max_y2,double min_y2);
|
||||
|
||||
void calHistogramZ(const PointCloudXYZ::Ptr &pointCloud, std::vector<std::vector<int>>& histogram);
|
||||
|
||||
bool obstacleRecognize(cv::Mat boxes);
|
||||
cv::Mat getObstacle();
|
||||
};
|
||||
|
||||
//用作深度转点云的 多线程并行操作
|
||||
class Depth2cloud : public cv::ParallelLoopBody{
|
||||
public:
|
||||
cv::Mat depthMat;
|
||||
PointCloudXYZ::Ptr _cloud;
|
||||
Depth2cloud(cv::Mat mat, PointCloudXYZ::Ptr cloud):depthMat(mat), _cloud(cloud){};
|
||||
|
||||
virtual void operator()(const cv::Range& range) const override{
|
||||
PointCloudXYZ::Ptr tmpcloud(new PointCloudXYZ);
|
||||
int col = depthMat.cols;
|
||||
cv::Mat image = depthMat.clone();
|
||||
image.convertTo(image, CV_32FC1);
|
||||
|
||||
for(int i=range.start;i<range.end;i++){
|
||||
for(int j=0;j<col;j++){
|
||||
// 获取深度值
|
||||
float depth = image.at<float>(i, j);
|
||||
// 忽略深度值小于320mm的点
|
||||
if (depth <= 320)
|
||||
continue;
|
||||
|
||||
// 计算三维坐标
|
||||
double X = (j - 322.771) * depth / 388.588 / 1000;
|
||||
if(X > 0.5 || X < -0.5)
|
||||
continue;
|
||||
double Y = (i - 236.947) * depth / 388.588 / 1000;
|
||||
double Z = depth / 1000;
|
||||
|
||||
// 创建点云点并设置坐标
|
||||
PointXYZ point;
|
||||
point.x = X;
|
||||
point.y = Y;
|
||||
point.z = Z;
|
||||
|
||||
// 将点添加到点云中
|
||||
tmpcloud->push_back(point);
|
||||
}
|
||||
}
|
||||
*_cloud = *tmpcloud;
|
||||
}
|
||||
};
|
||||
};
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,311 @@
|
|||
objs/Yolo.cpp.o: src/Yolo.cpp /usr/include/stdc-predef.h \
|
||||
/usr/include/opencv4/opencv2/opencv.hpp \
|
||||
/usr/include/opencv4/opencv2/opencv_modules.hpp \
|
||||
/usr/include/opencv4/opencv2/core.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cvdef.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include-fixed/limits.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include-fixed/syslimits.h \
|
||||
/usr/include/limits.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/aarch64-linux-gnu/sys/cdefs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wordsize.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/long-double.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix1_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/local_lim.h \
|
||||
/usr/include/linux/limits.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix2_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/xopen_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uio_lim.h \
|
||||
/usr/include/opencv4/opencv2/core/hal/interface.h \
|
||||
/usr/include/c++/7/cstddef \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++config.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/os_defines.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/cpu_defines.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stddef.h \
|
||||
/usr/include/c++/7/cstdint \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdint.h /usr/include/stdint.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/typesizes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-intn.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \
|
||||
/usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/arm_neon.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/arm_fp16.h \
|
||||
/usr/include/c++/7/array /usr/include/c++/7/utility \
|
||||
/usr/include/c++/7/bits/stl_relops.h /usr/include/c++/7/bits/stl_pair.h \
|
||||
/usr/include/c++/7/bits/move.h /usr/include/c++/7/bits/concept_check.h \
|
||||
/usr/include/c++/7/type_traits /usr/include/c++/7/initializer_list \
|
||||
/usr/include/c++/7/stdexcept /usr/include/c++/7/exception \
|
||||
/usr/include/c++/7/bits/exception.h \
|
||||
/usr/include/c++/7/bits/exception_ptr.h \
|
||||
/usr/include/c++/7/bits/exception_defines.h \
|
||||
/usr/include/c++/7/bits/cxxabi_init_exception.h \
|
||||
/usr/include/c++/7/typeinfo /usr/include/c++/7/bits/hash_bytes.h \
|
||||
/usr/include/c++/7/new /usr/include/c++/7/bits/nested_exception.h \
|
||||
/usr/include/c++/7/string /usr/include/c++/7/bits/stringfwd.h \
|
||||
/usr/include/c++/7/bits/memoryfwd.h \
|
||||
/usr/include/c++/7/bits/char_traits.h \
|
||||
/usr/include/c++/7/bits/stl_algobase.h \
|
||||
/usr/include/c++/7/bits/functexcept.h \
|
||||
/usr/include/c++/7/bits/cpp_type_traits.h \
|
||||
/usr/include/c++/7/ext/type_traits.h \
|
||||
/usr/include/c++/7/ext/numeric_traits.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_types.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_funcs.h \
|
||||
/usr/include/c++/7/debug/assertions.h \
|
||||
/usr/include/c++/7/bits/stl_iterator.h \
|
||||
/usr/include/c++/7/bits/ptr_traits.h /usr/include/c++/7/debug/debug.h \
|
||||
/usr/include/c++/7/bits/predefined_ops.h \
|
||||
/usr/include/c++/7/bits/postypes.h /usr/include/c++/7/cwchar \
|
||||
/usr/include/wchar.h /usr/include/aarch64-linux-gnu/bits/floatn.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn-common.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdarg.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/wint_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/locale_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \
|
||||
/usr/include/c++/7/bits/allocator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++allocator.h \
|
||||
/usr/include/c++/7/ext/new_allocator.h \
|
||||
/usr/include/c++/7/bits/localefwd.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++locale.h \
|
||||
/usr/include/c++/7/clocale /usr/include/locale.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/7/iosfwd \
|
||||
/usr/include/c++/7/cctype /usr/include/ctype.h /usr/include/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap-16.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uintn-identity.h \
|
||||
/usr/include/c++/7/bits/ostream_insert.h \
|
||||
/usr/include/c++/7/bits/cxxabi_forced.h \
|
||||
/usr/include/c++/7/bits/stl_function.h \
|
||||
/usr/include/c++/7/backward/binders.h \
|
||||
/usr/include/c++/7/bits/range_access.h \
|
||||
/usr/include/c++/7/bits/basic_string.h \
|
||||
/usr/include/c++/7/ext/atomicity.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr-default.h \
|
||||
/usr/include/pthread.h /usr/include/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/time_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/timex.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clock_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/timer_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/setjmp.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/atomic_word.h \
|
||||
/usr/include/c++/7/ext/alloc_traits.h \
|
||||
/usr/include/c++/7/bits/alloc_traits.h \
|
||||
/usr/include/c++/7/ext/string_conversions.h /usr/include/c++/7/cstdlib \
|
||||
/usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/waitstatus.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/types.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sysmacros.h /usr/include/alloca.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdlib-float.h \
|
||||
/usr/include/c++/7/bits/std_abs.h /usr/include/c++/7/cstdio \
|
||||
/usr/include/stdio.h /usr/include/aarch64-linux-gnu/bits/libio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/_G_config.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdio_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sys_errlist.h \
|
||||
/usr/include/c++/7/cerrno /usr/include/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/c++/7/bits/functional_hash.h \
|
||||
/usr/include/c++/7/bits/basic_string.tcc \
|
||||
/usr/include/opencv4/opencv2/core/version.hpp \
|
||||
/usr/include/opencv4/opencv2/core/base.hpp /usr/include/c++/7/climits \
|
||||
/usr/include/c++/7/algorithm /usr/include/c++/7/bits/stl_algo.h \
|
||||
/usr/include/c++/7/bits/algorithmfwd.h \
|
||||
/usr/include/c++/7/bits/stl_heap.h /usr/include/c++/7/bits/stl_tempbuf.h \
|
||||
/usr/include/c++/7/bits/stl_construct.h \
|
||||
/usr/include/c++/7/bits/uniform_int_dist.h /usr/include/c++/7/limits \
|
||||
/usr/include/opencv4/opencv2/core/cvstd.hpp /usr/include/c++/7/cstring \
|
||||
/usr/include/string.h /usr/include/strings.h /usr/include/c++/7/cmath \
|
||||
/usr/include/math.h /usr/include/aarch64-linux-gnu/bits/math-vector.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/flt-eval-method.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fp-logb.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fp-fast.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/mathcalls.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/iscanonical.h \
|
||||
/usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \
|
||||
/usr/include/c++/7/memory /usr/include/c++/7/bits/stl_uninitialized.h \
|
||||
/usr/include/c++/7/bits/stl_raw_storage_iter.h \
|
||||
/usr/include/c++/7/ext/concurrence.h \
|
||||
/usr/include/c++/7/bits/uses_allocator.h \
|
||||
/usr/include/c++/7/bits/unique_ptr.h /usr/include/c++/7/tuple \
|
||||
/usr/include/c++/7/bits/invoke.h /usr/include/c++/7/bits/shared_ptr.h \
|
||||
/usr/include/c++/7/bits/shared_ptr_base.h \
|
||||
/usr/include/c++/7/bits/allocated_ptr.h \
|
||||
/usr/include/c++/7/bits/refwrap.h \
|
||||
/usr/include/c++/7/ext/aligned_buffer.h \
|
||||
/usr/include/c++/7/bits/shared_ptr_atomic.h \
|
||||
/usr/include/c++/7/bits/atomic_base.h \
|
||||
/usr/include/c++/7/bits/atomic_lockfree_defines.h \
|
||||
/usr/include/c++/7/backward/auto_ptr.h \
|
||||
/usr/include/opencv4/opencv2/core/neon_utils.hpp \
|
||||
/usr/include/opencv4/opencv2/core/vsx_utils.hpp /usr/include/assert.h \
|
||||
/usr/include/opencv4/opencv2/core/check.hpp \
|
||||
/usr/include/opencv4/opencv2/core/traits.hpp \
|
||||
/usr/include/opencv4/opencv2/core/matx.hpp \
|
||||
/usr/include/opencv4/opencv2/core/saturate.hpp \
|
||||
/usr/include/opencv4/opencv2/core/fast_math.hpp \
|
||||
/usr/include/opencv4/opencv2/core/types.hpp /usr/include/c++/7/cfloat \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/float.h \
|
||||
/usr/include/c++/7/vector /usr/include/c++/7/bits/stl_vector.h \
|
||||
/usr/include/c++/7/bits/stl_bvector.h /usr/include/c++/7/bits/vector.tcc \
|
||||
/usr/include/opencv4/opencv2/core/mat.hpp \
|
||||
/usr/include/opencv4/opencv2/core/bufferpool.hpp \
|
||||
/usr/include/opencv4/opencv2/core/mat.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/core/persistence.hpp \
|
||||
/usr/include/opencv4/opencv2/core/operations.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cvstd.inl.hpp \
|
||||
/usr/include/c++/7/complex /usr/include/c++/7/sstream \
|
||||
/usr/include/c++/7/istream /usr/include/c++/7/ios \
|
||||
/usr/include/c++/7/bits/ios_base.h \
|
||||
/usr/include/c++/7/bits/locale_classes.h \
|
||||
/usr/include/c++/7/bits/locale_classes.tcc \
|
||||
/usr/include/c++/7/system_error \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/error_constants.h \
|
||||
/usr/include/c++/7/streambuf /usr/include/c++/7/bits/streambuf.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.h \
|
||||
/usr/include/c++/7/bits/locale_facets.h /usr/include/c++/7/cwctype \
|
||||
/usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_base.h \
|
||||
/usr/include/c++/7/bits/streambuf_iterator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_inline.h \
|
||||
/usr/include/c++/7/bits/locale_facets.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.tcc /usr/include/c++/7/ostream \
|
||||
/usr/include/c++/7/bits/ostream.tcc /usr/include/c++/7/bits/istream.tcc \
|
||||
/usr/include/c++/7/bits/sstream.tcc \
|
||||
/usr/include/opencv4/opencv2/core/utility.hpp \
|
||||
/usr/include/c++/7/functional /usr/include/c++/7/bits/std_function.h \
|
||||
/usr/include/c++/7/mutex /usr/include/c++/7/chrono \
|
||||
/usr/include/c++/7/ratio /usr/include/c++/7/ctime \
|
||||
/usr/include/c++/7/bits/parse_numbers.h \
|
||||
/usr/include/c++/7/bits/std_mutex.h \
|
||||
/usr/include/opencv4/opencv2/core/optim.hpp \
|
||||
/usr/include/opencv4/opencv2/core/ovx.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cvdef.h \
|
||||
/usr/include/opencv4/opencv2/calib3d.hpp \
|
||||
/usr/include/opencv4/opencv2/features2d.hpp \
|
||||
/usr/include/opencv4/opencv2/flann/miniflann.hpp \
|
||||
/usr/include/opencv4/opencv2/flann/defines.h \
|
||||
/usr/include/opencv4/opencv2/flann/config.h \
|
||||
/usr/include/opencv4/opencv2/core/affine.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/dnn.hpp \
|
||||
/usr/include/opencv4/opencv2/core/async.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/../dnn/version.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/dict.hpp /usr/include/c++/7/map \
|
||||
/usr/include/c++/7/bits/stl_tree.h /usr/include/c++/7/bits/stl_map.h \
|
||||
/usr/include/c++/7/bits/stl_multimap.h \
|
||||
/usr/include/opencv4/opencv2/dnn/layer.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/utils/../dnn.hpp \
|
||||
/usr/include/opencv4/opencv2/flann.hpp \
|
||||
/usr/include/opencv4/opencv2/flann/flann_base.hpp \
|
||||
/usr/include/c++/7/cassert /usr/include/opencv4/opencv2/flann/general.h \
|
||||
/usr/include/opencv4/opencv2/flann/matrix.h \
|
||||
/usr/include/opencv4/opencv2/flann/params.h \
|
||||
/usr/include/opencv4/opencv2/flann/any.h \
|
||||
/usr/include/opencv4/opencv2/flann/defines.h /usr/include/c++/7/iostream \
|
||||
/usr/include/opencv4/opencv2/flann/saving.h \
|
||||
/usr/include/opencv4/opencv2/flann/nn_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/result_set.h /usr/include/c++/7/set \
|
||||
/usr/include/c++/7/bits/stl_set.h /usr/include/c++/7/bits/stl_multiset.h \
|
||||
/usr/include/opencv4/opencv2/flann/all_indices.h \
|
||||
/usr/include/opencv4/opencv2/flann/kdtree_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/dynamic_bitset.h \
|
||||
/usr/include/opencv4/opencv2/flann/dist.h \
|
||||
/usr/include/opencv4/opencv2/flann/heap.h \
|
||||
/usr/include/opencv4/opencv2/flann/allocator.h \
|
||||
/usr/include/c++/7/stdlib.h /usr/include/opencv4/opencv2/flann/random.h \
|
||||
/usr/include/opencv4/opencv2/flann/kdtree_single_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/kmeans_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/logger.h \
|
||||
/usr/include/opencv4/opencv2/flann/composite_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/linear_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/lsh_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/lsh_table.h \
|
||||
/usr/include/c++/7/iomanip /usr/include/c++/7/locale \
|
||||
/usr/include/c++/7/bits/locale_facets_nonio.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/time_members.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/messages_members.h \
|
||||
/usr/include/libintl.h /usr/include/c++/7/bits/codecvt.h \
|
||||
/usr/include/c++/7/bits/locale_facets_nonio.tcc \
|
||||
/usr/include/c++/7/bits/locale_conv.h \
|
||||
/usr/include/c++/7/bits/stringfwd.h /usr/include/c++/7/bits/allocator.h \
|
||||
/usr/include/c++/7/bits/codecvt.h /usr/include/c++/7/bits/unique_ptr.h \
|
||||
/usr/include/c++/7/bits/quoted_string.h /usr/include/c++/7/unordered_map \
|
||||
/usr/include/c++/7/bits/hashtable.h \
|
||||
/usr/include/c++/7/bits/hashtable_policy.h \
|
||||
/usr/include/c++/7/bits/unordered_map.h /usr/include/c++/7/math.h \
|
||||
/usr/include/opencv4/opencv2/flann/autotuned_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/ground_truth.h \
|
||||
/usr/include/opencv4/opencv2/flann/index_testing.h \
|
||||
/usr/include/opencv4/opencv2/flann/timer.h \
|
||||
/usr/include/opencv4/opencv2/flann/sampling.h \
|
||||
/usr/include/opencv4/opencv2/highgui.hpp \
|
||||
/usr/include/opencv4/opencv2/imgcodecs.hpp \
|
||||
/usr/include/opencv4/opencv2/videoio.hpp \
|
||||
/usr/include/opencv4/opencv2/imgproc.hpp \
|
||||
/usr/include/opencv4/opencv2/ml.hpp \
|
||||
/usr/include/opencv4/opencv2/ml/ml.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/objdetect.hpp \
|
||||
/usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \
|
||||
/usr/include/opencv4/opencv2/photo.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/warpers.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cuda.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cuda_types.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cuda.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/util.hpp \
|
||||
/usr/include/c++/7/list /usr/include/c++/7/bits/stl_list.h \
|
||||
/usr/include/c++/7/bits/list.tcc \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \
|
||||
/usr/include/c++/7/queue /usr/include/c++/7/deque \
|
||||
/usr/include/c++/7/bits/stl_deque.h /usr/include/c++/7/bits/deque.tcc \
|
||||
/usr/include/c++/7/bits/stl_queue.h \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/camera.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/camera.hpp \
|
||||
/usr/include/opencv4/opencv2/video.hpp \
|
||||
/usr/include/opencv4/opencv2/video/tracking.hpp \
|
||||
/usr/include/opencv4/opencv2/video/background_segm.hpp include/cpm.hpp \
|
||||
/usr/include/c++/7/condition_variable /usr/include/c++/7/future \
|
||||
/usr/include/c++/7/thread /usr/include/c++/7/atomic \
|
||||
/usr/include/c++/7/bits/atomic_futex.h include/infer.hpp \
|
||||
include/Yolo.hpp
|
|
@ -0,0 +1,285 @@
|
|||
objs/infer.cu.o : src/infer.cu \
|
||||
/usr/include/stdc-predef.h \
|
||||
/usr/local/cuda-10.2/include/cuda_runtime.h \
|
||||
/usr/local/cuda-10.2/include/crt/host_config.h \
|
||||
/usr/include/features.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/cdefs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wordsize.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/long-double.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \
|
||||
/usr/local/cuda-10.2/include/builtin_types.h \
|
||||
/usr/local/cuda-10.2/include/device_types.h \
|
||||
/usr/local/cuda-10.2/include/crt/host_defines.h \
|
||||
/usr/local/cuda-10.2/include/driver_types.h \
|
||||
/usr/local/cuda-10.2/include/vector_types.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include-fixed/limits.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include-fixed/syslimits.h \
|
||||
/usr/include/limits.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libc-header-start.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix1_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/local_lim.h \
|
||||
/usr/include/linux/limits.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix2_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/xopen_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uio_lim.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stddef.h \
|
||||
/usr/local/cuda-10.2/include/surface_types.h \
|
||||
/usr/local/cuda-10.2/include/texture_types.h \
|
||||
/usr/local/cuda-10.2/include/library_types.h \
|
||||
/usr/local/cuda-10.2/include/channel_descriptor.h \
|
||||
/usr/local/cuda-10.2/include/cuda_runtime_api.h \
|
||||
/usr/local/cuda-10.2/include/cuda_device_runtime_api.h \
|
||||
/usr/local/cuda-10.2/include/driver_functions.h \
|
||||
/usr/local/cuda-10.2/include/vector_functions.h \
|
||||
/usr/local/cuda-10.2/include/vector_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/crt/common_functions.h \
|
||||
/usr/include/string.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/locale_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \
|
||||
/usr/include/strings.h \
|
||||
/usr/include/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/typesizes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/timex.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clock_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/time_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/timer_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \
|
||||
/usr/include/c++/7/new \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++config.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/os_defines.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/cpu_defines.h \
|
||||
/usr/include/c++/7/exception \
|
||||
/usr/include/c++/7/bits/exception.h \
|
||||
/usr/include/c++/7/bits/exception_ptr.h \
|
||||
/usr/include/c++/7/bits/exception_defines.h \
|
||||
/usr/include/c++/7/bits/cxxabi_init_exception.h \
|
||||
/usr/include/c++/7/typeinfo \
|
||||
/usr/include/c++/7/bits/hash_bytes.h \
|
||||
/usr/include/c++/7/bits/nested_exception.h \
|
||||
/usr/include/c++/7/bits/move.h \
|
||||
/usr/include/c++/7/bits/concept_check.h \
|
||||
/usr/include/c++/7/type_traits \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/_G_config.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdarg.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdio_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sys_errlist.h \
|
||||
/usr/include/c++/7/stdlib.h \
|
||||
/usr/include/c++/7/cstdlib \
|
||||
/usr/include/stdlib.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/waitflags.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/waitstatus.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn-common.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-intn.h \
|
||||
/usr/include/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap-16.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uintn-identity.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||
/usr/include/alloca.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdlib-float.h \
|
||||
/usr/include/c++/7/bits/std_abs.h \
|
||||
/usr/include/assert.h \
|
||||
/usr/local/cuda-10.2/include/crt/math_functions.h \
|
||||
/usr/include/c++/7/math.h \
|
||||
/usr/include/c++/7/cmath \
|
||||
/usr/include/c++/7/bits/cpp_type_traits.h \
|
||||
/usr/include/c++/7/ext/type_traits.h \
|
||||
/usr/include/math.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/math-vector.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/flt-eval-method.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fp-logb.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fp-fast.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/mathcalls.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/iscanonical.h \
|
||||
/usr/local/cuda-10.2/include/crt/math_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/cuda_surface_types.h \
|
||||
/usr/local/cuda-10.2/include/cuda_texture_types.h \
|
||||
/usr/local/cuda-10.2/include/crt/device_functions.h \
|
||||
/usr/local/cuda-10.2/include/crt/device_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/device_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/device_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/crt/device_double_functions.h \
|
||||
/usr/local/cuda-10.2/include/crt/device_double_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_20_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_20_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_32_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_32_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_35_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_60_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_60_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_20_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_20_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_30_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_30_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_32_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_32_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_35_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_61_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_61_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/crt/sm_70_rt.h \
|
||||
/usr/local/cuda-10.2/include/crt/sm_70_rt.hpp \
|
||||
/usr/local/cuda-10.2/include/surface_functions.h \
|
||||
/usr/local/cuda-10.2/include/texture_fetch_functions.h \
|
||||
/usr/local/cuda-10.2/include/texture_indirect_functions.h \
|
||||
/usr/local/cuda-10.2/include/surface_indirect_functions.h \
|
||||
/usr/local/cuda-10.2/include/device_launch_parameters.h \
|
||||
/usr/include/aarch64-linux-gnu/NvInfer.h \
|
||||
/usr/include/aarch64-linux-gnu/NvInferLegacyDims.h \
|
||||
/usr/include/aarch64-linux-gnu/NvInferRuntimeCommon.h \
|
||||
/usr/include/aarch64-linux-gnu/NvInferVersion.h \
|
||||
/usr/include/c++/7/cstddef \
|
||||
/usr/include/c++/7/cstdint \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdint.h \
|
||||
/usr/include/stdint.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \
|
||||
/usr/include/aarch64-linux-gnu/NvInferRuntime.h \
|
||||
/usr/include/aarch64-linux-gnu/NvInferImpl.h \
|
||||
/usr/include/c++/7/fstream \
|
||||
/usr/include/c++/7/istream \
|
||||
/usr/include/c++/7/ios \
|
||||
/usr/include/c++/7/iosfwd \
|
||||
/usr/include/c++/7/bits/stringfwd.h \
|
||||
/usr/include/c++/7/bits/memoryfwd.h \
|
||||
/usr/include/c++/7/bits/postypes.h \
|
||||
/usr/include/c++/7/cwchar \
|
||||
/usr/include/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/wint_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \
|
||||
/usr/include/c++/7/bits/char_traits.h \
|
||||
/usr/include/c++/7/bits/stl_algobase.h \
|
||||
/usr/include/c++/7/bits/functexcept.h \
|
||||
/usr/include/c++/7/ext/numeric_traits.h \
|
||||
/usr/include/c++/7/bits/stl_pair.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_types.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_funcs.h \
|
||||
/usr/include/c++/7/debug/assertions.h \
|
||||
/usr/include/c++/7/bits/stl_iterator.h \
|
||||
/usr/include/c++/7/bits/ptr_traits.h \
|
||||
/usr/include/c++/7/debug/debug.h \
|
||||
/usr/include/c++/7/bits/predefined_ops.h \
|
||||
/usr/include/c++/7/bits/localefwd.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++locale.h \
|
||||
/usr/include/c++/7/clocale \
|
||||
/usr/include/locale.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/locale.h \
|
||||
/usr/include/c++/7/cctype \
|
||||
/usr/include/ctype.h \
|
||||
/usr/include/c++/7/bits/ios_base.h \
|
||||
/usr/include/c++/7/ext/atomicity.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr-default.h \
|
||||
/usr/include/pthread.h \
|
||||
/usr/include/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/cpu-set.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/setjmp.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/atomic_word.h \
|
||||
/usr/include/c++/7/bits/locale_classes.h \
|
||||
/usr/include/c++/7/string \
|
||||
/usr/include/c++/7/bits/allocator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++allocator.h \
|
||||
/usr/include/c++/7/ext/new_allocator.h \
|
||||
/usr/include/c++/7/bits/ostream_insert.h \
|
||||
/usr/include/c++/7/bits/cxxabi_forced.h \
|
||||
/usr/include/c++/7/bits/stl_function.h \
|
||||
/usr/include/c++/7/backward/binders.h \
|
||||
/usr/include/c++/7/bits/range_access.h \
|
||||
/usr/include/c++/7/initializer_list \
|
||||
/usr/include/c++/7/bits/basic_string.h \
|
||||
/usr/include/c++/7/ext/alloc_traits.h \
|
||||
/usr/include/c++/7/bits/alloc_traits.h \
|
||||
/usr/include/c++/7/ext/string_conversions.h \
|
||||
/usr/include/c++/7/cstdio \
|
||||
/usr/include/c++/7/cerrno \
|
||||
/usr/include/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/errno.h \
|
||||
/usr/include/linux/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h \
|
||||
/usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/c++/7/bits/functional_hash.h \
|
||||
/usr/include/c++/7/bits/basic_string.tcc \
|
||||
/usr/include/c++/7/bits/locale_classes.tcc \
|
||||
/usr/include/c++/7/system_error \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/error_constants.h \
|
||||
/usr/include/c++/7/stdexcept \
|
||||
/usr/include/c++/7/streambuf \
|
||||
/usr/include/c++/7/bits/streambuf.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.h \
|
||||
/usr/include/c++/7/bits/locale_facets.h \
|
||||
/usr/include/c++/7/cwctype \
|
||||
/usr/include/wctype.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_base.h \
|
||||
/usr/include/c++/7/bits/streambuf_iterator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_inline.h \
|
||||
/usr/include/c++/7/bits/locale_facets.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.tcc \
|
||||
/usr/include/c++/7/ostream \
|
||||
/usr/include/c++/7/bits/ostream.tcc \
|
||||
/usr/include/c++/7/bits/istream.tcc \
|
||||
/usr/include/c++/7/bits/codecvt.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/basic_file.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++io.h \
|
||||
/usr/include/c++/7/bits/fstream.tcc \
|
||||
/usr/include/c++/7/numeric \
|
||||
/usr/include/c++/7/bits/stl_numeric.h \
|
||||
/usr/include/c++/7/sstream \
|
||||
/usr/include/c++/7/bits/sstream.tcc \
|
||||
/usr/include/c++/7/unordered_map \
|
||||
/usr/include/c++/7/utility \
|
||||
/usr/include/c++/7/bits/stl_relops.h \
|
||||
/usr/include/c++/7/tuple \
|
||||
/usr/include/c++/7/array \
|
||||
/usr/include/c++/7/bits/uses_allocator.h \
|
||||
/usr/include/c++/7/bits/invoke.h \
|
||||
/usr/include/c++/7/ext/aligned_buffer.h \
|
||||
/usr/include/c++/7/bits/hashtable.h \
|
||||
/usr/include/c++/7/bits/hashtable_policy.h \
|
||||
/usr/include/c++/7/bits/unordered_map.h \
|
||||
include/infer.hpp \
|
||||
/usr/include/c++/7/memory \
|
||||
/usr/include/c++/7/bits/stl_construct.h \
|
||||
/usr/include/c++/7/bits/stl_uninitialized.h \
|
||||
/usr/include/c++/7/bits/stl_tempbuf.h \
|
||||
/usr/include/c++/7/bits/stl_raw_storage_iter.h \
|
||||
/usr/include/c++/7/ext/concurrence.h \
|
||||
/usr/include/c++/7/bits/unique_ptr.h \
|
||||
/usr/include/c++/7/bits/shared_ptr.h \
|
||||
/usr/include/c++/7/bits/shared_ptr_base.h \
|
||||
/usr/include/c++/7/bits/allocated_ptr.h \
|
||||
/usr/include/c++/7/bits/refwrap.h \
|
||||
/usr/include/c++/7/bits/shared_ptr_atomic.h \
|
||||
/usr/include/c++/7/bits/atomic_base.h \
|
||||
/usr/include/c++/7/bits/atomic_lockfree_defines.h \
|
||||
/usr/include/c++/7/backward/auto_ptr.h \
|
||||
/usr/include/c++/7/vector \
|
||||
/usr/include/c++/7/bits/stl_vector.h \
|
||||
/usr/include/c++/7/bits/stl_bvector.h \
|
||||
/usr/include/c++/7/bits/vector.tcc
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,185 @@
|
|||
objs/serialport.cpp.o: src/serialport.cpp /usr/include/stdc-predef.h \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/aarch64-linux-gnu/sys/cdefs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wordsize.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/long-double.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stddef.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/typesizes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/_G_config.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdarg.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdio_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sys_errlist.h \
|
||||
/usr/include/c++/7/stdlib.h /usr/include/c++/7/cstdlib \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++config.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/os_defines.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/cpu_defines.h \
|
||||
/usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/waitstatus.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn-common.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/locale_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clock_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/time_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/timer_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap-16.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uintn-identity.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||
/usr/include/alloca.h /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \
|
||||
/usr/include/c++/7/bits/std_abs.h /usr/include/unistd.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix_opt.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/environments.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/confname.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/getopt_posix.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/getopt_core.h /usr/include/string.h \
|
||||
/usr/include/strings.h /usr/include/aarch64-linux-gnu/sys/stat.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stat.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/ioctl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/ioctls.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/ioctls.h \
|
||||
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/ioctl.h \
|
||||
/usr/include/asm-generic/ioctl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/ioctl-types.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/ttydefaults.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/signal.h /usr/include/signal.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/signum.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/signum-generic.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sig_atomic_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/siginfo_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__sigval_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/siginfo-arch.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/siginfo-consts.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/siginfo-consts-arch.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sigval_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sigevent_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sigevent-consts.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sigaction.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sigcontext.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/sigcontext.h \
|
||||
/usr/include/linux/types.h /usr/include/aarch64-linux-gnu/asm/types.h \
|
||||
/usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/bitsperlong.h \
|
||||
/usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
|
||||
/usr/include/linux/stddef.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/posix_types.h \
|
||||
/usr/include/asm-generic/posix_types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/stack_t.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/ucontext.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/procfs.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/time.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/user.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sigstack.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/ss_flags.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_sigstack.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sigthread.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/file.h /usr/include/fcntl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fcntl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h \
|
||||
/usr/include/linux/falloc.h /usr/include/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/pthread.h /usr/include/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/timex.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/setjmp.h /usr/include/c++/7/iostream \
|
||||
/usr/include/c++/7/ostream /usr/include/c++/7/ios \
|
||||
/usr/include/c++/7/iosfwd /usr/include/c++/7/bits/stringfwd.h \
|
||||
/usr/include/c++/7/bits/memoryfwd.h /usr/include/c++/7/bits/postypes.h \
|
||||
/usr/include/c++/7/cwchar /usr/include/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/wint_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \
|
||||
/usr/include/c++/7/exception /usr/include/c++/7/bits/exception.h \
|
||||
/usr/include/c++/7/bits/exception_ptr.h \
|
||||
/usr/include/c++/7/bits/exception_defines.h \
|
||||
/usr/include/c++/7/bits/cxxabi_init_exception.h \
|
||||
/usr/include/c++/7/typeinfo /usr/include/c++/7/bits/hash_bytes.h \
|
||||
/usr/include/c++/7/new /usr/include/c++/7/bits/nested_exception.h \
|
||||
/usr/include/c++/7/bits/move.h /usr/include/c++/7/bits/concept_check.h \
|
||||
/usr/include/c++/7/type_traits /usr/include/c++/7/bits/char_traits.h \
|
||||
/usr/include/c++/7/bits/stl_algobase.h \
|
||||
/usr/include/c++/7/bits/functexcept.h \
|
||||
/usr/include/c++/7/bits/cpp_type_traits.h \
|
||||
/usr/include/c++/7/ext/type_traits.h \
|
||||
/usr/include/c++/7/ext/numeric_traits.h \
|
||||
/usr/include/c++/7/bits/stl_pair.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_types.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_funcs.h \
|
||||
/usr/include/c++/7/debug/assertions.h \
|
||||
/usr/include/c++/7/bits/stl_iterator.h \
|
||||
/usr/include/c++/7/bits/ptr_traits.h /usr/include/c++/7/debug/debug.h \
|
||||
/usr/include/c++/7/bits/predefined_ops.h /usr/include/c++/7/cstdint \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdint.h /usr/include/stdint.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \
|
||||
/usr/include/c++/7/bits/localefwd.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++locale.h \
|
||||
/usr/include/c++/7/clocale /usr/include/locale.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/7/cctype \
|
||||
/usr/include/ctype.h /usr/include/c++/7/bits/ios_base.h \
|
||||
/usr/include/c++/7/ext/atomicity.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr-default.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/atomic_word.h \
|
||||
/usr/include/c++/7/bits/locale_classes.h /usr/include/c++/7/string \
|
||||
/usr/include/c++/7/bits/allocator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++allocator.h \
|
||||
/usr/include/c++/7/ext/new_allocator.h \
|
||||
/usr/include/c++/7/bits/ostream_insert.h \
|
||||
/usr/include/c++/7/bits/cxxabi_forced.h \
|
||||
/usr/include/c++/7/bits/stl_function.h \
|
||||
/usr/include/c++/7/backward/binders.h \
|
||||
/usr/include/c++/7/bits/range_access.h \
|
||||
/usr/include/c++/7/initializer_list \
|
||||
/usr/include/c++/7/bits/basic_string.h \
|
||||
/usr/include/c++/7/ext/alloc_traits.h \
|
||||
/usr/include/c++/7/bits/alloc_traits.h \
|
||||
/usr/include/c++/7/ext/string_conversions.h /usr/include/c++/7/cstdio \
|
||||
/usr/include/c++/7/cerrno /usr/include/c++/7/bits/functional_hash.h \
|
||||
/usr/include/c++/7/bits/basic_string.tcc \
|
||||
/usr/include/c++/7/bits/locale_classes.tcc \
|
||||
/usr/include/c++/7/system_error \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/error_constants.h \
|
||||
/usr/include/c++/7/stdexcept /usr/include/c++/7/streambuf \
|
||||
/usr/include/c++/7/bits/streambuf.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.h \
|
||||
/usr/include/c++/7/bits/locale_facets.h /usr/include/c++/7/cwctype \
|
||||
/usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_base.h \
|
||||
/usr/include/c++/7/bits/streambuf_iterator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_inline.h \
|
||||
/usr/include/c++/7/bits/locale_facets.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.tcc \
|
||||
/usr/include/c++/7/bits/ostream.tcc /usr/include/c++/7/istream \
|
||||
/usr/include/c++/7/bits/istream.tcc include/likely.h \
|
||||
include/serialport.h /usr/include/termios.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/termios.h
|
|
@ -0,0 +1,155 @@
|
|||
objs/uart-ctrl.cpp.o: src/uart-ctrl.cpp /usr/include/stdc-predef.h \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libc-header-start.h \
|
||||
/usr/include/features.h /usr/include/aarch64-linux-gnu/sys/cdefs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wordsize.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/long-double.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stddef.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/typesizes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/_G_config.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdarg.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdio_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sys_errlist.h /usr/include/fcntl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fcntl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h \
|
||||
/usr/include/linux/falloc.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stat.h /usr/include/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap-16.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uintn-identity.h \
|
||||
/usr/include/string.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/locale_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \
|
||||
/usr/include/strings.h /usr/include/c++/7/stdlib.h \
|
||||
/usr/include/c++/7/cstdlib \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++config.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/os_defines.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/cpu_defines.h \
|
||||
/usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/waitstatus.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn-common.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clock_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/time_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/timer_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-intn.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||
/usr/include/alloca.h /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \
|
||||
/usr/include/c++/7/bits/std_abs.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/times.h /usr/include/termios.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/termios.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/ttydefaults.h /usr/include/unistd.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix_opt.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/environments.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/confname.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/getopt_posix.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/getopt_core.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/ioctl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/ioctls.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/ioctls.h \
|
||||
/usr/include/asm-generic/ioctls.h /usr/include/linux/ioctl.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/ioctl.h \
|
||||
/usr/include/asm-generic/ioctl.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/ioctl-types.h \
|
||||
/usr/include/c++/7/iostream /usr/include/c++/7/ostream \
|
||||
/usr/include/c++/7/ios /usr/include/c++/7/iosfwd \
|
||||
/usr/include/c++/7/bits/stringfwd.h /usr/include/c++/7/bits/memoryfwd.h \
|
||||
/usr/include/c++/7/bits/postypes.h /usr/include/c++/7/cwchar \
|
||||
/usr/include/wchar.h /usr/include/aarch64-linux-gnu/bits/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/wint_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \
|
||||
/usr/include/c++/7/exception /usr/include/c++/7/bits/exception.h \
|
||||
/usr/include/c++/7/bits/exception_ptr.h \
|
||||
/usr/include/c++/7/bits/exception_defines.h \
|
||||
/usr/include/c++/7/bits/cxxabi_init_exception.h \
|
||||
/usr/include/c++/7/typeinfo /usr/include/c++/7/bits/hash_bytes.h \
|
||||
/usr/include/c++/7/new /usr/include/c++/7/bits/nested_exception.h \
|
||||
/usr/include/c++/7/bits/move.h /usr/include/c++/7/bits/concept_check.h \
|
||||
/usr/include/c++/7/type_traits /usr/include/c++/7/bits/char_traits.h \
|
||||
/usr/include/c++/7/bits/stl_algobase.h \
|
||||
/usr/include/c++/7/bits/functexcept.h \
|
||||
/usr/include/c++/7/bits/cpp_type_traits.h \
|
||||
/usr/include/c++/7/ext/type_traits.h \
|
||||
/usr/include/c++/7/ext/numeric_traits.h \
|
||||
/usr/include/c++/7/bits/stl_pair.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_types.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_funcs.h \
|
||||
/usr/include/c++/7/debug/assertions.h \
|
||||
/usr/include/c++/7/bits/stl_iterator.h \
|
||||
/usr/include/c++/7/bits/ptr_traits.h /usr/include/c++/7/debug/debug.h \
|
||||
/usr/include/c++/7/bits/predefined_ops.h /usr/include/c++/7/cstdint \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdint.h /usr/include/stdint.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \
|
||||
/usr/include/c++/7/bits/localefwd.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++locale.h \
|
||||
/usr/include/c++/7/clocale /usr/include/locale.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/7/cctype \
|
||||
/usr/include/ctype.h /usr/include/c++/7/bits/ios_base.h \
|
||||
/usr/include/c++/7/ext/atomicity.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr-default.h \
|
||||
/usr/include/pthread.h /usr/include/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/timex.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/setjmp.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/atomic_word.h \
|
||||
/usr/include/c++/7/bits/locale_classes.h /usr/include/c++/7/string \
|
||||
/usr/include/c++/7/bits/allocator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++allocator.h \
|
||||
/usr/include/c++/7/ext/new_allocator.h \
|
||||
/usr/include/c++/7/bits/ostream_insert.h \
|
||||
/usr/include/c++/7/bits/cxxabi_forced.h \
|
||||
/usr/include/c++/7/bits/stl_function.h \
|
||||
/usr/include/c++/7/backward/binders.h \
|
||||
/usr/include/c++/7/bits/range_access.h \
|
||||
/usr/include/c++/7/initializer_list \
|
||||
/usr/include/c++/7/bits/basic_string.h \
|
||||
/usr/include/c++/7/ext/alloc_traits.h \
|
||||
/usr/include/c++/7/bits/alloc_traits.h \
|
||||
/usr/include/c++/7/ext/string_conversions.h /usr/include/c++/7/cstdio \
|
||||
/usr/include/c++/7/cerrno /usr/include/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/c++/7/bits/functional_hash.h \
|
||||
/usr/include/c++/7/bits/basic_string.tcc \
|
||||
/usr/include/c++/7/bits/locale_classes.tcc \
|
||||
/usr/include/c++/7/system_error \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/error_constants.h \
|
||||
/usr/include/c++/7/stdexcept /usr/include/c++/7/streambuf \
|
||||
/usr/include/c++/7/bits/streambuf.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.h \
|
||||
/usr/include/c++/7/bits/locale_facets.h /usr/include/c++/7/cwctype \
|
||||
/usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_base.h \
|
||||
/usr/include/c++/7/bits/streambuf_iterator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_inline.h \
|
||||
/usr/include/c++/7/bits/locale_facets.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.tcc \
|
||||
/usr/include/c++/7/bits/ostream.tcc /usr/include/c++/7/istream \
|
||||
/usr/include/c++/7/bits/istream.tcc src/../include/dyp-a05/uart-ctrl.h
|
|
@ -0,0 +1,422 @@
|
|||
objs/yolo.cu.o : src/yolo.cu \
|
||||
/usr/include/stdc-predef.h \
|
||||
/usr/local/cuda-10.2/include/cuda_runtime.h \
|
||||
/usr/local/cuda-10.2/include/crt/host_config.h \
|
||||
/usr/include/features.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/cdefs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wordsize.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/long-double.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \
|
||||
/usr/local/cuda-10.2/include/builtin_types.h \
|
||||
/usr/local/cuda-10.2/include/device_types.h \
|
||||
/usr/local/cuda-10.2/include/crt/host_defines.h \
|
||||
/usr/local/cuda-10.2/include/driver_types.h \
|
||||
/usr/local/cuda-10.2/include/vector_types.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include-fixed/limits.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include-fixed/syslimits.h \
|
||||
/usr/include/limits.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libc-header-start.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix1_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/local_lim.h \
|
||||
/usr/include/linux/limits.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/posix2_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/xopen_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uio_lim.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stddef.h \
|
||||
/usr/local/cuda-10.2/include/surface_types.h \
|
||||
/usr/local/cuda-10.2/include/texture_types.h \
|
||||
/usr/local/cuda-10.2/include/library_types.h \
|
||||
/usr/local/cuda-10.2/include/channel_descriptor.h \
|
||||
/usr/local/cuda-10.2/include/cuda_runtime_api.h \
|
||||
/usr/local/cuda-10.2/include/cuda_device_runtime_api.h \
|
||||
/usr/local/cuda-10.2/include/driver_functions.h \
|
||||
/usr/local/cuda-10.2/include/vector_functions.h \
|
||||
/usr/local/cuda-10.2/include/vector_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/crt/common_functions.h \
|
||||
/usr/include/string.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/locale_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \
|
||||
/usr/include/strings.h \
|
||||
/usr/include/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/time.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/typesizes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/timex.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clock_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/time_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/timer_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \
|
||||
/usr/include/c++/7/new \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++config.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/os_defines.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/cpu_defines.h \
|
||||
/usr/include/c++/7/exception \
|
||||
/usr/include/c++/7/bits/exception.h \
|
||||
/usr/include/c++/7/bits/exception_ptr.h \
|
||||
/usr/include/c++/7/bits/exception_defines.h \
|
||||
/usr/include/c++/7/bits/cxxabi_init_exception.h \
|
||||
/usr/include/c++/7/typeinfo \
|
||||
/usr/include/c++/7/bits/hash_bytes.h \
|
||||
/usr/include/c++/7/bits/nested_exception.h \
|
||||
/usr/include/c++/7/bits/move.h \
|
||||
/usr/include/c++/7/bits/concept_check.h \
|
||||
/usr/include/c++/7/type_traits \
|
||||
/usr/include/stdio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/FILE.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libio.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/_G_config.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdarg.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdio_lim.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sys_errlist.h \
|
||||
/usr/include/c++/7/stdlib.h \
|
||||
/usr/include/c++/7/cstdlib \
|
||||
/usr/include/stdlib.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/waitflags.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/waitstatus.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/floatn-common.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-intn.h \
|
||||
/usr/include/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/endian.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/byteswap-16.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/uintn-identity.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/select.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \
|
||||
/usr/include/aarch64-linux-gnu/sys/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sysmacros.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \
|
||||
/usr/include/alloca.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdlib-float.h \
|
||||
/usr/include/c++/7/bits/std_abs.h \
|
||||
/usr/include/assert.h \
|
||||
/usr/local/cuda-10.2/include/crt/math_functions.h \
|
||||
/usr/include/c++/7/math.h \
|
||||
/usr/include/c++/7/cmath \
|
||||
/usr/include/c++/7/bits/cpp_type_traits.h \
|
||||
/usr/include/c++/7/ext/type_traits.h \
|
||||
/usr/include/math.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/math-vector.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/libm-simd-decl-stubs.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/flt-eval-method.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fp-logb.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/fp-fast.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/mathcalls-helper-functions.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/mathcalls.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/iscanonical.h \
|
||||
/usr/local/cuda-10.2/include/crt/math_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/cuda_surface_types.h \
|
||||
/usr/local/cuda-10.2/include/cuda_texture_types.h \
|
||||
/usr/local/cuda-10.2/include/crt/device_functions.h \
|
||||
/usr/local/cuda-10.2/include/crt/device_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/device_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/device_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/crt/device_double_functions.h \
|
||||
/usr/local/cuda-10.2/include/crt/device_double_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_20_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_20_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_32_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_32_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_35_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_60_atomic_functions.h \
|
||||
/usr/local/cuda-10.2/include/sm_60_atomic_functions.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_20_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_20_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_30_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_30_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_32_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_32_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/sm_35_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_61_intrinsics.h \
|
||||
/usr/local/cuda-10.2/include/sm_61_intrinsics.hpp \
|
||||
/usr/local/cuda-10.2/include/crt/sm_70_rt.h \
|
||||
/usr/local/cuda-10.2/include/crt/sm_70_rt.hpp \
|
||||
/usr/local/cuda-10.2/include/surface_functions.h \
|
||||
/usr/local/cuda-10.2/include/texture_fetch_functions.h \
|
||||
/usr/local/cuda-10.2/include/texture_indirect_functions.h \
|
||||
/usr/local/cuda-10.2/include/surface_indirect_functions.h \
|
||||
/usr/local/cuda-10.2/include/device_launch_parameters.h \
|
||||
include/infer.hpp \
|
||||
/usr/include/c++/7/initializer_list \
|
||||
/usr/include/c++/7/memory \
|
||||
/usr/include/c++/7/bits/stl_algobase.h \
|
||||
/usr/include/c++/7/bits/functexcept.h \
|
||||
/usr/include/c++/7/ext/numeric_traits.h \
|
||||
/usr/include/c++/7/bits/stl_pair.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_types.h \
|
||||
/usr/include/c++/7/bits/stl_iterator_base_funcs.h \
|
||||
/usr/include/c++/7/debug/assertions.h \
|
||||
/usr/include/c++/7/bits/stl_iterator.h \
|
||||
/usr/include/c++/7/bits/ptr_traits.h \
|
||||
/usr/include/c++/7/debug/debug.h \
|
||||
/usr/include/c++/7/bits/predefined_ops.h \
|
||||
/usr/include/c++/7/bits/allocator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++allocator.h \
|
||||
/usr/include/c++/7/ext/new_allocator.h \
|
||||
/usr/include/c++/7/bits/memoryfwd.h \
|
||||
/usr/include/c++/7/bits/stl_construct.h \
|
||||
/usr/include/c++/7/ext/alloc_traits.h \
|
||||
/usr/include/c++/7/bits/alloc_traits.h \
|
||||
/usr/include/c++/7/bits/stl_uninitialized.h \
|
||||
/usr/include/c++/7/bits/stl_tempbuf.h \
|
||||
/usr/include/c++/7/bits/stl_raw_storage_iter.h \
|
||||
/usr/include/c++/7/iosfwd \
|
||||
/usr/include/c++/7/bits/stringfwd.h \
|
||||
/usr/include/c++/7/bits/postypes.h \
|
||||
/usr/include/c++/7/cwchar \
|
||||
/usr/include/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/wint_t.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \
|
||||
/usr/include/c++/7/ext/atomicity.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/gthr-default.h \
|
||||
/usr/include/pthread.h \
|
||||
/usr/include/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/sched.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/cpu-set.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/setjmp.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/atomic_word.h \
|
||||
/usr/include/c++/7/ext/concurrence.h \
|
||||
/usr/include/c++/7/bits/stl_function.h \
|
||||
/usr/include/c++/7/backward/binders.h \
|
||||
/usr/include/c++/7/bits/uses_allocator.h \
|
||||
/usr/include/c++/7/bits/unique_ptr.h \
|
||||
/usr/include/c++/7/utility \
|
||||
/usr/include/c++/7/bits/stl_relops.h \
|
||||
/usr/include/c++/7/tuple \
|
||||
/usr/include/c++/7/array \
|
||||
/usr/include/c++/7/stdexcept \
|
||||
/usr/include/c++/7/string \
|
||||
/usr/include/c++/7/bits/char_traits.h \
|
||||
/usr/include/c++/7/cstdint \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/stdint.h \
|
||||
/usr/include/stdint.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \
|
||||
/usr/include/c++/7/bits/localefwd.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/c++locale.h \
|
||||
/usr/include/c++/7/clocale \
|
||||
/usr/include/locale.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/locale.h \
|
||||
/usr/include/c++/7/cctype \
|
||||
/usr/include/ctype.h \
|
||||
/usr/include/c++/7/bits/ostream_insert.h \
|
||||
/usr/include/c++/7/bits/cxxabi_forced.h \
|
||||
/usr/include/c++/7/bits/range_access.h \
|
||||
/usr/include/c++/7/bits/basic_string.h \
|
||||
/usr/include/c++/7/ext/string_conversions.h \
|
||||
/usr/include/c++/7/cstdio \
|
||||
/usr/include/c++/7/cerrno \
|
||||
/usr/include/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/errno.h \
|
||||
/usr/include/linux/errno.h \
|
||||
/usr/include/aarch64-linux-gnu/asm/errno.h \
|
||||
/usr/include/asm-generic/errno.h \
|
||||
/usr/include/asm-generic/errno-base.h \
|
||||
/usr/include/c++/7/bits/functional_hash.h \
|
||||
/usr/include/c++/7/bits/basic_string.tcc \
|
||||
/usr/include/c++/7/bits/invoke.h \
|
||||
/usr/include/c++/7/bits/shared_ptr.h \
|
||||
/usr/include/c++/7/bits/shared_ptr_base.h \
|
||||
/usr/include/c++/7/bits/allocated_ptr.h \
|
||||
/usr/include/c++/7/bits/refwrap.h \
|
||||
/usr/include/c++/7/ext/aligned_buffer.h \
|
||||
/usr/include/c++/7/bits/shared_ptr_atomic.h \
|
||||
/usr/include/c++/7/bits/atomic_base.h \
|
||||
/usr/include/c++/7/bits/atomic_lockfree_defines.h \
|
||||
/usr/include/c++/7/backward/auto_ptr.h \
|
||||
/usr/include/c++/7/vector \
|
||||
/usr/include/c++/7/bits/stl_vector.h \
|
||||
/usr/include/c++/7/bits/stl_bvector.h \
|
||||
/usr/include/c++/7/bits/vector.tcc \
|
||||
include/Yolo.hpp \
|
||||
/usr/include/c++/7/future \
|
||||
/usr/include/c++/7/mutex \
|
||||
/usr/include/c++/7/chrono \
|
||||
/usr/include/c++/7/ratio \
|
||||
/usr/include/c++/7/limits \
|
||||
/usr/include/c++/7/ctime \
|
||||
/usr/include/c++/7/bits/parse_numbers.h \
|
||||
/usr/include/c++/7/system_error \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/error_constants.h \
|
||||
/usr/include/c++/7/bits/std_mutex.h \
|
||||
/usr/include/c++/7/thread \
|
||||
/usr/include/c++/7/condition_variable \
|
||||
/usr/include/c++/7/atomic \
|
||||
/usr/include/c++/7/bits/atomic_futex.h \
|
||||
/usr/include/c++/7/bits/std_function.h \
|
||||
/usr/include/opencv4/opencv2/opencv.hpp \
|
||||
/usr/include/opencv4/opencv2/opencv_modules.hpp \
|
||||
/usr/include/opencv4/opencv2/core.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cvdef.h \
|
||||
/usr/include/opencv4/opencv2/core/hal/interface.h \
|
||||
/usr/include/c++/7/cstddef \
|
||||
/usr/include/opencv4/opencv2/core/cv_cpu_dispatch.h \
|
||||
/usr/include/opencv4/opencv2/core/version.hpp \
|
||||
/usr/include/opencv4/opencv2/core/base.hpp \
|
||||
/usr/include/c++/7/climits \
|
||||
/usr/include/c++/7/algorithm \
|
||||
/usr/include/c++/7/bits/stl_algo.h \
|
||||
/usr/include/c++/7/bits/algorithmfwd.h \
|
||||
/usr/include/c++/7/bits/stl_heap.h \
|
||||
/usr/include/c++/7/bits/uniform_int_dist.h \
|
||||
/usr/include/opencv4/opencv2/core/cvstd.hpp \
|
||||
/usr/include/c++/7/cstring \
|
||||
/usr/include/opencv4/opencv2/core/cvstd_wrapper.hpp \
|
||||
/usr/include/opencv4/opencv2/core/neon_utils.hpp \
|
||||
/usr/include/opencv4/opencv2/core/vsx_utils.hpp \
|
||||
/usr/include/opencv4/opencv2/core/check.hpp \
|
||||
/usr/include/opencv4/opencv2/core/traits.hpp \
|
||||
/usr/include/opencv4/opencv2/core/matx.hpp \
|
||||
/usr/include/opencv4/opencv2/core/saturate.hpp \
|
||||
/usr/include/opencv4/opencv2/core/fast_math.hpp \
|
||||
/usr/include/opencv4/opencv2/core/types.hpp \
|
||||
/usr/include/c++/7/cfloat \
|
||||
/usr/lib/gcc/aarch64-linux-gnu/7/include/float.h \
|
||||
/usr/include/opencv4/opencv2/core/mat.hpp \
|
||||
/usr/include/opencv4/opencv2/core/bufferpool.hpp \
|
||||
/usr/include/opencv4/opencv2/core/mat.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/core/persistence.hpp \
|
||||
/usr/include/opencv4/opencv2/core/operations.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cvstd.inl.hpp \
|
||||
/usr/include/c++/7/complex \
|
||||
/usr/include/c++/7/sstream \
|
||||
/usr/include/c++/7/istream \
|
||||
/usr/include/c++/7/ios \
|
||||
/usr/include/c++/7/bits/ios_base.h \
|
||||
/usr/include/c++/7/bits/locale_classes.h \
|
||||
/usr/include/c++/7/bits/locale_classes.tcc \
|
||||
/usr/include/c++/7/streambuf \
|
||||
/usr/include/c++/7/bits/streambuf.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.h \
|
||||
/usr/include/c++/7/bits/locale_facets.h \
|
||||
/usr/include/c++/7/cwctype \
|
||||
/usr/include/wctype.h \
|
||||
/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_base.h \
|
||||
/usr/include/c++/7/bits/streambuf_iterator.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/ctype_inline.h \
|
||||
/usr/include/c++/7/bits/locale_facets.tcc \
|
||||
/usr/include/c++/7/bits/basic_ios.tcc \
|
||||
/usr/include/c++/7/ostream \
|
||||
/usr/include/c++/7/bits/ostream.tcc \
|
||||
/usr/include/c++/7/bits/istream.tcc \
|
||||
/usr/include/c++/7/bits/sstream.tcc \
|
||||
/usr/include/opencv4/opencv2/core/utility.hpp \
|
||||
/usr/include/c++/7/functional \
|
||||
/usr/include/opencv4/opencv2/core/optim.hpp \
|
||||
/usr/include/opencv4/opencv2/core/ovx.hpp \
|
||||
/usr/include/opencv4/opencv2/calib3d.hpp \
|
||||
/usr/include/opencv4/opencv2/features2d.hpp \
|
||||
/usr/include/opencv4/opencv2/flann/miniflann.hpp \
|
||||
/usr/include/opencv4/opencv2/flann/defines.h \
|
||||
/usr/include/opencv4/opencv2/flann/config.h \
|
||||
/usr/include/opencv4/opencv2/core/affine.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/dnn.hpp \
|
||||
/usr/include/opencv4/opencv2/core/async.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/../dnn/version.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/dict.hpp \
|
||||
/usr/include/c++/7/map \
|
||||
/usr/include/c++/7/bits/stl_tree.h \
|
||||
/usr/include/c++/7/bits/stl_map.h \
|
||||
/usr/include/c++/7/bits/stl_multimap.h \
|
||||
/usr/include/opencv4/opencv2/dnn/layer.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/dnn.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/utils/inference_engine.hpp \
|
||||
/usr/include/opencv4/opencv2/dnn/utils/../dnn.hpp \
|
||||
/usr/include/opencv4/opencv2/flann.hpp \
|
||||
/usr/include/opencv4/opencv2/flann/flann_base.hpp \
|
||||
/usr/include/c++/7/cassert \
|
||||
/usr/include/opencv4/opencv2/flann/general.h \
|
||||
/usr/include/opencv4/opencv2/flann/matrix.h \
|
||||
/usr/include/opencv4/opencv2/flann/params.h \
|
||||
/usr/include/opencv4/opencv2/flann/any.h \
|
||||
/usr/include/c++/7/iostream \
|
||||
/usr/include/opencv4/opencv2/flann/saving.h \
|
||||
/usr/include/opencv4/opencv2/flann/nn_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/result_set.h \
|
||||
/usr/include/c++/7/set \
|
||||
/usr/include/c++/7/bits/stl_set.h \
|
||||
/usr/include/c++/7/bits/stl_multiset.h \
|
||||
/usr/include/opencv4/opencv2/flann/all_indices.h \
|
||||
/usr/include/opencv4/opencv2/flann/kdtree_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/dynamic_bitset.h \
|
||||
/usr/include/opencv4/opencv2/flann/dist.h \
|
||||
/usr/include/opencv4/opencv2/flann/heap.h \
|
||||
/usr/include/opencv4/opencv2/flann/allocator.h \
|
||||
/usr/include/opencv4/opencv2/flann/random.h \
|
||||
/usr/include/opencv4/opencv2/flann/kdtree_single_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/kmeans_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/logger.h \
|
||||
/usr/include/opencv4/opencv2/flann/composite_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/linear_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/hierarchical_clustering_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/lsh_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/lsh_table.h \
|
||||
/usr/include/c++/7/iomanip \
|
||||
/usr/include/c++/7/locale \
|
||||
/usr/include/c++/7/bits/locale_facets_nonio.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/time_members.h \
|
||||
/usr/include/aarch64-linux-gnu/c++/7/bits/messages_members.h \
|
||||
/usr/include/libintl.h \
|
||||
/usr/include/c++/7/bits/codecvt.h \
|
||||
/usr/include/c++/7/bits/locale_facets_nonio.tcc \
|
||||
/usr/include/c++/7/bits/locale_conv.h \
|
||||
/usr/include/c++/7/bits/quoted_string.h \
|
||||
/usr/include/c++/7/unordered_map \
|
||||
/usr/include/c++/7/bits/hashtable.h \
|
||||
/usr/include/c++/7/bits/hashtable_policy.h \
|
||||
/usr/include/c++/7/bits/unordered_map.h \
|
||||
/usr/include/opencv4/opencv2/flann/autotuned_index.h \
|
||||
/usr/include/opencv4/opencv2/flann/ground_truth.h \
|
||||
/usr/include/opencv4/opencv2/flann/index_testing.h \
|
||||
/usr/include/opencv4/opencv2/flann/timer.h \
|
||||
/usr/include/opencv4/opencv2/flann/sampling.h \
|
||||
/usr/include/opencv4/opencv2/highgui.hpp \
|
||||
/usr/include/opencv4/opencv2/imgcodecs.hpp \
|
||||
/usr/include/opencv4/opencv2/videoio.hpp \
|
||||
/usr/include/opencv4/opencv2/imgproc.hpp \
|
||||
/usr/include/opencv4/opencv2/ml.hpp \
|
||||
/usr/include/opencv4/opencv2/ml/ml.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/objdetect.hpp \
|
||||
/usr/include/opencv4/opencv2/objdetect/detection_based_tracker.hpp \
|
||||
/usr/include/opencv4/opencv2/photo.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/warpers.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/warpers.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cuda.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cuda_types.hpp \
|
||||
/usr/include/opencv4/opencv2/core/cuda.inl.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/warpers_inl.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/matchers.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/motion_estimators.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/util.hpp \
|
||||
/usr/include/c++/7/list \
|
||||
/usr/include/c++/7/bits/stl_list.h \
|
||||
/usr/include/c++/7/bits/list.tcc \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/util_inl.hpp \
|
||||
/usr/include/c++/7/queue \
|
||||
/usr/include/c++/7/deque \
|
||||
/usr/include/c++/7/bits/stl_deque.h \
|
||||
/usr/include/c++/7/bits/deque.tcc \
|
||||
/usr/include/c++/7/bits/stl_queue.h \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/camera.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/exposure_compensate.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/seam_finders.hpp \
|
||||
/usr/include/opencv4/opencv2/stitching/detail/blenders.hpp \
|
||||
/usr/include/opencv4/opencv2/video.hpp \
|
||||
/usr/include/opencv4/opencv2/video/tracking.hpp \
|
||||
/usr/include/opencv4/opencv2/video/background_segm.hpp
|
|
@ -7,8 +7,6 @@
|
|||
#include <opencv2/highgui/highgui.hpp>
|
||||
// #include <opencv2/core/eigen.hpp>
|
||||
|
||||
|
||||
|
||||
// 使用Eigen的Geometry模块处理3d运动
|
||||
#include <Eigen/Core>
|
||||
#include <Eigen/Geometry>
|
||||
|
@ -20,15 +18,12 @@
|
|||
#include <pcl/common/transforms.h>
|
||||
#include <pcl/point_types.h>
|
||||
#include <pcl/io/pcd_io.h>
|
||||
#include <pcl/filters/conditional_removal.h> //条件滤波器头文件
|
||||
#include <pcl/filters/passthrough.h> //直通滤波器头文件
|
||||
#include <pcl/filters/radius_outlier_removal.h> //半径滤波器头文件
|
||||
#include <pcl/filters/statistical_outlier_removal.h> //统计滤波器头文件
|
||||
#include <pcl/filters/voxel_grid.h> //体素滤波器头文件
|
||||
#include <pcl/segmentation/extract_clusters.h>
|
||||
#include <pcl/point_cloud.h>
|
||||
#include <pcl/kdtree/kdtree_flann.h>
|
||||
#include <pcl/io/pcd_io.h>
|
||||
#include <pcl/PointIndices.h>
|
||||
#include <pcl/filters/extract_indices.h>
|
||||
#include <pcl/filters/filter.h>
|
||||
|
@ -36,7 +31,6 @@
|
|||
#include <boost/format.hpp>
|
||||
|
||||
#include "../include/DepthProcessor.hpp"
|
||||
#include "DepthProcessor.hpp"
|
||||
#include <chrono>
|
||||
#include <thread>
|
||||
#include <future>
|
||||
|
@ -48,7 +42,8 @@ bool point_cmp(PointXYZ a, PointXYZ b){
|
|||
}
|
||||
|
||||
//将深度图转换为点云
|
||||
PointCloudXYZ::Ptr DepthProcessor::depth2Cloud(PointCloudXYZ::Ptr oriCloud, const cv::Mat depthMat, int startRow, int endRow){
|
||||
PointCloudXYZ::Ptr DepthProcessor::depth2Cloud(const cv::Mat depthMat, int startRow, int endRow){
|
||||
PointCloudXYZ::Ptr tmpCloud(new PointCloudXYZ);
|
||||
int height = depthMat.rows;
|
||||
endRow = std::min(height, endRow);
|
||||
|
||||
|
@ -75,11 +70,11 @@ PointCloudXYZ::Ptr DepthProcessor::depth2Cloud(PointCloudXYZ::Ptr oriCloud, cons
|
|||
point.z = Z;
|
||||
|
||||
// 将点添加到点云中
|
||||
oriCloud->push_back(point);
|
||||
tmpCloud->push_back(point);
|
||||
}
|
||||
}
|
||||
|
||||
return oriCloud;
|
||||
return tmpCloud;
|
||||
}
|
||||
|
||||
// 先统计Y轴的直方图,初筛出可能包含地面的点(若Y轴坐标太小或点数太少则可能未观测到地面)
|
||||
|
@ -130,7 +125,6 @@ PointCloudXYZ::Ptr DepthProcessor::delGround(const PointCloudXYZ::Ptr& pointClou
|
|||
// 分割点云
|
||||
seg.segment(*inliers, *coefficients);
|
||||
|
||||
//std::cout << "coefficients" << std::endl;
|
||||
// 创建提取器对象
|
||||
ExtractIndices<PointXYZ> extract;
|
||||
|
||||
|
@ -180,24 +174,6 @@ void DepthProcessor::calHistogram(const PointCloudXYZ::Ptr &pointCloud, float& m
|
|||
}
|
||||
}
|
||||
|
||||
//半径滤波,排除噪声点、坏点
|
||||
void DepthProcessor::RadiusOutlierFilter(const PointCloudXYZ::Ptr &pcd_cloud0){
|
||||
//创建滤波器
|
||||
RadiusOutlierRemoval<PointXYZ> radiusoutlier;
|
||||
//设置输入点云
|
||||
radiusoutlier.setInputCloud(pcd_cloud0);
|
||||
//设置半径,在该范围内找临近点
|
||||
double radius = 0.1;
|
||||
radiusoutlier.setRadiusSearch(radius);
|
||||
//设置查询点的邻域点集数,小于该阈值的删除
|
||||
int thre_count = 10;
|
||||
radiusoutlier.setMinNeighborsInRadius(thre_count);
|
||||
PointCloudXYZ::Ptr cloud_after_Radius ( new PointCloudXYZ );
|
||||
radiusoutlier.filter(*cloud_after_Radius);
|
||||
std::cout << "cloud_after_Radius:" << cloud->points.size() <<std::endl;
|
||||
cloud = cloud_after_Radius;
|
||||
}
|
||||
|
||||
//直通滤波,过滤指定轴方向的点
|
||||
PointCloudXYZ::Ptr DepthProcessor::axisFilter(const PointCloudXYZ::Ptr& pointCloud, const double &thre_low, const double &thre_high, const string& field, const bool &flag_in){
|
||||
// 创建滤波器对象
|
||||
|
@ -217,24 +193,6 @@ PointCloudXYZ::Ptr DepthProcessor::axisFilter(const PointCloudXYZ::Ptr& pointClo
|
|||
return cloud_after_PassThrough;
|
||||
}
|
||||
|
||||
//条件滤波
|
||||
void DepthProcessor::ConditionFilter(const double &ground){
|
||||
// 创建条件滤波器对象
|
||||
ConditionAnd<PointXYZ>::Ptr range_cond(new ConditionAnd<PointXYZ>());
|
||||
|
||||
// 添加条件,例如:删除 x 坐标在某个范围内的点
|
||||
range_cond->addComparison(FieldComparison<PointXYZ>::ConstPtr(new FieldComparison<PointXYZ>("y", ComparisonOps::GT, ground - thre_ground)));
|
||||
range_cond->addComparison(FieldComparison<PointXYZ>::ConstPtr(new FieldComparison<PointXYZ>("y", ComparisonOps::LT, ground)));
|
||||
|
||||
// 创建条件滤波器
|
||||
ConditionalRemoval<PointXYZ> condrem;
|
||||
condrem.setCondition(range_cond);
|
||||
condrem.setInputCloud(cloud);
|
||||
condrem.setKeepOrganized(false); // 设置为 false 表示保持点云的结构
|
||||
condrem.filter(*cloud);
|
||||
|
||||
}
|
||||
|
||||
//最近邻搜索或半径搜索,返回的是点云的索引
|
||||
void DepthProcessor::radiusSearch(const PointCloudXYZ::Ptr& pointCloud, const PointXYZ& queryPoint, const float& radius, std::vector<int>& indResults){
|
||||
// 创建最近邻搜索对象
|
||||
|
@ -245,52 +203,6 @@ void DepthProcessor::radiusSearch(const PointCloudXYZ::Ptr& pointCloud, const Po
|
|||
kdtree.radiusSearch(queryPoint, radius, indResults, pointDistances);
|
||||
}
|
||||
|
||||
//加载配置文件
|
||||
void DepthProcessor::load_config(const string filepath){
|
||||
cv::FileStorage fsSettings(filepath, cv::FileStorage::READ);
|
||||
|
||||
if(!fsSettings.isOpened())
|
||||
{
|
||||
cerr << "Failed to open settings file at: " << filepath << endl;
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
fx = fsSettings["fx"];
|
||||
fy = fsSettings["fy"];
|
||||
cx = fsSettings["cx"];
|
||||
cy = fsSettings["cy"];
|
||||
minDepth = fsSettings["minDepth"];
|
||||
maxDepth = fsSettings["maxDepth"];
|
||||
thre_count = fsSettings["thre_count"];
|
||||
radius = fsSettings["radius"];
|
||||
thre_low_x = fsSettings["thre_low_x"];
|
||||
thre_high_x = fsSettings["thre_high_x"];
|
||||
thre_low_y = fsSettings["thre_low_y"];
|
||||
thre_high_y = fsSettings["thre_high_y"];
|
||||
thre_ponit_count = fsSettings["thre_ponit_count"];
|
||||
thre_point_radius = fsSettings["thre_point_radius"];
|
||||
}
|
||||
|
||||
//检测物体的类别,返回是否有检测的标签
|
||||
bool DepthProcessor::obstacleRecognize(cv::Mat boxes){
|
||||
if (boxes.cols < 4)
|
||||
{
|
||||
std::cout << "boxes col nums error" << std::endl;
|
||||
return false;
|
||||
}
|
||||
for(int i = 0; i < boxes.rows; i++){
|
||||
double rate = IOU(max_x,min_x,max_y,min_y,boxes.at<int>(i,0),boxes.at<int>(i,1),boxes.at<int>(i,2),boxes.at<int>(i,3));
|
||||
if(rate >= 0.8){
|
||||
label = "";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
cv::Mat DepthProcessor::getObstacle(){
|
||||
|
||||
}
|
||||
|
||||
//相机初始化
|
||||
bool DepthProcessor::camHighInit(const cv::Mat depthMat, const Eigen::Affine3f& transform){
|
||||
|
@ -298,8 +210,7 @@ bool DepthProcessor::camHighInit(const cv::Mat depthMat, const Eigen::Affine3f&
|
|||
imgDepth = depthMat.clone();
|
||||
imgDepth.convertTo(imgDepth, CV_32FC1);
|
||||
|
||||
PointCloudXYZ::Ptr tmpCloud(new PointCloudXYZ);
|
||||
PointCloudXYZ::Ptr oriCloud = depth2Cloud(tmpCloud, depthMat, 0, depthMat.rows);
|
||||
PointCloudXYZ::Ptr oriCloud = depth2Cloud(depthMat, 0, depthMat.rows);
|
||||
|
||||
PointCloudXYZ::Ptr cloudLeft = axisFilter(oriCloud, -1.5, 0, "x", false);
|
||||
PointCloudXYZ::Ptr cloudRight = axisFilter(oriCloud, 0, 1.5, "x", false);
|
||||
|
@ -375,10 +286,12 @@ bool DepthProcessor::camHighInit(const cv::Mat depthMat, const Eigen::Affine3f&
|
|||
camHigh = sum / histogram[max_n].size(); //myx
|
||||
}
|
||||
|
||||
pcdViewer->updatePointCloud(cloud, "cloud1");
|
||||
pcdViewer->updatePointCloud(TCloud, "cloud2");
|
||||
pcdViewer->spinOnce(5);
|
||||
|
||||
if(bViewCloud){
|
||||
pcdViewer->updatePointCloud(cloud, "cloud1");
|
||||
pcdViewer->updatePointCloud(TCloud, "cloud2");
|
||||
pcdViewer->spinOnce(5);
|
||||
}
|
||||
|
||||
//判断地面高度合理性
|
||||
if(camHigh < 1.5 && camHigh > 0.5)
|
||||
return true;
|
||||
|
@ -393,8 +306,7 @@ bool DepthProcessor::obstacleDetect(const cv::Mat depthMat, const Eigen::Affine3
|
|||
imgDepth.convertTo(imgDepth, CV_32FC1);
|
||||
|
||||
//深度图转点云
|
||||
PointCloudXYZ::Ptr c(new PointCloudXYZ);
|
||||
PointCloudXYZ::Ptr oriCloud = depth2Cloud(c, depthMat, 0, depthMat.rows);
|
||||
PointCloudXYZ::Ptr oriCloud = depth2Cloud(depthMat, 0, depthMat.rows);
|
||||
|
||||
//下采样减少点数量
|
||||
PointCloudXYZ::Ptr cloudLeft = axisFilter(oriCloud, -1.5, 0, "x", false);
|
||||
|
@ -484,8 +396,7 @@ bool DepthProcessor::obstacleDetect(const cv::Mat depthMat, const Eigen::Affine3
|
|||
|
||||
//通过半径聚类结果判断最近点是否是障碍物
|
||||
radiusSearch(cloud, pointZ, 0.1, tmp_index);
|
||||
if(tmp_index.size() < /*thre_ponit_count*/ 60){
|
||||
//TODO:认为这个点不是物体上的点,做一些剔除操作
|
||||
if(tmp_index.size() < 60){
|
||||
tmp_outersindex.push_back(temp_outerindex);
|
||||
count++;
|
||||
continue;
|
||||
|
@ -540,10 +451,12 @@ bool DepthProcessor::obstacleDetect(const cv::Mat depthMat, const Eigen::Affine3
|
|||
}
|
||||
}
|
||||
|
||||
pcdViewer->updatePointCloud(otherCloud, "cloud1");
|
||||
pcdViewer->updatePointCloud(nearestCloud, "cloud2");
|
||||
pcdViewer->spinOnce(5);
|
||||
|
||||
if(bViewCloud){
|
||||
pcdViewer->updatePointCloud(otherCloud, "cloud1");
|
||||
pcdViewer->updatePointCloud(nearestCloud, "cloud2");
|
||||
pcdViewer->spinOnce(5);
|
||||
}
|
||||
|
||||
return haveObstacle;
|
||||
}
|
||||
|
||||
|
@ -593,25 +506,24 @@ void DepthProcessor::calHistogramZ(const PointCloudXYZ::Ptr &pointCloud, std::ve
|
|||
}
|
||||
}
|
||||
|
||||
DepthProcessor::DepthProcessor(const std::string file_path, const cv::Mat tmp_mk){
|
||||
mK = tmp_mk;
|
||||
|
||||
DepthProcessor::DepthProcessor(){
|
||||
cloud = PointCloudXYZ::Ptr(new PointCloudXYZ);
|
||||
pcdViewer = visualization::PCLVisualizer::Ptr (new visualization::PCLVisualizer("Point Cloud Viewer"));
|
||||
// 设置背景颜色
|
||||
pcdViewer->setBackgroundColor(0, 0, 0);
|
||||
// 添加坐标轴
|
||||
pcdViewer->addCoordinateSystem(1.0);
|
||||
|
||||
pcdViewer->addPointCloud<PointXYZ>(cloud, "cloud1");
|
||||
pcdViewer->addPointCloud<PointXYZ>(cloud, "cloud2");
|
||||
// 设置第二个点云的颜色为色
|
||||
pcdViewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0, 0.0, 0.0, "cloud2");
|
||||
|
||||
// 设置点云大小
|
||||
// pcdViewer->setPointCloudRenderingProperties(visualization::PCL_VISUALIZER_POINT_SIZE, 2, "cloud2");
|
||||
if(bViewCloud){
|
||||
pcdViewer = visualization::PCLVisualizer::Ptr (new visualization::PCLVisualizer("Point Cloud Viewer"));
|
||||
// 设置背景颜色
|
||||
pcdViewer->setBackgroundColor(0, 0, 0);
|
||||
// 添加坐标轴
|
||||
pcdViewer->addCoordinateSystem(1.0);
|
||||
|
||||
pcdViewer->addPointCloud<PointXYZ>(cloud, "cloud1");
|
||||
pcdViewer->addPointCloud<PointXYZ>(cloud, "cloud2");
|
||||
// 设置第二个点云的颜色为色
|
||||
pcdViewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_COLOR, 1.0, 0.0, 0.0, "cloud2");
|
||||
}
|
||||
}
|
||||
|
||||
//点云下采样
|
||||
PointCloudXYZ::Ptr DepthProcessor::downsampling(const PointCloudXYZ::Ptr& pointCloud, float leaf){
|
||||
// 创建 VoxelGrid 滤波器对象
|
||||
VoxelGrid<PointXYZ> vg;
|
||||
|
@ -624,49 +536,3 @@ PointCloudXYZ::Ptr DepthProcessor::downsampling(const PointCloudXYZ::Ptr& pointC
|
|||
// 保存下采样后的点云
|
||||
return filteredCloud;
|
||||
}
|
||||
|
||||
//另一个去除地面的方法
|
||||
PointCloudXYZ::Ptr DepthProcessor::delGround_else(const PointCloudXYZ::Ptr &pointCloud, std::vector<int> index)
|
||||
{
|
||||
// 创建分割器对象
|
||||
SACSegmentation<PointXYZ> seg;
|
||||
seg.setOptimizeCoefficients(true);
|
||||
|
||||
// 设置分割模型类型(平面模型)
|
||||
seg.setModelType(SACMODEL_PLANE);
|
||||
// 设置方法类型(RANSAC)
|
||||
seg.setMethodType(SAC_RANSAC);
|
||||
// 设置最大迭代次数和拟合阈值(点到平面的垂直距离)
|
||||
seg.setMaxIterations(2000);
|
||||
seg.setDistanceThreshold(0.1);
|
||||
// 输入点云
|
||||
seg.setInputCloud(cloud);
|
||||
|
||||
// 创建存储模型系数的对象
|
||||
ModelCoefficients::Ptr coefficients(new ModelCoefficients);
|
||||
|
||||
// 创建存储内点索引的对象
|
||||
PointIndices::Ptr inliers(new PointIndices);
|
||||
inliers->indices = index;
|
||||
|
||||
// 分割点云
|
||||
seg.segment(*inliers, *coefficients);
|
||||
|
||||
// 创建提取器对象
|
||||
ExtractIndices<PointXYZ> extract;
|
||||
|
||||
// 设置提取器输入点云
|
||||
extract.setInputCloud(cloud);
|
||||
|
||||
// 设置提取器的内点索引
|
||||
extract.setIndices(inliers);
|
||||
|
||||
// 设置提取器的标志,为 true 表示提取非内点,即删除地面
|
||||
extract.setNegative(true);
|
||||
|
||||
// 提取非地面点
|
||||
PointCloudXYZ::Ptr no_ground_cloud(new PointCloudXYZ);
|
||||
extract.filter(*no_ground_cloud);
|
||||
|
||||
return no_ground_cloud;
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
|
||||
using namespace std;
|
||||
//权重文件放在workspace目录下
|
||||
const string& engine_file = "best.transd.engine";
|
||||
const char * Yolo::cocoLabels[] = {"person", "bicycle",
|
||||
"motorcycle", "bus", "fire hydrant",
|
||||
|
@ -23,11 +24,11 @@ BoxArray Yolo::detect(cv::Mat colorMat){
|
|||
if (detector == nullptr) {
|
||||
std::cout << "Yolo is not work !!!" << std::endl;
|
||||
}
|
||||
BoxArray objs = detector->forward(cvimg(colorMat));//返回一个包含检测到的目标的对象数组objs
|
||||
|
||||
//返回一个包含检测到的目标的对象数组objs
|
||||
BoxArray objs = detector->forward(cvimg(colorMat));
|
||||
//遍历检测到的目标数组 objs 中的每个目标并绘制
|
||||
for (Box &obj : objs) {
|
||||
const char* name = cocoLabels[obj.classLabel];
|
||||
//std::cout << "////////////cocoLabels[obj.classLabel]////////////////////" << name << std::endl;
|
||||
std::string caption = cv::format("%s", name);
|
||||
cv::rectangle(colorMat, cv::Point(obj.left, obj.top), cv::Point(obj.right, obj.bottom),
|
||||
cv::Scalar(0, 255, 0), 1);
|
||||
|
|
10
src/infer.cu
10
src/infer.cu
|
@ -207,15 +207,7 @@ class __native_nvinfer_logger : public ILogger {
|
|||
} else if (severity == Severity::kERROR) {
|
||||
INFO("NVInfer: %s", msg);
|
||||
}
|
||||
// else if (severity == Severity::kWARNING) {
|
||||
// INFO("NVInfer: %s", msg);
|
||||
// }
|
||||
// else if (severity == Severity::kINFO) {
|
||||
// INFO("NVInfer: %s", msg);
|
||||
// }
|
||||
// else {
|
||||
// INFO("%s", msg);
|
||||
// }
|
||||
|
||||
}
|
||||
};
|
||||
static __native_nvinfer_logger gLogger;
|
||||
|
|
306
src/main.cpp
306
src/main.cpp
|
@ -1,9 +1,3 @@
|
|||
///摄像头
|
||||
#include <librealsense2/rs.hpp> // Include RealSense Cross Platform API
|
||||
#include <librealsense2/hpp/rs_processing.hpp>
|
||||
#include "example.hpp"
|
||||
|
||||
#include <opencv2/opencv.hpp>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <set>
|
||||
|
@ -41,34 +35,25 @@
|
|||
#include <pcl/common/transforms.h>
|
||||
#include <pcl/point_types.h>
|
||||
#include <pcl/io/pcd_io.h>
|
||||
#include <pcl/filters/conditional_removal.h> //条件滤波器头文件
|
||||
#include <pcl/filters/passthrough.h> //直通滤波器头文件
|
||||
#include <pcl/filters/radius_outlier_removal.h> //半径滤波器头文件
|
||||
#include <pcl/filters/statistical_outlier_removal.h> //统计滤波器头文件
|
||||
#include <pcl/filters/voxel_grid.h> //体素滤波器头文件
|
||||
#include <pcl/segmentation/extract_clusters.h>
|
||||
#include <pcl/point_cloud.h>
|
||||
#include <pcl/kdtree/kdtree_flann.h>
|
||||
|
||||
#include <pcl/PointIndices.h>
|
||||
|
||||
// boost.format 字符串处理
|
||||
//#include <boost/format.hpp>
|
||||
|
||||
#include "Yolo.hpp"
|
||||
#include "DepthProcessor.hpp"
|
||||
#include "IMUProcessor.hpp"
|
||||
|
||||
|
||||
// 语音
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include "serialport.h"
|
||||
#include<map>
|
||||
#include<chrono>
|
||||
using namespace std;
|
||||
|
||||
// 超声波
|
||||
#include "../include/dyp-a05/sonar_driver.h"
|
||||
|
@ -79,6 +64,10 @@ using namespace std;
|
|||
// 蜂鸣器
|
||||
#include <JetsonGPIO.h>
|
||||
#include <signal.h>
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
static int addr = 0;
|
||||
static int error = 0;
|
||||
|
@ -106,28 +95,20 @@ static unsigned char rx_buffer[RX_BUFFER_MAX];
|
|||
static double Distance[4] = {0, 0, 0, 0};
|
||||
std::string port = "/dev/ultrasound";
|
||||
|
||||
/*初始化参数定义*/
|
||||
int ini = 0;
|
||||
int initial_times = 10;
|
||||
bool initial = false;
|
||||
/*超声波参数定义*/
|
||||
double max_wrong =2.5;
|
||||
double min_wrong =0.25;
|
||||
double dis0[10];
|
||||
double dis1[10];
|
||||
|
||||
bool end_this_program = false;
|
||||
// 差值
|
||||
double dis0_d = 0.0;
|
||||
double dis1_d = 0.0;
|
||||
// 差值阈值
|
||||
double Thr = 0.5;
|
||||
double Thr = 0.85;
|
||||
|
||||
// 播报选择
|
||||
static int voice_status = 0;
|
||||
std::mutex mtx;
|
||||
bool ToPlay = false;
|
||||
int distt;
|
||||
bool isObjectt;
|
||||
bool to_play = false;
|
||||
double dist_global;
|
||||
bool is_object_global = false;
|
||||
// declare
|
||||
void play_voice(string);
|
||||
|
||||
|
@ -182,93 +163,11 @@ map<string, char> Objects = {
|
|||
{"toilet", 0x5f},
|
||||
{"tv", 0x60},
|
||||
{"refrigerator", 0x61},
|
||||
|
||||
{"object", 0x6e},
|
||||
// 待增物体todo
|
||||
};
|
||||
|
||||
// 播报函数
|
||||
// 10->16进制,conver使用
|
||||
char tenTo16(int i){
|
||||
char output = 'a' ;
|
||||
switch(i){
|
||||
case 1: output = 0x01; break;
|
||||
case 2: output = 0x02; break;
|
||||
case 3: output = 0x03; break;
|
||||
case 4: output = 0x04; break;
|
||||
case 5: output = 0x05; break;
|
||||
case 6: output = 0x06; break;
|
||||
case 7: output = 0x07; break;
|
||||
case 8: output = 0x08; break;
|
||||
case 9: output = 0x09; break;
|
||||
case 0: output = 0x0e; break;
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
// 待传输数组,结合距离和物体,未用
|
||||
void conver(char out[], double dis, string obj){
|
||||
// todo 四舍五入一下 0.29->0.3
|
||||
int ge = -1,shi=-1,bai=-1,qian=-1, dian= -1, dian2 = -1;;
|
||||
//char out[] = {0x8b};
|
||||
//auto *beg = begin(out);
|
||||
int p = 0;
|
||||
//printf("qian: %d,bai:%d,shi:%d,ge:%d,dian:%d\n",qian,bai,shi,ge,dian);
|
||||
//将距离转为十六进制
|
||||
if(dis >= 1000){
|
||||
qian = (int)dis/1000;
|
||||
bai = (int)dis/100%10;
|
||||
shi = (int)dis/10%10;
|
||||
ge = (int)dis%10;
|
||||
}else if(dis >= 100){
|
||||
bai = (int)dis/100;
|
||||
shi = (int)dis/10%10;
|
||||
ge = (int)dis%10;
|
||||
}else if(dis >= 10){
|
||||
shi = (int)dis/10;
|
||||
ge = (int)dis%10;
|
||||
}else if(dis >=1){
|
||||
ge = (int)dis%10;
|
||||
}else{
|
||||
ge = 0;
|
||||
}
|
||||
dian = (int)(dis*10)%10;
|
||||
dian2 = (int)(dis*100)%10;
|
||||
//printf("qian: %d,bai:%d,shi:%d,ge:%d,dian:%d\n",qian,bai,shi,ge,dian);
|
||||
if(qian != -1){
|
||||
out[p++] = tenTo16(qian);
|
||||
out[p++] = 0x0c;
|
||||
out[p++] = tenTo16(bai);
|
||||
out[p++] = 0x0b;
|
||||
out[p++] = tenTo16(shi);
|
||||
out[p++] = 0x0a;
|
||||
}else if(bai != -1){
|
||||
out[p++] = tenTo16(bai);
|
||||
out[p++] = 0x0b;
|
||||
out[p++] = tenTo16(shi);
|
||||
out[p++] = 0x0a;
|
||||
}else if(shi != -1){
|
||||
out[p++] = tenTo16(shi);
|
||||
out[p++] = 0x0a;
|
||||
}
|
||||
// 个位数
|
||||
out[p++] = tenTo16(ge);
|
||||
// 点数
|
||||
out[p++] = 0x0d;
|
||||
// 小数点后一位
|
||||
out[p++] = tenTo16(dian);
|
||||
// 小数点后两位
|
||||
out[p++] = tenTo16(dian2);
|
||||
|
||||
//printf("p:%d, out[0]:%x\n",p,out[1]);
|
||||
//将string转换成对应的十六进制
|
||||
auto iter = Objects.find(obj);
|
||||
if(iter != Objects.end()){
|
||||
out[p++] = iter->second;
|
||||
}
|
||||
|
||||
//return out;
|
||||
}
|
||||
|
||||
// 串口发送起始120,十六进制78
|
||||
bool serial_com(char n16){
|
||||
|
@ -293,8 +192,7 @@ bool serial_com(char n16){
|
|||
int msg_len = strlen(serial_sendmsg);
|
||||
int send_nbyte = serialport.sendnPort(pPort,const_cast<char*>(serial_sendmsg),msg_len);
|
||||
if (send_nbyte > 0) {
|
||||
// 收到数据
|
||||
printf("Send: [%d] ... [OK]\n", send_nbyte);
|
||||
// 收到数据
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -331,13 +229,11 @@ bool serial_com(string object){
|
|||
if(iter != Objects.end()){
|
||||
serial_sendmsg[0] = iter->second;
|
||||
}
|
||||
// conver(serial_sendmsg, Distance, object);
|
||||
|
||||
int msg_len = strlen(serial_sendmsg);
|
||||
int send_nbyte = serialport.sendnPort(pPort,const_cast<char*>(serial_sendmsg),msg_len);
|
||||
if (send_nbyte > 0) {
|
||||
// todo...
|
||||
fprintf(stdout, "Send: [%d] %s... [OK]\n", send_nbyte, serial_sendmsg);
|
||||
// fprintf(stdout, "Send: [%d] %s... [OK]\n", send_nbyte, serial_sendmsg);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -362,10 +258,10 @@ bool serial_com(set<string> objects){
|
|||
|
||||
int send_size = 50;
|
||||
char serial_sendmsg[send_size] = {0x02};
|
||||
// conver(serial_sendmsg, distance, object);
|
||||
|
||||
int p=0;
|
||||
for(auto e: objects){
|
||||
// Objects
|
||||
// 从全局Object找set中的object
|
||||
auto iter = Objects.find(e);
|
||||
if(iter != Objects.end()){
|
||||
// 找到
|
||||
|
@ -376,15 +272,12 @@ bool serial_com(set<string> objects){
|
|||
int msg_len = strlen(serial_sendmsg);
|
||||
int send_nbyte = serialport.sendnPort(pPort,const_cast<char*>(serial_sendmsg),msg_len);
|
||||
if (send_nbyte > 0) {
|
||||
// todo...
|
||||
fprintf(stdout, "Send: [%d] %s... [OK]\n", send_nbyte, serial_sendmsg);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 串口接收函数
|
||||
void serial_receive(char response_buf[]){
|
||||
SerialPort serialport;
|
||||
|
@ -415,9 +308,7 @@ void serial_receive(char response_buf[]){
|
|||
response_buf[receive_nbyte] = '\0';
|
||||
break;
|
||||
}
|
||||
// if (receive_nbyte == 0) break;
|
||||
}
|
||||
// fprintf(stdout, "Receive: [%d] %s... [OK]\n", receive_nbyte, response_buf);
|
||||
}
|
||||
|
||||
// 为了剔除类别中不属于检测出的类别
|
||||
|
@ -468,7 +359,7 @@ void ultrasound_play(){
|
|||
if(fdcom > 0)
|
||||
{
|
||||
uart_set(fdcom, &portinfo);
|
||||
printf("fdcom:%d重启成功!!!!!!!!!!\n", fdcom);
|
||||
printf("fdcom:%d重启成功!!!!!!!\n", fdcom);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
@ -483,19 +374,17 @@ void ultrasound_play(){
|
|||
Distance[1] = double(data_merge(rx_buffer[3], rx_buffer[4]))/1000;
|
||||
Distance[2] = double(data_merge(rx_buffer[5], rx_buffer[6]))/1000;
|
||||
Distance[3] = double(data_merge(rx_buffer[7], rx_buffer[8]))/1000;
|
||||
// std::cout<<"Distance[0]:"<<Distance[0]<<"米 "<<"Distance[1]:"<<Distance[1]<<"米 "<<"Distance[2]:"<<Distance[2]<<"米 "<<"Distance[3]:"<<Distance[3]<<"米 "<<std::endl;
|
||||
|
||||
if(((Distance[0] <= Thr)&&(Distance[0]>min_wrong)) || ((Distance[1] <= Thr)&&(Distance[1]>min_wrong))){
|
||||
// 定义全局变量
|
||||
{
|
||||
std::cout<<"Distance[0]:"<<Distance[0]<<"米 "<<"Distance[1]:"<<Distance[1]<<"米 "<<"Distance[2]:"<<Distance[2]<<"米 "<<"Distance[3]:"<<Distance[3]<<"米 "<<std::endl;
|
||||
ToPlay = true;
|
||||
// std::cout<<"Distance[0]:"<<Distance[0]<<"米 "<<"Distance[1]:"<<Distance[1]<<"米 "<<"Distance[2]:"<<Distance[2]<<"米 "<<"Distance[3]:"<<Distance[3]<<"米 "<<std::endl;
|
||||
to_play = true;
|
||||
voice_status = 3;
|
||||
}
|
||||
continue;
|
||||
|
||||
}
|
||||
else ToPlay = false;
|
||||
else to_play = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -520,7 +409,7 @@ void play_all_class(){
|
|||
|
||||
if(resp_s == "202"){
|
||||
if(classes.empty()){
|
||||
// std::cout<< "wbw111"<< std::endl;
|
||||
|
||||
if(!serial_com(0x73)){
|
||||
std::cout<< "115发送失败,没有物体不播报"<< std::endl;
|
||||
}
|
||||
|
@ -589,64 +478,82 @@ void Bee()// 启动
|
|||
GPIO::setup(output_pin, GPIO::OUT, GPIO::LOW);
|
||||
std::cout << "Bee" << std::endl;
|
||||
while(!end_this_program){
|
||||
if(ToPlay || (isObjectt && distt <= 0.5))
|
||||
if(to_play || (is_object_global && dist_global <= 0.5))
|
||||
{
|
||||
// set pin as an output pin with optional initial state of HIGH
|
||||
GPIO::output(output_pin, GPIO::HIGH);
|
||||
usleep(100000);// 300000
|
||||
GPIO::output(output_pin, GPIO::LOW);
|
||||
usleep(100000);
|
||||
}else if(isObjectt && distt > 0.5){
|
||||
}else if(is_object_global && dist_global > 0.5){
|
||||
GPIO::output(output_pin, GPIO::HIGH);
|
||||
usleep(100000);// 300000
|
||||
GPIO::output(output_pin, GPIO::LOW);
|
||||
usleep(300000);
|
||||
usleep(400000);
|
||||
}
|
||||
else {
|
||||
GPIO::output(output_pin, GPIO::LOW);
|
||||
usleep(100000);
|
||||
}
|
||||
else GPIO::output(output_pin, GPIO::LOW);
|
||||
}
|
||||
GPIO::cleanup();
|
||||
}
|
||||
|
||||
// 配置PWM IO口驱动蜂鸣器
|
||||
const map<string, int> output_pins{
|
||||
{"JETSON_XAVIER", 18}, {"JETSON_NANO", 33}, {"JETSON_NX", 33},
|
||||
{"CLARA_AGX_XAVIER", 18}, {"JETSON_TX2_NX", 32}, {"JETSON_ORIN", 18},
|
||||
{"JETSON_ORIN_NX", 33}, {"JETSON_ORIN_NANO", 33},
|
||||
};
|
||||
|
||||
int get_output_pin()
|
||||
{
|
||||
if (output_pins.find(GPIO::model) == output_pins.end())
|
||||
{
|
||||
cerr << "PWM not supported on this board\n";
|
||||
terminate();
|
||||
}
|
||||
|
||||
return output_pins.at(GPIO::model);
|
||||
}
|
||||
|
||||
int main(){
|
||||
|
||||
rs2::log_to_console(RS2_LOG_SEVERITY_ERROR);
|
||||
// 声明 RealSense 管道,封装实际设备和传感器
|
||||
rs2::pipeline cameraPipe, imuPipe;
|
||||
// 使用推荐的默认配置开始流式传输
|
||||
// 默认视频配置包含深度流和色彩流
|
||||
// 如果设备能够流式传输 IMU 数据,则默认启用陀螺仪和加速计
|
||||
// 使用推荐的默认配置开始流式传输,深度流和色彩流
|
||||
rs2::config cameraCfg, imuCfg;
|
||||
// IMU数据流设置帧率会报错,或是帧率设置过大?
|
||||
imuCfg.enable_stream(rs2_stream::RS2_STREAM_ACCEL, rs2_format::RS2_FORMAT_MOTION_XYZ32F);
|
||||
imuCfg.enable_stream(rs2_stream::RS2_STREAM_GYRO, rs2_format::RS2_FORMAT_MOTION_XYZ32F);
|
||||
// Declare object that handles camera pose calculations
|
||||
IMUProcessor imuProcessor;
|
||||
|
||||
//处理惯性测量单元 (IMU) 传感器数据
|
||||
rs2::pipeline_profile imuProfile = imuPipe.start(imuCfg, [&](rs2::frame frame)
|
||||
{
|
||||
// Cast the frame that arrived to motion frame
|
||||
// 将到达的帧转换为motion_frame
|
||||
auto motion = frame.as<rs2::motion_frame>();
|
||||
// If casting succeeded and the arrived frame is from gyro stream
|
||||
if (motion && motion.get_profile().stream_type() == RS2_STREAM_GYRO && motion.get_profile().format() == RS2_FORMAT_MOTION_XYZ32F)
|
||||
{
|
||||
// Get the timestamp of the current frame
|
||||
//获取当前帧的时间戳
|
||||
double ts = motion.get_timestamp();
|
||||
// Get gyro measures
|
||||
//从motion_frame对象中获取陀螺仪数据
|
||||
rs2_vector gyroData = motion.get_motion_data();
|
||||
// Call function that computes the angle of motion based on the retrieved measures
|
||||
//传入陀螺仪数据和时间戳,对陀螺仪数据进行处理
|
||||
imuProcessor.process_gyro(gyroData, ts);
|
||||
}
|
||||
// If casting succeeded and the arrived frame is from accelerometer stream
|
||||
if (motion && motion.get_profile().stream_type() == RS2_STREAM_ACCEL && motion.get_profile().format() == RS2_FORMAT_MOTION_XYZ32F)
|
||||
{
|
||||
// Get accelerometer measures
|
||||
//从motion_frame对象中获取加速度计数据
|
||||
rs2_vector accelData = motion.get_motion_data();
|
||||
// Call function that computes the angle of motion based on the retrieved measures
|
||||
//对加速度计数据进行处理
|
||||
imuProcessor.process_accel(accelData);
|
||||
}
|
||||
});
|
||||
|
||||
//启用了颜色相机流和深度相机流
|
||||
cameraCfg.enable_stream(rs2_stream::RS2_STREAM_COLOR, 640, 480, rs2_format::RS2_FORMAT_BGR8, 30);
|
||||
cameraCfg.enable_stream(rs2_stream::RS2_STREAM_DEPTH, 640, 480, rs2_format::RS2_FORMAT_Z16, 30);
|
||||
|
||||
rs2::pipeline_profile cameraProfile = cameraPipe.start(cameraCfg);
|
||||
|
||||
// 创建一个对齐模块
|
||||
|
@ -657,9 +564,7 @@ int main(){
|
|||
// 创建yolov8
|
||||
Yolo yoloV8("/home/jetson/tmp/obstacle-detection-new1/workspace/best.transd.engine");
|
||||
// 创建点云处理器
|
||||
string cfgPath = "";
|
||||
cv::Mat mK(4, 4, CV_32F);
|
||||
DepthProcessor depthProcessor(cfgPath, mK);
|
||||
DepthProcessor depthProcessor;
|
||||
depthProcessor.fx = 388.588;
|
||||
depthProcessor.fy = 388.588;
|
||||
depthProcessor.cx = 322.771;
|
||||
|
@ -693,16 +598,10 @@ int main(){
|
|||
transform.rotate(Eigen::AngleAxisf(-theta.x, Eigen::Vector3f::UnitZ()) *
|
||||
Eigen::AngleAxisf(0, Eigen::Vector3f::UnitY()) *
|
||||
Eigen::AngleAxisf(theta.z + PI_FL/2, Eigen::Vector3f::UnitX()));
|
||||
|
||||
//初始化成功次数
|
||||
int init_count = 0;
|
||||
//初始化地面高度计算值
|
||||
float tmp_height = 0;
|
||||
// 关闭蜂鸣器
|
||||
int output_pin_ = 13;
|
||||
GPIO::setmode(GPIO::BCM);
|
||||
//signal(SIGINT, signalHandler);
|
||||
GPIO::setup(output_pin_, GPIO::OUT, GPIO::LOW);
|
||||
GPIO::output(output_pin_, GPIO::LOW);
|
||||
|
||||
//相机初始化 10次
|
||||
while(true){
|
||||
if(!depthProcessor.camHighInit(depthMat, transform)){
|
||||
|
@ -732,27 +631,19 @@ int main(){
|
|||
|
||||
std::cout << "相机初始化:" << depthProcessor.camHigh << std::endl;
|
||||
|
||||
// 超声波模块参数初始化
|
||||
for(int i = 0 ; i < initial_times; i++)// 先初始化数组里的数为0
|
||||
{
|
||||
dis0[i] = 0.0;
|
||||
dis1[i] = 0.0;
|
||||
}
|
||||
|
||||
// 创建超声波线程
|
||||
std::thread ultrasonicThread(ultrasound_play);
|
||||
ultrasonicThread.detach();
|
||||
// 播报所有物体
|
||||
std::thread playAllClassThread(play_all_class);
|
||||
playAllClassThread.detach();
|
||||
// 创建蜂鸣器线程
|
||||
std::thread BeeThread(Bee);
|
||||
BeeThread.detach();
|
||||
// // classes
|
||||
std::thread playAllClassThread(play_all_class);
|
||||
playAllClassThread.detach();
|
||||
|
||||
// 相机主循环
|
||||
|
||||
while(true) {
|
||||
|
||||
auto start = std::chrono::high_resolution_clock::now();
|
||||
//等待来自摄像机的下一组图像
|
||||
rs2::frameset allFrames = cameraPipe.wait_for_frames();
|
||||
float3 theta = imuProcessor.get_theta();
|
||||
|
@ -765,8 +656,6 @@ int main(){
|
|||
|
||||
// 检查是否成功获取数据
|
||||
if (depthFrame && colorFrame) {
|
||||
auto start = std::chrono::high_resolution_clock::now();
|
||||
|
||||
// 将深度图像转换为cv::Mat类型
|
||||
int widthD = depthFrame.get_width();
|
||||
int heightD = depthFrame.get_height();
|
||||
|
@ -791,10 +680,11 @@ int main(){
|
|||
isObject = depthProcessor.obstacleDetect(depthMat, transform);
|
||||
if(isObject)
|
||||
{
|
||||
isObjectt = true;
|
||||
distt = depthProcessor.dist;
|
||||
is_object_global = true;
|
||||
dist_global = depthProcessor.dist;
|
||||
}
|
||||
else isObjectt = false;
|
||||
else is_object_global = false;
|
||||
|
||||
}
|
||||
catch (const std::exception& e) {
|
||||
std::cerr << "Caught exception: " << e.what() << std::endl;
|
||||
|
@ -803,7 +693,8 @@ int main(){
|
|||
|
||||
// YOLOv8分割+检测
|
||||
BoxArray objs = yoloV8.detect(colorMat);
|
||||
|
||||
// 因为所有可视化都是在main.cpp里,直接在main.cpp中定义一个全局变量
|
||||
// 来控制是否可视化就行,不可视化的话
|
||||
if(isObject) {
|
||||
cv::rectangle(colorMat, cv::Point(depthProcessor.min_x, depthProcessor.min_y),
|
||||
cv::Point(depthProcessor.max_x, depthProcessor.max_y),
|
||||
|
@ -818,10 +709,13 @@ int main(){
|
|||
classes.clear();
|
||||
}
|
||||
// 输出识别框信息
|
||||
for(Box &obj : objs) {
|
||||
cout << yoloV8.cocoLabels[obj.classLabel] << " ";
|
||||
if(depthProcessor.bPrintObjs){
|
||||
for(Box &obj : objs) {
|
||||
cout << yoloV8.cocoLabels[obj.classLabel] << " ";
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
cout << endl;
|
||||
|
||||
for(Box &obj : objs) {
|
||||
float depth = 0;
|
||||
int i = 0;
|
||||
|
@ -829,14 +723,6 @@ int main(){
|
|||
int objWidth = obj.right - obj.left;
|
||||
int objHeight = obj.bottom - obj.top;
|
||||
cv::resize(mask, mask, cv::Size(objWidth, objHeight));
|
||||
// 进行腐蚀操作
|
||||
cv::erode(mask, mask, kernel);
|
||||
|
||||
// 将掩码绘制到RGB图像上
|
||||
//cv::Rect roi(obj.left, obj.top, obj_width, obj_height);
|
||||
//cv::Mat maskColor;
|
||||
//cv::cvtColor(mask, maskColor, cv::COLOR_GRAY2BGR);
|
||||
//maskColor.copyTo(colorMat(roi));
|
||||
|
||||
for(int x = 0; x < objWidth; x++){
|
||||
for(int y = 0 ;y < objHeight; y++){
|
||||
|
@ -853,7 +739,7 @@ int main(){
|
|||
|
||||
if(isObject){
|
||||
if (depthProcessor.max_x > obj.left && depthProcessor.min_x < obj.right
|
||||
&& depthProcessor.max_y > obj.top && depthProcessor.min_y < obj.bottom){
|
||||
&& depthProcessor.max_y > obj.top && depthProcessor.min_y < obj.bottom){
|
||||
double rate = depthProcessor.IOU(depthProcessor.max_x, depthProcessor.min_x, depthProcessor.max_y, depthProcessor.min_y,
|
||||
obj.right, obj.left, obj.bottom, obj.top);
|
||||
if(rate >= 0.3){
|
||||
|
@ -873,20 +759,7 @@ int main(){
|
|||
|
||||
}
|
||||
}
|
||||
// if(/*isObject && */isLabel){
|
||||
// // if(abs(depthProcessor.dist - depth) > 0.2){
|
||||
// // isLabel = false;
|
||||
|
||||
// // std::cout << " depthProcessor.dist = " << depthProcessor.dist << " depth =" << depth << std::endl;
|
||||
// // }
|
||||
|
||||
// // else
|
||||
// if(tmp_depth > depth){
|
||||
// tmp_depth = depth;
|
||||
// std::cout << "something near" <<std::endl;
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// 要播报的全部类别
|
||||
classes.insert(yoloV8.cocoLabels[obj.classLabel]);
|
||||
|
||||
|
@ -897,15 +770,11 @@ int main(){
|
|||
|
||||
auto endTime = std::chrono::high_resolution_clock::now();
|
||||
auto duration = std::chrono::duration_cast<std::chrono::seconds>(endTime - startTime);
|
||||
// 语音播报,间隔大于等于秒在进行下一次
|
||||
|
||||
// 语音播报,间隔大于等于7秒在进行下一次
|
||||
if(duration.count() >= 7 || count == 1){
|
||||
if(ToPlay){
|
||||
if(to_play){
|
||||
// 超声波播报
|
||||
std::cout << std::endl << "************************有障碍物;dis0_d: " << dis0_d << "|| dis1_d: " << dis1_d << std::endl;
|
||||
// play_voice("object");
|
||||
// Bee(300000);
|
||||
// 回置全局变量
|
||||
// ToPlay = false;
|
||||
voice_status = 0;
|
||||
startTime = std::chrono::high_resolution_clock::now();
|
||||
count++;
|
||||
|
@ -913,8 +782,6 @@ int main(){
|
|||
// 相机播报
|
||||
if(isObject && isLabel){
|
||||
isLabel = false;
|
||||
std::cout << std::endl;
|
||||
std::cout << "前方" << depthProcessor.dist << "米存在" << label << std::endl;
|
||||
{
|
||||
voice_status = 1;
|
||||
}
|
||||
|
@ -923,8 +790,6 @@ int main(){
|
|||
startTime = std::chrono::high_resolution_clock::now();
|
||||
count++;
|
||||
}else if(isObject){
|
||||
std::cout << std::endl;
|
||||
std::cout << "前方" << depthProcessor.dist << "米有障碍物"<< std::endl;
|
||||
{
|
||||
voice_status = 2;
|
||||
}
|
||||
|
@ -942,14 +807,15 @@ int main(){
|
|||
count = 2;
|
||||
}
|
||||
|
||||
cv::imshow("RGB Image", colorMat);
|
||||
if (cv::waitKey(5) == 27) break;
|
||||
auto end = std::chrono::high_resolution_clock::now();
|
||||
auto duration_test = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
|
||||
std::cout << "Time taken: " << duration_test << " microseconds" << std::endl;
|
||||
if(depthProcessor.bViewRGB){
|
||||
cv::imshow("RGB Image", colorMat);
|
||||
if (cv::waitKey(5) == 27) break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// pwm.stop();
|
||||
GPIO::cleanup();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,14 +25,13 @@ int wait_flag = noflag;
|
|||
SerialPort::Port_INFO *SerialPort::readyPort(int id, Port_INFO *pPort)
|
||||
{
|
||||
pthread_mutex_init(&pPort->mt,NULL);
|
||||
/*Ubuntu<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/*Ubuntu虚拟机
|
||||
*sudo gpasswd --add zhaojq dialout
|
||||
*logout
|
||||
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>open /dev/ttyS0Ȩ<EFBFBD><EFBFBD>
|
||||
*开启open /dev/ttyS0权限
|
||||
*/
|
||||
sprintf(pPort->name,"/dev/voice");
|
||||
// pPort->name = "/dev/voice";
|
||||
/*A8<41><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
/*A8开发板*/
|
||||
//sprintf(pPort->name,"/dev/s3c2410_serial%d",id);
|
||||
|
||||
pPort->fd = open(pPort->name, O_RDWR | O_NOCTTY | O_NDELAY);
|
||||
|
@ -55,13 +54,13 @@ int SerialPort::cleanPort(Port_INFO *pPort)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*c_cflag:<3A><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>־,ָ<><D6B8><EFBFBD>ն<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
* CLOCAL:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·״̬,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>DZ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* CREAD:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
||||
/* c_cflag:控制模式标志,指定终端硬件控制信息
|
||||
* CLOCAL:设置,则忽略调制解调器线路状态,即该设备是本地连接
|
||||
* CREAD:设置,则启用接收装置,可以接收字符
|
||||
*/
|
||||
int SerialPort::setPortSpeed(Port_INFO *pPort, int port_speed)
|
||||
{
|
||||
/*tcgetattr:<EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD>ն<EFBFBD><EFBFBD><EFBFBD>صIJ<EFBFBD><EFBFBD><EFBFBD>*/
|
||||
/*tcgetattr:用于获取终端相关的参数*/
|
||||
if(unlikely(tcgetattr(pPort->fd,&pPort->ntm) != 0)) {
|
||||
fprintf(stderr, "Set Serial [%s] Speed Error... [FAIL]\n",pPort->name);
|
||||
return -1;
|
||||
|
@ -98,15 +97,15 @@ int SerialPort::setPortSpeed(Port_INFO *pPort, int port_speed)
|
|||
fprintf(stderr, "Unsupported Port Speed... [FAIL]\n");
|
||||
return -1;
|
||||
}
|
||||
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>벨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
/*设置输入波特率*/
|
||||
cfsetispeed(&pPort->ntm, speed);
|
||||
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
/*设置输出波特率*/
|
||||
cfsetospeed(&pPort->ntm, speed);
|
||||
pPort->ntm.c_cflag |= (CLOCAL | CREAD); //Enable the receiver and set local mode
|
||||
/*tcsetattr:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>صIJ<D8B5><C4B2><EFBFBD>
|
||||
* TCSANOW:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* TCSADRAIN:<EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲŸı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* TCSAFLUSH:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/* tcsetattr:用于设置终端相关的参数
|
||||
* TCSANOW:不等数据传输完毕就立即改变属性
|
||||
* TCSADRAIN:等待所有数据传输完毕才改变属性
|
||||
* TCSAFLUSH:清空输入输出缓冲区才改变属性
|
||||
*/
|
||||
tcsetattr(pPort->fd,TCSANOW,&pPort->ntm);
|
||||
// fprintf(stdout, "Set SerialPort Speed:[%d]... [OK]\n", port_speed);
|
||||
|
@ -115,20 +114,20 @@ int SerialPort::setPortSpeed(Port_INFO *pPort, int port_speed)
|
|||
|
||||
/*
|
||||
*c_cflag:
|
||||
* CSIZE:<EFBFBD>ֽڴ<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͺͽ<EFBFBD><EFBFBD>յ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ֽڵ<EFBFBD>λ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>żУ<EFBFBD><EFBFBD>λ).ȡֵ<EFBFBD><EFBFBD>ΧΪCS5,CS6,CS7,CS8
|
||||
* PARENB:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD>ԵIJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD>.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>żλ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>
|
||||
* PARODD:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊż
|
||||
* CSTOPB:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣλ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊһ<EFBFBD><EFBFBD>ֹͣλ
|
||||
* CRTSCTS:ʹ<EFBFBD><EFBFBD>RTS/CTS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*c_iflag:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>־,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뷽ʽ
|
||||
* INPCK:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>żУ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*c_oflag:<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>־,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
|
||||
* OPOST:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ʵ<EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*c_lflag:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>־,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն˱༭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* ICANON:ʹ<EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
|
||||
* ECHO:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><EFBFBD>ն<EFBFBD><EFBFBD>豸
|
||||
* ECHOE:<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* ISIG:<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>INTR,OUIT,SUSPʱ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ź<EFBFBD>
|
||||
* CSIZE:字节大小屏蔽,指明发送和接收的每个字节的位数(长度不包括奇偶校验位).取值范围为CS5,CS6,CS7,CS8
|
||||
* PARENB:控制奇偶性的产生和检测.设置,则对输出字符产生奇偶位,对输入字符执行奇偶性校验
|
||||
* PARODD:设置,则输出和输入字符的奇偶性都是奇;否则为偶
|
||||
* CSTOPB:设置两个停止位;否则为一个停止位
|
||||
* CRTSCTS:使用RTS/CTS流控制
|
||||
*c_iflag:输入模式标志,控制终端输入方式
|
||||
* INPCK:设置,则输入奇偶校验起作用;否则不起作用
|
||||
*c_oflag:输出模式标志,控制终端输出方式
|
||||
* OPOST:设置,则执行实现定义的输出处理
|
||||
*c_lflag:本地模式标志,控制终端编辑功能
|
||||
* ICANON:使用标准输入模式
|
||||
* ECHO:设置,则将输入字符回送到终端设备
|
||||
* ECHOE:可见擦除符
|
||||
* ISIG:设置,则当输入INTR,OUIT,SUSP时,产生相应信号
|
||||
*/
|
||||
int SerialPort::setPortParity(Port_INFO *pPort,int databits,int parity,int stopbits)
|
||||
{
|
||||
|
@ -137,7 +136,7 @@ int SerialPort::setPortParity(Port_INFO *pPort,int databits,int parity,int stopb
|
|||
return -1;
|
||||
}
|
||||
pPort->ntm.c_cflag &= ~CSIZE;
|
||||
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ*/
|
||||
/*设置数据位*/
|
||||
switch (databits)
|
||||
{
|
||||
case 7:
|
||||
|
@ -150,23 +149,23 @@ int SerialPort::setPortParity(Port_INFO *pPort,int databits,int parity,int stopb
|
|||
fprintf(stderr, "Unsupported Port Data bits... [FAIL]\n");
|
||||
return -1;
|
||||
}
|
||||
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>żУ<EFBFBD><EFBFBD>λ*/
|
||||
/*设置奇偶校验位*/
|
||||
switch (parity)
|
||||
{
|
||||
/*No parity <EFBFBD><EFBFBD><EFBFBD><EFBFBD>żУ<EFBFBD><EFBFBD>λ*/
|
||||
/*No parity 无奇偶校验位*/
|
||||
case 'n':
|
||||
case 'N':
|
||||
pPort->ntm.c_cflag &= ~PARENB; /* Clear parity enable */
|
||||
pPort->ntm.c_iflag &= ~INPCK; /* Enable parity checking */
|
||||
break;
|
||||
|
||||
/*Odd parity <EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>*/
|
||||
/*Odd parity 奇校验*/
|
||||
case 'o':
|
||||
case 'O':
|
||||
pPort->ntm.c_cflag |= (PARODD | PARENB);
|
||||
pPort->ntm.c_iflag |= INPCK; /* Disnable parity checking */
|
||||
break;
|
||||
/*Even parity żУ<EFBFBD><EFBFBD>*/
|
||||
/*Even parity 偶校验*/
|
||||
case 'e':
|
||||
case 'E':
|
||||
pPort->ntm.c_cflag |= PARENB; /* Enable parity */
|
||||
|
@ -182,7 +181,7 @@ int SerialPort::setPortParity(Port_INFO *pPort,int databits,int parity,int stopb
|
|||
fprintf(stderr, "Unsupported Port Parity... [FAIL]\n");
|
||||
return -1;
|
||||
}
|
||||
/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹͣλ*/
|
||||
/*设置停止位*/
|
||||
switch (stopbits)
|
||||
{
|
||||
case 1:
|
||||
|
@ -198,15 +197,15 @@ int SerialPort::setPortParity(Port_INFO *pPort,int databits,int parity,int stopb
|
|||
pPort->ntm.c_cflag &= ~CRTSCTS; // disable hardware flow control
|
||||
pPort->ntm.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); /*Input*/
|
||||
pPort->ntm.c_oflag &= ~OPOST;
|
||||
/*tcflush:<3A><><EFBFBD><EFBFBD>ն<EFBFBD>δ<EFBFBD><CEB4>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* TCIFLUSH:ˢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* TCOFLUSH:ˢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* TCIOFLUSH:ˢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/* tcflush:清空终端未完成的输入/输出请求及数据
|
||||
* TCIFLUSH:刷清输入队列
|
||||
* TCOFLUSH:刷清输出队列
|
||||
* TCIOFLUSH:刷清输入/输出队列
|
||||
*/
|
||||
tcflush(pPort->fd, TCIFLUSH);
|
||||
/*<EFBFBD>ȴ<EFBFBD>ʱ<EFBFBD><EFBFBD>(<28>ٺ<EFBFBD><D9BA><EFBFBD>)*/
|
||||
/*等待时间(百毫秒)*/
|
||||
pPort->ntm.c_cc[VTIME] = 5;
|
||||
/*<EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>*/
|
||||
/*等待的最小字节数*/
|
||||
pPort->ntm.c_cc[VMIN] = 1;
|
||||
tcsetattr(pPort->fd,TCSANOW,&pPort->ntm);
|
||||
// fprintf(stdout, "Set SerialPort Data bits:[%d], Parity:[%c], Stop bits:[%d]... [OK]\n", databits, parity, stopbits);
|
||||
|
@ -278,14 +277,14 @@ int SerialPort::signal_recvnPort(Port_INFO *pPort,char *pbuf,int size)
|
|||
// saio.sa_flags = 0;
|
||||
// saio.sa_restorer = NULL;
|
||||
/*
|
||||
*Ӧ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>첽֪ͨ:
|
||||
*<EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD>дʱ,<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>źŸ<EFBFBD><EFBFBD>ں<EFBFBD>,<EFBFBD><EFBFBD>֪<EFBFBD>ں<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿɶ<EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
*应用层启用异步通知:
|
||||
*当设备可写时,设备驱动函数发送一个信号给内核,告知内核有数据可读,在条件不满足之前,并不会造成阻塞
|
||||
*/
|
||||
//<EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><EFBFBD>źŵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,SIGIO:<3A>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>Կ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//设置对信号的处理操作程序,SIGIO:文件描述符准备就绪,可以开始进行输入/输出操作
|
||||
// sigaction(SIGIO, &saio, NULL);
|
||||
//ָ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD><EFBFBD>"
|
||||
//指定一个进程作为文件的"属主"
|
||||
// fcntl(pPort->fd, F_SETOWN, getpid ());
|
||||
//<EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FASYNC<EFBFBD><EFBFBD>־
|
||||
//在设备文件中添加FASYNC标志
|
||||
// int f_flags = fcntl(pPort->fd, F_GETFL);
|
||||
// fcntl(pPort->fd, F_SETFL, f_flags|FASYNC);
|
||||
|
||||
|
@ -324,7 +323,7 @@ int SerialPort::lockPort(Port_INFO *pPort)
|
|||
if(unlikely(pPort->fd < 0)) {
|
||||
return 1;
|
||||
}
|
||||
/*LOCK_EX:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
/*LOCK_EX:建立互斥锁定*/
|
||||
return flock(pPort->fd,LOCK_EX);
|
||||
}
|
||||
|
||||
|
@ -333,6 +332,6 @@ int SerialPort::unlockPort(Port_INFO *pPort)
|
|||
if(unlikely(pPort->fd < 0)) {
|
||||
return 1;
|
||||
}
|
||||
/*LOCK_UN<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
/*LOCK_UN:解除文件锁定*/
|
||||
return flock(pPort->fd,LOCK_UN);
|
||||
}
|
||||
|
|
22
src/yolo.cu
22
src/yolo.cu
|
@ -76,7 +76,7 @@ static __host__ __device__ void affine_project(float *matrix, float x, float y,
|
|||
*ox = matrix[0] * x + matrix[1] * y + matrix[2];
|
||||
*oy = matrix[3] * x + matrix[4] * y + matrix[5];
|
||||
}
|
||||
|
||||
//解码 YOLO 模型的预测输出,筛选出目标性较高的预测框,并将其转换为图像上的实际目标框
|
||||
static __global__ void decode_kernel_common(float *predict, int num_bboxes, int num_classes,
|
||||
int output_cdim, float confidence_threshold,
|
||||
float *invert_affine_matrix, float *parray,
|
||||
|
@ -125,7 +125,7 @@ static __global__ void decode_kernel_common(float *predict, int num_bboxes, int
|
|||
*pout_item++ = label;
|
||||
*pout_item++ = 1; // 1 = keep, 0 = ignore
|
||||
}
|
||||
|
||||
//更新了类别置信度的读取位置,并添加了将预测框的位置索引存储到输出中的功能。
|
||||
static __global__ void decode_kernel_v8(float *predict, int num_bboxes, int num_classes,
|
||||
int output_cdim, float confidence_threshold,
|
||||
float *invert_affine_matrix, float *parray,
|
||||
|
@ -171,7 +171,7 @@ static __global__ void decode_kernel_v8(float *predict, int num_bboxes, int num_
|
|||
*pout_item++ = 1; // 1 = keep, 0 = ignore
|
||||
*pout_item++ = position;
|
||||
}
|
||||
|
||||
//计算两个矩形框(bounding box)之间 Intersection over Union (IoU)
|
||||
static __device__ float box_iou(float aleft, float atop, float aright, float abottom, float bleft,
|
||||
float btop, float bright, float bbottom) {
|
||||
float cleft = max(aleft, bleft);
|
||||
|
@ -186,7 +186,7 @@ static __device__ float box_iou(float aleft, float atop, float aright, float abo
|
|||
float b_area = max(0.0f, bright - bleft) * max(0.0f, bbottom - btop);
|
||||
return c_area / (a_area + b_area - c_area);
|
||||
}
|
||||
|
||||
//CUDA 核函数,用于执行快速非最大抑制(Fast Non-Maximum Suppression,NMS)算法,用于过滤重叠的检测框并保留置信度较高的框
|
||||
static __global__ void fast_nms_kernel(float *bboxes, int MAX_IMAGE_BOXES, float threshold) {
|
||||
int position = (blockDim.x * blockIdx.x + threadIdx.x);
|
||||
int count = min((int)*bboxes, MAX_IMAGE_BOXES);
|
||||
|
@ -211,7 +211,7 @@ static __global__ void fast_nms_kernel(float *bboxes, int MAX_IMAGE_BOXES, float
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//计算 CUDA 核函数执行所需的网格维度(grid dimensions)和块维度(block dimensions)
|
||||
static dim3 grid_dims(int numJobs) {
|
||||
int numBlockThreads = numJobs < GPU_BLOCK_THREADS ? numJobs : GPU_BLOCK_THREADS;
|
||||
return dim3(((numJobs + numBlockThreads - 1) / (float)numBlockThreads));
|
||||
|
@ -220,7 +220,7 @@ static dim3 grid_dims(int numJobs) {
|
|||
static dim3 block_dims(int numJobs) {
|
||||
return numJobs < GPU_BLOCK_THREADS ? numJobs : GPU_BLOCK_THREADS;
|
||||
}
|
||||
|
||||
//根据不同的类型选择调用不同的 CUDA 核函数
|
||||
static void decode_kernel_invoker(float *predict, int num_bboxes, int num_classes, int output_cdim,
|
||||
float confidence_threshold, float nms_threshold,
|
||||
float *invert_affine_matrix, float *parray, int MAX_IMAGE_BOXES,
|
||||
|
@ -242,7 +242,7 @@ static void decode_kernel_invoker(float *predict, int num_bboxes, int num_classe
|
|||
block = block_dims(MAX_IMAGE_BOXES);
|
||||
checkKernel(fast_nms_kernel<<<grid, block, 0, stream>>>(parray, MAX_IMAGE_BOXES, nms_threshold));
|
||||
}
|
||||
|
||||
//用于执行仿射变换、双线性插值和归一化操作
|
||||
static __global__ void warp_affine_bilinear_and_normalize_plane_kernel(
|
||||
uint8_t *src, int src_line_size, int src_width, int src_height, float *dst, int dst_width,
|
||||
int dst_height, uint8_t const_value_st, float *warp_affine_matrix_2_3, Norm norm) {
|
||||
|
@ -324,7 +324,7 @@ static __global__ void warp_affine_bilinear_and_normalize_plane_kernel(
|
|||
*pdst_c1 = c1;
|
||||
*pdst_c2 = c2;
|
||||
}
|
||||
|
||||
//CUDA 来处理图像数据,生成掩码图像
|
||||
static void warp_affine_bilinear_and_normalize_plane(uint8_t *src, int src_line_size, int src_width,
|
||||
int src_height, float *dst, int dst_width,
|
||||
int dst_height, float *matrix_2_3,
|
||||
|
@ -337,7 +337,7 @@ static void warp_affine_bilinear_and_normalize_plane(uint8_t *src, int src_line_
|
|||
src, src_line_size, src_width, src_height, dst, dst_width, dst_height, const_value,
|
||||
matrix_2_3, norm));
|
||||
}
|
||||
|
||||
//用于生成掩码图像
|
||||
static __global__ void decode_single_mask_kernel(int left, int top, float *mask_weights,
|
||||
float *mask_predict, int mask_width,
|
||||
int mask_height, unsigned char *mask_out,
|
||||
|
@ -365,7 +365,7 @@ static __global__ void decode_single_mask_kernel(int left, int top, float *mask_
|
|||
float alpha = 1.0f / (1.0f + exp(-cumprod));
|
||||
mask_out[dy * out_width + dx] = alpha * 255;
|
||||
}
|
||||
|
||||
//用了之前核函数decode_single_mask_kernel 来生成掩码图像
|
||||
static void decode_single_mask(float left, float top, float *mask_weights, float *mask_predict,
|
||||
int mask_width, int mask_height, unsigned char *mask_out,
|
||||
int mask_dim, int out_width, int out_height, cudaStream_t stream) {
|
||||
|
@ -394,7 +394,7 @@ const char *type_name(Type type) {
|
|||
return "Unknow";
|
||||
}
|
||||
}
|
||||
|
||||
//AffineMatrix 结构体,用于存储仿射变换的矩阵
|
||||
struct AffineMatrix {
|
||||
float i2d[6]; // image to dst(network), 2x3 matrix
|
||||
float d2i[6]; // dst to image, 2x3 matrix
|
||||
|
|
BIN
workspace/pro
BIN
workspace/pro
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue