自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Osenberg WS

学不会啊学不会

  • 博客(77)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 linux 配置默认库链接路径的坑记录

之后发现使用 /etc/ld.so.conf 的方法还有另一个好处,就是 /etc/profile 添加环境变量之后还需要 source 一下,会导致当前 shell 的环境发生变化,要么就得重启,非常不方便,而 /etc/ld.so.conf 只需要执行一下 sudo ldconfig 就可以了。今天编译完一个程序之后,使用 sudo 来执行程序,一直报无法找到某一个库,但是使用普通用户的方式执行,没问题。使用 ldd 查看了一下,发现使用 sudo 执行程序,确实链接不到依赖库。

2023-06-15 15:20:02 324

原创 计算机图形学(三) -- 3D 变换

其中,α,β,γα,β,γ分别代表绕 X Y Z 三个轴旋转的角度,叫做欧拉角pitch 是围绕 X 轴旋转,也叫做俯仰角yaw 是围绕 Y 轴旋转,也叫偏航角roll 是围绕 Z 轴旋转,也叫翻滚角思考怎么拍一张照片?找到一个合适的地方并且排列好拍照的人 (模型变换 Model Transformation)找到一个合适的拍照角度放置相机 (视图变换 View Transformation)

2022-11-27 15:41:47 1705

原创 Ubuntu/Deepin 源码安装 gcc/g++ 并多版本切换

https://github.com/gcc-mirror/gcc.git 从这个 github 中下载 zip 压缩包,记得选择 release 版本。注意,编译需要 g++,如果没有安装可以使用 sudo apt install g++ 先按照一个版本。–prefix 是指定安装在哪个目录,如果需要多个 gcc 版本切换,这个需要是一个独立的目录。需要将命令里面对应的地方替换为自己的目录,之后使用命令。解压之后,在解压出来的目录执行。

2022-11-24 13:50:53 2123

原创 计算机图形学(二) -- 变换

变换基础学习

2022-11-13 18:01:37 1333

原创 计算机图形学(一) 向量/矩阵

计算机图形学基础之向量

2022-11-10 08:07:55 1023

原创 Ubuntu20.04 创建 matlab 2020a 快捷图标

matlab

2022-08-26 20:16:47 450

原创 FreeBSD 13.1 配置 wayland + wayfire

F2 进入 bios,高级 --> 北桥设置 --> 显示设置参考: https://www.zhihu.com/question/402857188安装 drm配置 /etc/rc.conf将自己的用户 Video 组中增强视频编解码功能安装配置 wayland + wayfire编辑 /etc/profile 在最后添加 XDG_RUNTIME_DIR 定义参考https://forums.freebsd.org/threads/sway-and-wayland.83682/#po

2022-06-12 21:24:29 5337

原创 Plan 9 源码探究

文章目录源码概览重要的目录重要的头文件pc 目录port 目录源码概览重要的目录/sys/src/9/pc – PC 平台的内核代码/sys/src/9/port – 可移植部分的代码/sys/src/boot/pc – PC 平台的内核加载器重要的头文件/386/include/u.h公共的数据类型的定义和 386 的符号定义,它还包括几个宏来处理函数调用时的变量参数列表。放在 386 目录下的原因是只支持 386。/386/include/ureg.h包含 3

2022-03-07 16:02:55 394

原创 初识 Plan9

文章目录动机动机到 20 世纪 80 年代中期,计算机的趋势从大型的中央分时计算机向更小的, 私人化的互联的机器方向发展, 典型的就是 Unix 工作站.

2022-03-03 10:15:46 980

原创 MacOS 相关记录

查看 SDK 名称交叉编译用xcodebuild -showsdksDriverKit SDKs: DriverKit 21.2 -sdk driverkit21.2iOS SDKs: iOS 15.2 -sdk iphoneos15.2iOS Simulator SDKs: Simulator - iOS 15.2 -sdk iphone

2022-02-15 15:20:44 1259

原创 实现了一个跨平台的 YUV 文件图片查看器

最近有一个查看 YUV 文件的需求,雷霄骅大佬有一个现成的,但是不太符合我的要求(仅支持 Windows, 而我主要是在 Linux 下 ),所以我就自己使用做了一个跨平台的 YUV 查看器。项目地址: https://github.com/osenberg-x/YUVViewer...

2022-02-12 16:49:12 3828

原创 MYSQL 数据库使用总结

文章目录数据库密码相关使用本机 IP 远程登录配置mysql 版本为 8.0 以上数据库密码相关使用本机 IP 远程登录配置修改配置文件(默认 mysql 服务只监听 127.0.0.1)sudo vim mysql.conf.d/mysqld.cnf注释掉如下两行bind-address = 127.0.0.1mysqlx-bind-address = 127.0.0.1在 mysql 数据库中给予登录帐号远程登录权限, 默认无登录数据库mysql

2022-02-08 10:43:37 719

原创 GB28181-2016 协议(一)

文章目录SIP 协议注册注册信令消息示范基于数字证书的双向认证注册基于数字证书的双向认证注册的消息示范注销注销协议消息示范实时音视频点播实时音视频点播命令流程客户端主动发起消息示范第三方呼叫控制第三方呼叫实时点播消息示范媒体流保活机制SIP 协议注册注册信令消息示范基于数字证书的双向认证注册基于数字证书的双向认证注册的消息示范其中 J.1.2 和 J.1.4 或者 J.2.2 和 J.2.4 是 SIP 服务器所要实现的。注销注销协议消息示范SIP 服务器负责实现 J.

2021-08-02 18:53:31 1760

原创 Qt D、Q 指针学习和二进制兼容

文章目录Qt 中 D、Q 指针的实现Qt 中 D、Q 指针的实现Qt 中 D、Q 指针机制的实现是通过宏定义,实现代码在 qtbase --> src --> corelib --> qglobal.h 和 qobject.h、qobject.cpp 中在 QObject 中的实现为:Q_DECLARE_PRIVATE 是一个宏,其定义是在 qglobal.h 中:d_ptr 的定义在 QObject 类中:另外,还有一个 Q_DECLARE_PUBLIC,其定义为:q

2021-04-20 21:54:38 348

原创 FreeBSD 13.0 发布!!!

FreeBSD 13.0 发布!!!主要更新The clang, lld, and lldb utilities and compiler-rt, llvm, libunwind, and libc++ libraries have been updated to version 11.0.1.clang, lld, and lldb 工具集和 compiler-rt, llvm, libunwind, and libc++ libraries 升级到 11.0.1 版本Removed th

2021-04-14 13:48:01 608

原创 Windows10 和 ZFS 文件系统 FreeBSD UEFI 引导 双系统安装

文章目录安装 Windows 10 系统制作 U 盘启动盘安装 FreeBSD 系统安装 Windows 10 系统注意:记得使用 UEFI 引导方式。另外,Windows 10 的 EFI 分区大小最好大一点,我的大小为 512M。否则后面制作双引导的时候有可能 EFI 空间太小,放不下 Freebsd 的引导。Windows10 的具体安装找其他资料吧,一找一大把。制作 U 盘启动盘我制作 U 盘启动盘的系统是 Windows 所以就用 Rufus 工具来制作下载链接: Rufus安

2021-02-28 18:37:51 5566 5

原创 Qt 点滴记录

文章目录Qt 获取屏幕分辨率Qt 获取所有的屏幕Qt 设置应用界面在指定屏幕显示Qt 获取屏幕分辨率Qt 获取所有的屏幕Qt 设置应用界面在指定屏幕显示// 获取主屏幕信息QScreen *screen = QGuiApplication::primaryScreen();QSize screenSize = screen->availableSize()qDebug() << "width = " << screenSize.width()

2021-02-24 11:46:03 372

原创 i3wm 安装配置

fehpolybar

2021-02-22 22:37:15 574 1

原创 音视频开发学习(五) -- 音频基础

文章目录音频处理流程常用术语声音频率声音振幅PCM声音采集与存储采样频率量化位数声道数音频处理流程采集-前处理(回声消除、噪声抑制、音量调节、混响处理等)-编码-传输-解码-后处理-播放常用术语声音频率声音 1 秒内周期性变化的次数。人耳的听觉范围在20Hz-20kHz。 低频的声音沉闷厚重,高频的声音尖锐刺耳。 高于 20kHz的声音为超声波。(频率越高,音调越高)声音振幅振幅表示的是声音的响度,也就是声音的大小。有的时候,我们用分贝(dB)形容声音大小。值得注意的是,dB是一个比值,是

2021-02-17 20:28:18 990

原创 Qt 的事件系统

在 Qt 里面,事件就是继承自抽象 QEvent 类的一个对象,它表示一个应用内部或者一个应用需要知道的外部活动的结果。任何一个继承自 QObject 的子类实例都可以接收和处理事件。一个事件是怎么被发送的一个事件发生,Qt 会创建一个能够合适的描述这个事件的对象,这个对象继承自 QEvent. 然后通过调用 event() 函数将它发送给一个特定的 QObject 对象 或者 QObject 的子类.event() 函数不处理这个事件,而是基于这个事件的类型进行传送,它调用这个特定类型事件的管理者,

2021-02-05 19:13:05 166

原创 CMake 构建的 Qt 程序拷贝必要的依赖文件到执行目录

使用 Qt Creator 运行 Qt 程序时特别是在 Windows 平台下,经常会遇到因为在执行目录缺少必要的依赖文件,而出现莫名其妙的问题。比如说无法调试,报: The CDB process terminated.直接运行时则是直接推出,没有任何报错信息,如果知道是这个原因还好,如果不知道或者忘记了,就会很恶心,浪费很多精力,本人深受其害。于是就想到了如题的办法,来避免这个问题.查找 Qt 程序依赖的文件Windows 平台下,可使用 Qt 官方提供的 windeployqt.exe 工

2021-02-05 17:15:54 1782

原创 Qt 的几个常用部件 -- QFrame

文章目录基本信息详细描述基本信息头文件:#include <QFrame>CMake 引用方式:find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)qmake 引用方式: QT += widgetsQFrame 继承自 QWidget,被 QAbstractScrollArea, QLabel, QLCDNumber, QSpli

2021-02-01 22:58:40 1812

原创 音视频开发学习(四) -- RGB YUV 格式

文章目录RGB 常见格式RGB555RGB565RGB24RGB32RGB 常见格式RGB555用16个bit表示一个像素,其中最高位不用,R(红色), G(绿色), B(蓝色)都用5个bit来表示,从高位到低位排列如下:高字节 低字节X R R R R R G G G G G B B B B B (X表示不用,可以忽略)可以组合使用屏蔽字和移位操作来得到RGB各分量的值:#define RGB555_MASK_RED 0x7C00 // 11111 00000 00000#

2021-01-31 21:08:25 324

原创 音视频开发学习(三) -- RGB YUV HSV 颜色空间

相关技术术语颜色空间(色域)对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。颜色空间按照基本机构可以分为两大类:基色颜色空间和色、亮分离颜色空间。前者典型的是RGB,后者包括YUV和HSV等等。RGB人类眼睛的色觉,具有特殊的特性,早在上世纪初,Young(1809)和Helmholtz(1824)就提出了视觉的三原色学说,即:视网膜存在三种视锥细胞,分别含有对红、绿、蓝三种光线敏感的视色素,当一定波长的光线作用

2021-01-31 16:30:33 2074 1

原创 一张图总结计算机网络数据流程

本文以网络的五层参考模型为基准,来总结数据是怎么在网络中传输的,以及设计的技术点,以此来形成一个对计算机网络的总体框架。五层参考模型分别是: 应用层、传输层、网络层、数据链路层、物理层本图只是作为一个概括性的总结,形成一个脉络。详细内容后面学习....

2021-01-23 18:44:10 988

原创 Qt 设置窗口背景

环境: Qt6.0参考: http://blog.sina.com.cn/s/blog_a6fb6cc90101f9ec.html#cmt_2376162Qt 设置窗口背景有三种方式:使用 QPalette 设置背景实现 paintEvent, 使用 QPainter 绘制背景使用 QSS 设置。其中,使用 QSS 设置窗口背景容易出现问题,原因是口使用QSS设置背景之后,若子部件不使用同样的方式来设置,默认则会继承父窗口的样式。一开始我也是用 QSS 设置的,这也是遇到问题之后,查找资料,

2021-01-22 23:25:08 2575

原创 音视频开发学习(二) -- 视频图片相关基础

文章目录什么是视频怎么获取的图像什么是视频简单来说,视频就是一帧一帧连续的图片。所以我们做视频处理,本质上来说就是处理的一帧帧图片。所以本博文的名字命名为: 视频 图片 相关基础. 下面就是照本宣科,说一些基本的概念,便于后面研究处理用。怎么获取的图像既然,视频的本质就是一帧帧连续的图像,那么我们怎么获取到的图像呢?先说两个概念:连续图像(模拟图像): 二维坐标系中具有连续变化的,即图像画面的像点是无限稠密的,同时其灰度值(即图像从暗到亮的变化值)也是无限稠密的图像,称为连续图像。离散图像(数

2021-01-22 13:04:41 582

原创 自定义控件中,使用QSS 精确设置 QPushButon 控件对象的属性不生效问题的记录

QSS 中有类似这样的用法:QPushButton#minBtn {border-radius:2px;border-image:url(:/images/btn_mini_normal.png);}#minBtn 是精确指定 objectName 为 minBtn 的按钮控件的属性,对其他按钮控件不生效。但是需要注意,minBtn 并不是你在类中定义的 QPushButton 对象的名字,而是 QSS 使用 objectName() 接口指定的名字. 举例而言:class XWidget

2021-01-22 10:53:44 1217 2

原创 音视频开发学习(一) -- 基本路线

音视频基本处理流程和技术脉络#mermaid-svg-USQ4w5XnEIBrXx7S .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-USQ4w5XnEIBrXx7S .label text{fill:#333}#mermaid-svg-USQ4w5XnEIBrXx7S .node rect,#mermaid

2021-01-20 13:55:03 454

原创 macos 配置 qtcreator 代码格式化 clang-format

文章目录启用 QtCreator Beautifier 插件在 macos 安装 clang-format配置 Beautifier启用 QtCreator Beautifier 插件选择 Help --> 在搜索里面查找 plugin 选择 About plugin, 在 C++ 选项中,选中 Beautifier,之后重启 QtCreator在 macos 安装 clang-format终端执行:brew install clang-format成功之后,执行which clan

2021-01-16 09:30:13 659

原创 安装 FreeBSD UFS 文件系统 与 Windows10 双系统 实体机 GTX1060 并配置桌面 i3wm 和 KDE

文章目录制作 U 盘启动盘安装系统配置系统配置国内镜像源配置 sudo安装显卡驱动配置 X Window安装桌面解决 FreeBSD 上的中文乱码问题制作 U 盘启动盘我制作 U 盘启动盘的系统是 Windows 所以就用 Rufus 工具来制作下载链接: Rufus安装系统因为要装 Windows10 和 FreeBSD 双系统,所以需要提前给 FreeBSD 预留出一个分区,直接用 Windows 自带的磁盘管理就可以做到.此处只专门说一下分区方法有几个注意事项:(此处为了省事就用

2020-12-15 21:41:20 1643

原创 FreeBSD 12.2 VMware Workstation 安装 i3 KDE 桌面

pkg updatepkg upgradepkg install xorg/etc/fstabproc /proc /procfs rw 0 0pkg install plasma5-plasma kde-baseappspkg install sddmsysrc moused enable=yessysrc dbus enable=yessysrc hald enable=yessysrc sddm enable=yespkg install xf86-video-

2020-12-13 00:00:09 1370

原创 FreeBSD 安装配置

安装之后没有网络修改 vi /etc/resolv.conf 添加nameserver 8.8.8.8保存退出, 重新 ping无法 su 到 root 用户alt +

2020-12-11 17:41:18 1874

原创 右值引用的一些测试

编译: g++ --std=c++11 -g -fno-elide-constructors -O0 test.cc -o test-fno-elide-constructors 用来关闭编译器优化#include <iostream>class A { public: A(const int &value) { _value = value; std::cout << "Contructor value: " << _val.

2020-12-10 22:11:43 458 1

原创 CMakeLists.txt 引用 mysql connector c++ libmysqlcppconn8 库

创建一个 Mysqlconncpp8.cmake , 内容如下:find_package(OpenSSL)if(OPENSSL_FOUND) message(STATUS "OPENSSL_VERSION = ${OPENSSL_VERSION}") message(STATUS "OPENSSL_SSL_LIBRARY = ${OPENSSL_SSL_LIBRARY}") message(STATUS "OPENSSL_CRYPTO_LIBRARY = ${OPENSSL_CRYPTO_L

2020-07-02 15:09:01 1640 3

原创 mysql connector c++ libmysqlcppconn8 使用的坑记录

在 CMakeList.txt 中引用 libmysqlcppconn8 之后编译报错 :CMakeFiles/omas.dir/src/db/db_operator.cpp.o: In function `mysqlx::abi2::r0::string::traits<char>::from_str(mysqlx::abi2::r0::string&, std::__cxx11::basic_string<char, std::char_traits<char>,

2020-07-02 15:01:23 2321

原创 centos8.0 配置 mysql connector c++ 开发环境

文章目录下载文件部署配置添加环境变量Note: 本文使用的是 mysql connector c++ 官方预编译好的库,没有使用源码编译.下载文件进入 https://dev.mysql.com/downloads/connector/cpp/ 选择 Linux-Generic 下载:mysql-connector-c+±8.0.20-linux-glibc2.12-x86-64bit.tar.gz release 库mysql-connector-c+±8.0.20-linux-gli

2020-07-02 09:32:58 1361 1

原创 Linux 命令记录

库文件相关查看程序链接了哪些库文件,和库文件信息ldd + 可执行文件名查看某个库文件是否能够链接到(安装)ldconfig -p | grep mysql

2020-07-01 10:47:15 205

原创 cmake 使用和 CMakeLists.txt 编写笔记

# 指定要求的最低 CMake 版本cmake_minimum_required(VERSION 3.12)# 指定工程名project(demo)# 引用子 cmake 文件,一般用于定义自己的 cmake 命令和查找依赖库include(${CMAKE_SOURCE_DIR}/cmake/Utils.cmake)# find_package 用于查找依赖的第三方库# 这个第三方库需要在所在平台系统变量中被指定# 怎么指定请自行查找资料# 这里以 opencv 为例find_pac

2020-06-28 16:23:43 1320

原创 Centos8 无 GUI 版本安装 Nvidia 驱动 cuda cudnn

文章目录安装依赖的软件包禁用 nouveau下载安装 Nvidia 驱动安装验证参考链接安装依赖的软件包sudo dnf groupinstall "Development Tools"sudo dnf install libglvnd-devel elfutils-libelf-develsudo yum install kernel-devel sudo yum -y install epel-releasesudo yum -y install dkms sudo dnf

2020-06-23 15:59:36 1140

ThinkInC++.rar

Thinking in C++, Volume 1, 2nd Edition Completed January 13, 2000 Bruce Eckel, President, MindView, Inc. Planet PDF brings you the Portable Document Format (PDF) version of Thinking in C++ Volume 1 (2nd Edition). Planet PDF is the premier PDF- related site on the web. There is news, software, white papers, interviews, product reviews, Web links, code samples, a forum, and regular articles by many of the most prominent and respected PDF experts in the world. Visit our sites for more detail: / / / / Click here to buy the paper version Winner, Software Development Magazine’s 1996 Jolt Award for Best Book of the Year “This book is a tremendous achievement. You owe it to yourself to have a copy on your shelf. The chapter on iostreams is the most comprehensive and understandable treatment of that subject I’ve seen to date.” Al Stevens Contributing Editor, Doctor Dobbs Journal “Eckel’s book is the only one to so clearly explain how to rethink program construction for object orientation. That the book is also an excellent tutorial on the ins and outs of C++ is an added bonus.” Andrew Binstock Editor, Unix Review “Bruce continues to amaze me with his insight into C++, and Thinking in C++ is his best collection of ideas yet. If you want clear answers to difficult questions about C++, buy this outstanding book.” Gary Entsminger Author, The Tao of Objects “Thinking in C++ patiently and methodically explores the issues of when and how to use inlines, referen

2020-03-18

Ubuntu14.04交叉编译编译 ffmpeg3.4.1 脚本

Ubuntu14.04交叉编译编译 ffmpeg3.4.1 脚本 属于 armv7-a 架构

2018-01-12

c++ primer 第五版 英文版 完整版

c++ primer 第五版 英文版 完整版

2017-02-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除