C++ – 速通nlohmann json,nlohmann json使用教程
1 nlohmann json开发环境配置 nlohmann json是一个C++、开源的,只有单个头文件的、高效快速的json操作库。 优点: 现代C++风格,语法直观,使用简单 没有复杂的编译、依赖关系,直接包含头文件即可 缺点: 并不是最快的json库 内存占用稍大 Github仓库:http…
- C++
- 2023-07-20
C++ – 基于no-boost Asio实现一个异步TCP服务器
1 什么是no-boost Asio no-boost Asio是指不依赖于boost的Asio版本,在使用时不需要依赖boost环境,只需要包含Asio的相关头文件即可。 关于no-boost Asio和boost Asio的区别可以查看我的另外一篇文章:C++ – Asio和Boost.Asio…
- C++
- 2023-07-19
C++ – Yolo的letterbox图片预处理方法,缩放图片不失真
1 letter box预处理方法 在yolo家族的一系列目标检测模型或者其他与视觉相关的深度学习模型的部署过程中,一般来说,如果导出的是静态shape的模型,那么我们先要将输入的图片resize到给定的图片大小,如果使用常规的resize方法,比如将一张1920x1080的图片resize到640…
- C++
- 2023-07-17
OpenCV – 图片增加透明通道,图片合并透明通道
1 为图像增加透明通道 一般人像抠图相关的AI模型会输出一个Mask图,这个Mask图就是我们需要的可以将人物抠出来的Alpha通道信息,我们需要将这个Mask图附加到原始图片上,从BGR图片转成BGRA图片或者从RGB图片转成RGBA图片。 如果使用OpenCV进行图像处理,在为图像增加透明通道时…
- OpenCV
- 2023-07-12
CMake – Windows系统设置CMake网络代理
Windows系统设置CMake代理 今天在编译OpenCV的时候,在下载opencv_ffmpeg.dll的时候就报错了,报错信息如下 CMake Warning at cmake/OpenCVDownload.cmake:202 (message): FFMPEG: Download faile…
- C++
- 2023-07-05
C++ – 主线程如何捕获子线程抛出的异常
1 C++抛出异常与捕获异常 在C++中我们经常使用以下代码抛出异常和捕获异常 #include <iostream> #include <thread> #include <exception> #include <stdexcept> int ma…
- C++
- 2023-06-30
OpenCV – OpenCV打开摄像头显示摄像头帧率
1 OpenCV打开摄像头显示摄像头帧率 通过OpenCV打开摄像头,并获取摄像头的视频帧进行显示或者继续进一步后处理,我们都希望显示当前的帧率,特别是对于实时性要求较高的应用,比如说实时目标检测,下面给出了一段显示OpenCV摄像头帧率的示例代码,可供参考。 #include <iostre…
- C++
- 2023-06-29
C++ – Web服务器框架Crow开发环境配置教程
1 搭建Crow 开发环境 Crow是一个基于Asio或者Boost.Asio的创建Http服务或者Websocket服务的C++框架。 1.1 官网教程 Crow的官方文档中比较简单的介绍了如何在Linux、MacOS、Windows系统上编译、安装Crow库。 从官方文档上看,编译和使用Crow…
- C++
- 2023-06-27
C++ – Asio和Boost.Asio的区别
在编译C++一些网络库时,比如Websocket++、Crow等C++ web框架都是基于Asio进行开发的,并且都支持两种Asio。如果定义了ASIO_STANDALONE则会使用Asio,如果未定义则会使用Boost.Asio,那么这两者有什么区别呢? Asio官网:http://think-a…
- C++
- 2023-06-26
C++ – 想用C++写服务器?C/C++ web服务第三方库、框架整理
用C/C++写web服务器? 如果你想用C/C++写一个轻量或者高性能的web服务器,你可以参考下文中列出的C/C++ web库。 从https://www.reddit.com/r/cpp/comments/cjj9t5/what_c_web_server_library_one_should_u…
- C++
- 2023-06-26
C++ – 使用Spout2将视频流发送到OBS
在之前的博文中介绍了如何配置Spout2的开发环境,在本文中我将简单介绍一下如何使用Spout2发送视频流到OBS中进行推流。 1 使用Spout2 SDK将视频流发送到OBS 其实Spout2已经将API封装的非常简单易用了,通过参考官方的示例,我自己写了以下的代码将视频流推流到本机OBS中,示例…
- C++
- 2023-06-25
Windows编译Spout2以及配置Spout2开发环境
Spout2是一个用于Windows系统的视频帧共享系统,允许应用程序以类似Mac的Syphon的方式共享OpenGL纹理,Spout2支持Direct9、Direct11、Direct12和OpenGL的纹理数据共享。 我们可以基于Spout2进行开发,将我们想要的一些视频帧结合OBS的Spout…
- C++
- 2023-06-20