分类 云笔记 下的文章

“收集其他网站上看到的点滴内容。”

apt update
apt -y install wget vim unzip cmake build-essential
apt -y install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
apt -y install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
apt -y install libgtk-3-dev libfreeimage3 libfreeimage-dev
apt -y install libpng-dev libjpeg-dev libopenexr-dev libtiff-dev libwebp-dev libdc1394-dev
apt -y install pkg-config libfreetype-dev libharfbuzz-dev

mkdir -p /home/hesy/opencv && cd /home/hesy/opencv
wget https://github.com/opencv/opencv/archive/refs/tags/4.10.0.tar.gz
wget https://github.com/opencv/opencv_contrib/archive/refs/tags/4.10.0.zip
unzip 4.10.0.zip
tar xvf 4.10.0.tar.gz
cd opencv-4.10.0
mkdir build && cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_IPP=OFF -D WITH_OPENGL=OFF -D WITH_QT=OFF -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=/home/hesy/opencv/opencv_contrib-4.10.0/modules -D BUILD_EXAMPLES=OFF -D WITH_JASPER=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -DWITH_FREETYPE=ON -DBUILD_png=ON ..


make -j6
make install

tar czvf opencv-dev-4.10.0.tar.gz /usr/local/include usr/local/lib

配置输出内容

--   OpenCV modules:
--     To be built:                 alphamat aruco bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hfs highgui img_hash imgcodecs imgproc intensity_transform line_descriptor mcc ml objdetect optflow phase_unwrapping photo plot quality rapid reg rgbd saliency shape signal stereo stitching structured_light superres surface_matching text tracking ts video videoio videostab wechat_qrcode xfeatures2d ximgproc xobjdetect xphoto
--     Disabled:                    python3 world
--     Disabled by dependency:      -
--     Unavailable:                 cannops cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv hdf java julia matlab ovis python2 sfm viz
--     Applications:                perf_tests apps
--     Documentation:               NO
--     Non-free algorithms:         YES
-- 
--   GUI:                           GTK3
--     GTK+:                        YES (ver 3.24.33)
--       GThread :                  YES (ver 2.72.4)
--       GtkGlExt:                  NO
--     VTK support:                 NO
-- 
--   Media I/O: 
--     ZLib:                        /usr/lib/aarch64-linux-gnu/libz.so (ver 1.2.11)
--     JPEG:                        /usr/lib/aarch64-linux-gnu/libjpeg.so (ver 80)
--     WEBP:                        /usr/lib/aarch64-linux-gnu/libwebp.so (ver encoder: 0x020f)
--     PNG:                         build (ver 1.6.43)
--       SIMD Support Request:      YES
--       SIMD Support:              YES (Arm NEON)
--     TIFF:                        /usr/lib/aarch64-linux-gnu/libtiff.so (ver 42 / 4.3.0)
--     JPEG 2000:                   build (ver 2.5.0)
--     OpenEXR:                     /usr/lib/aarch64-linux-gnu/libImath-2_5.so /usr/lib/aarch64-linux-gnu/libIlmImf-2_5.so /usr/lib/aarch64-linux-gnu/libIex-2_5.so /usr/lib/aarch64-linux-gnu/libHalf-2_5.so /usr/lib/aarch64-linux-gnu/libIlmThread-2_5.so (ver 2_5)
--     HDR:                         YES
--     SUNRASTER:                   YES
--     PXM:                         YES
--     PFM:                         YES
-- 
--   Video I/O:
--     DC1394:                      YES (2.2.6)
--     FFMPEG:                      YES
--       avcodec:                   YES (58.134.100)
--       avformat:                  YES (58.76.100)
--       avutil:                    YES (56.70.100)
--       swscale:                   YES (5.9.100)
--       avresample:                NO
--     GStreamer:                   YES (1.20.3)
--     v4l/v4l2:                    YES (linux/videodev2.h)
-- 
--   Parallel framework:            pthreads
-- 
--   Trace:                         YES (with Intel ITT)
-- 
--   Other third-party libraries:
--     Lapack:                      NO
--     Eigen:                       YES (ver 3.4.0)
--     Custom HAL:                  YES (carotene (ver 0.0.1, Auto detected))
--     Protobuf:                    build (3.19.1)
--     Flatbuffers:                 builtin/3rdparty (23.5.9)
-- 
--   OpenCL:                        YES (no extra features)
--     Include path:                /home/hesy/opencv/opencv-4.10.0/3rdparty/include/opencl/1.2
--     Link libraries:              Dynamic load
-- 
--   Python (for build):            /usr/bin/python3
-- 
--   Java:                          
--     ant:                         NO
--     Java:                        NO
--     JNI:                         NO
--     Java wrappers:               NO
--     Java tests:                  NO
-- 
--   Install to:                    /usr/local
-- -----------------------------------------------------------------
-- 
-- Configuring done

提高员工积极性是管理者和组织面临的一个重要挑战。以下是一些有效的方法:

  1. 提供明确的目标和方向
    设定清晰的目标:确保员工清楚理解他们的工作目标和如何实现这些目标。

沟通战略愿景:让员工明白他们的工作如何与公司的整体战略相结合。

  1. 认可与反馈
    及时认可:对员工的成绩和努力给予及时、具体的认可,比如表扬、奖励、提升等。

建设性反馈:提供正面的反馈,同时指出改进之处,帮助员工成长。

  1. 职业发展与培训
    提供培训机会:支持员工的持续学习和发展,提供专业技能培训。

职业路径规划:制定清晰的职业发展路径,让员工看到未来的晋升和发展机会。

  1. 工作环境优化
    改善工作环境:创造一个舒适、安全、激励人心的工作场所。

工作生活平衡:支持员工实现工作与生活的平衡,如灵活工作时间、远程工作选项等。

  1. 参与与自主性
    增加自主权:给予员工在工作中更多自主决定的权力,增强他们的主人翁感。

参与决策:鼓励员工参与与他们工作相关的决策过程,让他们感到被重视。

  1. 团队合作与文化
    培养团队精神:通过团队建设活动和项目增强团队凝聚力。

积极的企业文化:培养一种开放、支持创新和学习的企业文化。

  1. 激励机制
    物质激励:竞争性的薪酬、奖金、福利等。

非物质激励:如额外的假期、个人发展机会、荣誉称号等。

  1. 挑战与成长
    提供挑战:给员工分配具有挑战性的任务,促使他们超越现有能力水平。

支持失败:允许员工在安全的环境中尝试新的方法,即使失败,也能从中学习。

  1. 员工健康与福祉
    关注员工健康:提供健康计划、心理健康支持等,确保员工的身心健康。
  2. 透明度与沟通
    信息透明:保持公司政策、目标和变化的透明度。

开放沟通:建立开放的沟通渠道,鼓励员工表达意见和反馈。

  1. 多样性与包容
    推动多样性:创建一个多样化和包容的环境,尊重和利用多样性的优势。

提高员工积极性需要综合考虑各个方面,结合员工的个体需求和公司文化进行定制化调整。最重要的是,管理者需要真正关心员工的感受和需求,建立信任和尊重,这才是激励员工最持久的力量。

常见的 NAL 单元类型及其含义
未指定(Unspecified):
NAL Type 0:未指定的类型,在标准中未定义其具体用途,通常不应该使用。
片层(Slice Layer):
NAL Type 1:非 IDR 图像的片(Non-IDR Slice),包含图像的一部分,是非关键帧的一部分,需要参考前面的图像帧进行解码。
NAL Type 2:片数据分区 A(Slice Data Partition A),是片数据的一种分区,用于将片数据划分为不同部分以适应不同的传输特性或处理需求。
NAL Type 3:片数据分区 B(Slice Data Partition B),也是片数据的一种分区。
NAL Type 4:片数据分区 C(Slice Data Partition C),同样是片数据的一种分区。
NAL Type 5:IDR 图像的片(IDR Slice),是关键帧的一部分,属于可独立解码的片,可作为解码的起始点,不需要参考其他帧。
序列参数集(Sequence Parameter Set,SPS):
NAL Type 7:包含了关于整个视频序列的参数信息,如视频的分辨率、帧率、图像格式(如 YUV 格式)等。SPS 对于解码过程非常重要,因为解码器需要这些信息来设置初始解码参数。在 H.264 流中,通常会在视频开始时发送一个或多个 SPS。
图像参数集(Picture Parameter Set,PPS):
NAL Type 8:包含了关于单个图像的参数信息,例如图像的量化参数、熵编码模式等。PPS 通常在 SPS 之后发送,并且每个图像可能有自己的 PPS,解码器需要 PPS 来正确解码相应的图像。
补充增强信息(Supplemental Enhancement Information,SEI):
NAL Type 6:包含了一些辅助信息,这些信息可以用来提供额外的增强功能,例如时间码、版权信息、画面的显示信息等。SEI 是非必需的,但是可以为解码或显示过程提供有用的补充信息。
序列结束(End of Sequence):
NAL Type 10:表示一个序列的结束,用于通知解码器当前视频序列的结束,后续可能会有新的序列开始。
码流结束(End of Stream):
NAL Type 11:表示整个码流的结束,告诉解码器整个视频码流已经结束。

uint8_t nalType = nalHeader & 0x1F; // 获取 NAL 类型
std::cout << "NAL Type: " << static_cast<int>(nalType) << " ";
switch (nalType) {
            case 0: std::cout << "Unspecified"; break;
            case 1: std::cout << "Non-IDR Slice"; break;
            case 2: std::cout << "Slice Data Partition A"; break;
            case 3: std::cout << "Slice Data Partition B"; break;
            case 4: std::cout << "Slice Data Partition C"; break;
            case 5: std::cout << "IDR Slice"; break;
            case 6: std::cout << "Supplemental Enhancement Information (SEI)"; break;
            case 7: std::cout << "Sequence Parameter Set (SPS)"; break;
            case 8: std::cout << "Picture Parameter Set (PPS)"; break;
            case 9: std::cout << "Access Unit Delimiter"; break;
            case 10: std::cout << "End of Sequence"; break;
            case 11: std::cout << "End of Stream"; break;
            default: std::cout << "Other"; break;
        }