Windows安装GCC/G++编译器教程
1 Windows安装GCC/G++编译器教程 1.1 下载MinGW MinGW(Minimalist GNU for Windows)是在Windows系统上可支持GUN Compiler Collection(GCC)编译器的管理工具。 下载地址: Sourceforge:https://so…
- Windows编程
- 2022-06-15
Python – 解决opencv-python使用cv2.imwrite()保存中文路径图片失败的问题
1 解决opencv-python使用cv2.imwrite()保存中文路径图片失败的问题 一般情况下,使用opencv-python库保存数据为图片一般会使用以下代码, import cv2 import numpy as np def read_image(img_path): img = cv…
- OpenCV
- 2022-06-14
Python – 解决opencv-python使用cv2.imread()读取中文路径图片失败的问题
1 解决opencv-python使用cv2.imread()读取中文路径图片失败的问题 在深度学习的项目中,经常会处理图片数据集,经常会面临读取中文路径下的图片文件的问题,一般情况下我们会使用以下代码读取图片数据, import cv2 def read_image(img_path): img …
- OpenCV
- 2022-06-14
Modern OpenGL – 与着色器Shader相关的API函数总结以及如何创建、编译与使用Shader
1 OpenGL着色器Shader的创建、编译与使用 1.1 使用Shader的大致过程 在OpenGL中,如果在程序中需要使用Shader为基础图元进行着色,首先需要创建一个Shader对象,然后创建一个着色器程序关联当前Shader,然后再进行使用。 对于每一个Shader对象,都需要: 创建一…
- OpenGL可编程渲染管线
- 2022-06-08
C++ – 随机洗牌算法,std::random_shuffle和std::shuffle
1 std::random_shuffle和std::shuffle std::random_shuffle和std::shuffle处于头文件#include<algorithm>中。 std::random_shuffle和std::shuffle都用于对给定容器范围内的元素重新进行…
- C++
- 2022-06-06
OpenCV/FFmpeg – 使用FFmpeg编码OpenCV中的BGR视频流为H264视频流以及解码H264视频流为OpenCV中的BGR视频流
1 将Opencv中的BGR视频流使用FFmpge编码为H264视频流 本文主要介绍如何将OpenCV从视频文件或者摄像头读取的BGR视频流通过FFmpeg编码为H264视频流,并将编码的H264视频流再解码为OpenCV的BGR视频流。 本文将上述需求封装为两个类,一个为OpenCVH264Enc…
- FFmpeg
- 2022-06-02
C++ – 在两个互有依赖关系的类中使用std::shared_ptr和std::weak_ptr进行内存管理
1 C++关于使用std::shared_ptr和std::weak_ptr在两个互有依赖关系的类中的设计 先说一下需求场景,比如我现在需要写一个图形学渲染器,一个渲染器中可能包含多个渲染场景Scene类,每个Scene类又包含了多个需要渲染的模型Actor类,现在我在每个Scene里面通过维护一个…
- C++
- 2022-05-31
C++ – 使用模板和智能指针构建一个双向链表工具类
1 C++使用模板和智能指针构建一个双向链表工具类 本文使用模板和智能指针构建一个双向链表工具模板类DoubleLinkedList<T>,在链表的节点Node内部使用T用于接受模板参数,当前节点的上一个节点使用std::shared_ptr,为防止节点与节点之间的std::shared…
- C++
- 2022-05-31
C++ – 使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳
1 使用std::chrono获取当前秒级/毫秒级/微秒级/纳秒级时间戳 1.1 当前时间戳获取方法 先使用std::chrono获取当前系统时间,然后将当前系统时间转换为纪元时间std::time_t类型,之后使用std::localtime对std::time_t类型转换为本地时间结构体std:…
- C++
- 2022-05-27
C++ – 动态链接库dll为什么要使用unsigned char作为byte的内部格式
1 dll为什么要使用unsigned char*作为byte字节数组的内部格式 byte指的是字节,一个字节是8位2进制。 char型占内存也是一个字节,实质上是一个字节长度的有符号整型数,最高位是符号位,另7位是数据位,表示数值-128到127。 而unsigned char没有符号位,因此能表…
- C++
- 2022-05-25
C++ – 我的代码风格/代码规范备忘
本文的代码风格主要是我本人在编写代码时所遵从的代码风格,以Google C++ 代码风格为基础,对一部分进行了修改。 Google C++代码风格可参考:https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-stylegui…
- C++
- 2022-05-23
FFmpeg – 常用的视频像素格式以及使用SwsContext和sws_scale进行视频像素格式转换和视频缩放
1 视频像素格式 YUV420P YUV420P三个Plane,按照YYYY.....UUUU.....VVVV.....分别存储于各个Plane通道 RGB24 RGB24一个Plane,按照RGBRGBRGB......的顺序存储在一个Plane中 BGR24 BGR24一个Plane,按照BG…
- FFmpeg
- 2022-05-21