- 博客(80)
- 资源 (6)
- 收藏
- 关注
翻译 《Fundamentals of Computer Grahpics 4ed》虎书第四版翻译——第三章光栅图像
文章目录3.1 光栅设备3.1.1 显示器3.1.2 硬拷贝设备3.1.3 输入设备3.2 图像,像素和形状3.2.1 像素值3.2.2 显示器强度和伽马3.3 RGB颜色3.4 Alpha合成3.4.1 图像存储大多数的图形图像在光栅显示器 上展示给用户。光栅显示器将图像作为矩形像素数组显示。一个通俗的例子是:一台平面电脑显示器或电视,它们具有小发光像素的矩形阵列,可以分别设置为不同的颜色以创建任何所需的图像。通过混合不同强度的红,绿和蓝光可获得不同的颜色。 大多数打印机(例如激光打印机和喷墨打印机)也
2020-09-23 15:03:00
2169
3
翻译 《Fundamentals of Computer Grahpics 4ed》虎书第四版翻译——第一章 介绍
文章目录1.1 图形学领域1.2 主要应用1.3 图形学API1.4 图形管线1.5 数值问题1.6 效率1.7 设计和编写图形程序1.7.1 类设计1.7.2 Float还是Double1.7.3 调试图形程序计算机图形学描述了使用计算机创建和处理图像的任何方式。本书从算法层面和数学层面介绍了创捷各种图像的所需知识,如:逼真的视觉效果,内容丰富的技术插图或精美的计算机动画。图像可以是二维或者三维的;图片可以是完全合成的,也可以是通过处理照片生成的。这本书是关于图形学基础算法和数学知识的,尤其侧重于生成三
2020-09-23 14:52:02
6391
原创 流媒体之RTMP——RTMP发送AAC播放无声音记录
RTMP发送AAC时候,VLC播放音频正常,其他部分客户端播放无音频。重点解决方案:AAC发送时候必须去掉ADTS头,一般7个字节;必须发送AAC Sequence Header,即AAC解码信息,一般2字节(前面需加上FLV Audio Tag Header 2字节);视频和音频的时间使用共同时间线,一般以毫秒为单位。...
2019-10-23 16:26:54
2179
原创 流媒体之RTMP——RTMP协议分析
文章目录一:Message1.1 Protocol Control Messages1.1.1 Set Chunk Size(1)1.1.2 Abort Message(2)1.1.3 Acknowledgement(3)1.1.4 Window Acknowledgement Size(5)1.1.5 Set Peer Bandwidth(6)1.2 Command Messages1.2.1 ...
2019-10-11 17:57:20
857
原创 流媒体之RTMP——librtmp拉流测试
Test LibRTMP Puller文章目录Test LibRTMP Puller一:LibRTMP拉流1.1 拉流保存成FLV1.2 拉流解析出H264和AAC作者:一步(Reser)日期:2019.10.11一:LibRTMP拉流1.1 拉流保存成FLV常见的使用方式是直接拉流成 FLV 文件:/*** @brief:* Test librtmp of pulling s...
2019-10-11 10:08:38
3224
原创 流媒体之RTMP——librtmp推流测试
文章目录一:LibRTMP推流测试二:时间控制三:FFMPEG从MP4文件解析出H264四:LibRTMP的使用4.1 发送Metadata4.2 发送视频4.2.1 发送视频信息包4.2.2 发送视频数据包4.3 发送音频4.3.1 发送音频信息包4.3.2 发送音频数据包作者:一步(Reser)日期:2019.10.9一:LibRTMP推流测试测试使用 FFMPEG 从MP4文件中解...
2019-10-09 16:45:05
4318
原创 流媒体之RTMP——librtmp2.4编译
文章目录编译作者:一步(Reser)日期:2019.10.9编译版本依赖:VS版本:VS2015和VS2017;librtmp版本:librtmp2.4;编译步骤:新建VS静态库项目;将librtmp的源码加入工程;增预处理加宏定义来忽略一些废弃函数导致的错误报告:_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNI...
2019-10-09 16:30:36
844
1
原创 《Effective C++ 3th》——后记
像《Effective C++ 3th》这类书,在C++进阶阶段必不可少。总结而言,书中内容主要分为以下几块:减少出错的良好编程习惯/原则;降低资源利用的有效策略;深入理解OOP的精巧设计。没错,这些也是想成为C++高手反反复复强调的。对《Effective C++ 3th》有些想说的:按条列出的原则并没有那么容易遵守,因为不会有哪个读者会死记硬背每一条原则。因此,最理想的消化方...
2019-07-25 15:35:39
242
原创 《Effective C++ 3th》——定制new和delete
文章目录 了解new-handler的行为了解new和delete的合理替换时机编写new和delete时需固守常规写了placement new也要写placement delete 占位篇。老生常谈无特别之处。...
2019-07-25 14:50:54
263
原创 《Effective C++ 3th》——模板与泛型编程
文章目录 了解隐式接口和编译期多态了解typename的双重意义学习处理模板化基类内的名称将与参数无关的代码抽离templates运用成员函数模板接受所有兼容类型需要类型转换时请为模板定义非成员函数请使用traits classes表现类型信息认识template元编程 本章内容在《C++ Templates》有更加深入的分析讲解,暂时略过...
2019-07-25 14:48:45
267
原创 《Effective C++ 3th》——继承与面向对象设计
文章目录Is A 确定你的public继承塑模出is-a关系避免遮掩继承而来的名称区分接口继承和实现继承考虑virtual函数以外的其他选择绝不重新定义继承而来的non-virtual函数绝不重新定义继承而来的缺省参数值通过复合塑模出has-a或“根据某物实现出”明智而审慎地使用private继承明智而审慎地使用多重继承 Is Apublic继承意味着...
2019-07-25 14:46:11
325
原创 《Effective C++ 3th》——实现
文章目录写精简的程序写安全的程序写低耦合的程序 尽可能延后变量定义式的出现时间尽量少做转型动作避免返回handles指向对象内部成分为“异常安全”而努力是值得的透彻了解inlining的里里外外将文件间的编译依存关系降至最低 本章主要考虑在实现类功能编码时要注意的点,包括实现优化、异常安全处理。写精简的程序精简程序即缩衣节食、物尽其用,减少资...
2019-07-25 14:40:57
229
原创 《Effective C++ 3th》——设计与声明
文章目录友好的接口设计member与non-member函数设计不抛异常的swap函数设计 让接口容易被正确使用,不易被误用设计class犹如设计type宁以pass-by-reference-to-const替换pass-by-value必须返回对象时,别妄想返回其reference将成员变量声明为private宁以non-member、non-friend替换membe...
2019-07-25 14:36:50
304
原创 《Effective C++ 3th》——资源管理
文章目录资源如何释放?注意资源的唯一性由使用智能指针引出的问题 以对象管理资源在资源管理类中小心coping行为在资源管理类中提供对原始资源的访问成对使用new和delete时要采取相同形式以独立语句将newed对象置入智能指针 资源如何释放?考虑如下资源释放方式:// 常规:创建-使用-释放Investment *pInv = create...
2019-07-25 14:32:03
206
原创 《Effective C++ 3th》——构造/析构/赋值运算
文章目录C++自动编写函数及明确驳回构造/析构/赋值运算 了解C++默默编写并调用哪些函数若不想使用编译器自动生成的函数,应该明确拒绝为多态基类声明virtual析构函数别让异常逃离析构函数绝不在构造和析构过程中调用virtual令operator=返回一个reference to *this在operator=中处理“自我赋值”复制对象时勿忘其每一个成分 ...
2019-07-25 14:23:46
240
原创 《Effective C++ 3th》——让自己习惯C++
文章目录视C++为一个语言联邦尽量以const,enum,inline替换#define 视c++为一个语言联邦尽量以const,enum,inline替换#define尽可能使用const确定对象被使用前已先被初始化 视C++为一个语言联邦C++: C with Classes。c++可以看成是C语言与OOP的结合体,并引入STL新特性:C: C语言部分...
2019-07-25 14:08:02
336
原创 流媒体之DirectShow——视频采集
文章目录一:介绍二:设备枚举三:Video Graph3.1 视频预览3.2 录制视频到AVI文件3.3 录制视频到Windows Media File(ASF)3.4 录制视频到其他文件格式3.5 录制切换3.6 同时预览和录制四:Capture Graph控制五:Video Capture Tasks5.1 配置采集设备5.1.1 显示VFW属性对话框5.1.2 配置视频属性ProcAmp S...
2019-06-28 18:30:10
2889
2
原创 流媒体之DirectShow——音频采集
文章目录一:介绍二:设备枚举三:Audio Capture Graph3.1 类型3.2 建立3.3 添加预览四:配置Audio Capture Filter属性 一:介绍音频采集通过Audio Capture Filter,它支持数字和模拟音频信号。一般Audio Capture Filter是个线性器件,Input表示输入源,例如麦克风等,具体行为还要看厂家手册。 ...
2019-06-28 18:14:45
1424
原创 流媒体之DirectShow——文件回放
文章目录一:流程二:实例 一:流程Playback使用Filter Graph建立,不借助Capture Graph Builder接口。程序流程如下:建立Filter Graph查询Media Control接口查询Media Event接口 -> 设置窗口事件// Source Filter通过AddSourceFilter添加文件源Filter//...
2019-06-28 18:10:23
438
原创 流媒体之DirectShow——基本任务
文章目录一:视频显示1.1 Renderer介绍1.2 Renderer选择1.3 Windowed Mode1.4 Windowless Mode二:处理消息三:设备枚举3.1 系统枚举3.2 Filter Mapper枚举四:Filter Graph内部枚举4.1 枚举Filters4.2 枚举Pin4.3 枚举Media Types五:Graph建立5.1 Filter通过CLSID加入Gr...
2019-06-28 18:02:32
1262
原创 流媒体之DirectShow——播放一个文件
文章目录一:播放一个文件 之前写的DShow相关传送门:Direct Show学习方法DirectShow简单采集程序——使用CaptureGraphBuilder由于DShow架构经典而复杂,强烈建议没事多看看微软的官方文档:DirectShow这几篇博客也是对微软文档学习的一个记录,主要为《Using DirectShow》部分内容。 一:播...
2019-06-28 17:45:24
510
原创 流媒体之色彩转换——RGB(X)与YUV之间转换
文章目录一:RGB32转RGB24 一:RGB32转RGB24RGB32与RGB24相比多个Alpha分量,因此在转化的时候可以旋转直接丢弃Alpha分量,也可以旋转将r、g和b分别乘以归一化的Alpha因子。例如RGBA转RGB:...
2019-06-28 14:39:57
1234
原创 流媒体之色彩转换——常见色彩格式RGBX、YUV420和YUV422
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2019-06-28 14:07:12
10132
6
原创 VLC-2.2.8 Windows/Ubuntu18.04交叉编译
文章目录一:环境搭建二:编译2.1 编译环境2.2 编译工具链和依赖库2.3 第三方依赖库2.4 VLC编译三:库测试libvlc使用起来还是很方便的,但要是自己编译就相当恶心了。最近任务需要,要重新编译Windows-32位版本,并修改MP4和AVI的部分实现加密视频的正常播放。网上流行的编译版本为vlc-2.2.1和vlc-2.2.4,但真正编译的时候坑很多。为了方便以后要编译的人,现分享...
2018-11-29 15:21:24
2047
原创 《Learning OpenCV3》——第十章 滤波和卷积
第十章 滤波和卷积第十章 滤波和卷积一介绍二阈值处理1 阈值2 最佳阈值3 自适应阈值三滤波1 简单滤波均值滤波2 盒状滤波加权均值滤波3 中值滤波4 高斯滤波5 双边滤波四导数和梯度1 Sobel导数2 Scharr滤波3 拉普拉斯五图像形态学1 腐蚀和膨胀2 通用形态学操作一:介绍滤波使用滤波核进行操作,使用卷...
2018-02-10 22:38:28
1413
原创 《Learning OpenCV3》——第九章 跨平台和本地窗口
第九章 跨平台和本地窗口第九章 跨平台和本地窗口一HighGUI本地窗口操作1 窗口创建销毁2 显示图像3 更新窗口4 其他功能5 鼠标事件6 Sliderstrackbars和switches二Qt Backend三OpenCV3和GUI工具OpenCV3支持本地窗口操作,也支持一些跨平台的窗口操作,例如Qt等。虽然OpenCV3也集成了Qt的部分GU...
2018-02-09 17:34:57
662
原创 《Learning OpenCV3》——第八章 图像、视频和数据文件
第八章 图像、视频和数据文件第八章 图像视频和数据文件一HighGUI介绍二图像文件的操作1 读取和保存图片11 cvimread12 cvimwrite2 压缩和解压缩21 cvimencode22 cvimdecode三视频的操作1 cvVideoCapture2 读取视频21 cvVideoCaptureread22 cvVideoCapture...
2018-02-08 20:38:46
1753
原创 《Learning OpenCV3》——第七章 仿函数
第七章 仿函数第七章 仿函数一主成分分析cvPCA1 cvPCAPCA2 cvPCAoperator3 cvPCAproject4 cvPCAbackProject二奇异值分解cvSVD1 cvSVD2 cvSVDoperator3 cvSVDcompute4 cvSVDsolveZ5 cvSVDbackSubst三随机数生成器cvRNG1 cvRNG2...
2018-02-08 20:32:04
1063
原创 《Learning OpenCV3》——第六章 绘图和注释
第六章 绘图和注释第六章 绘图和注释一线和填充多边形二字体和文本OpenCV3提供在图像上绘图的功能。通常情况下,绘图操作涉及单通道(灰度图像)和三通道(彩色图像)操作,Alpha通道的绘制暂时不支持。此外,OpenCV3组织彩色图像的方式为BGR排列,而不是常见的RGB排列顺序。一:线和填充多边形线绘制的时候往往会涉及两个参数: thickness和lineT...
2018-02-08 20:27:00
737
原创 《Learning OpenCV3》——第五章 大型数据操作
第五章 大型数据操作第五章 大型数据操作Mat的操作上一章介绍了OpenCV3大型数据的存储如cv::Mat<>和cv::SparseMat<>以及它们的一些基本操作。这一章将继续介绍针对Mat类型的一些其他常用操作。Mat的操作 函数 描述 cv::abs() Return absolute value of al...
2018-02-08 20:23:46
959
原创 《Learning OpenCV3》——第四章 大型数据存储
大型数据存储大型数据存储一cvMat1 创建cvMat2 元素访问21 位置访问22 迭代器访问23 块访问24 饱和度转换3 操作二cvSparseMat1 元素访问2 操作上一章介绍了基本数据类型和辅助类型数据,这章将介绍OpenCV3对大型数据的存储。 其中比较具有代表性的是 cv::Mat和cv::SparseMat 类型。 cv...
2018-02-08 20:13:40
1278
原创 《Learning OpenCV3》——第三章 OpenCV3 数据类型
第三章 OpenCV3 数据类型第三章 OpenCV3 数据类型一基本数据类型1 cvVec2 cvMatx3 cvPoint4 cvScalar5 cvSize6 cvRect7 cvRotatedRect8 cvComplex二帮助类1 cvTermCriteria class2 cvRange class3 cvPtr 模板和垃圾回收3 cvExce...
2018-02-08 20:07:28
4379
2
原创 《Learning OpenCV3》——第二章 OpenCV3介绍
OpenCV3介绍OpenCV3介绍一如何读取和显示一幅静态图片二如何读取和显示视频1 文件视频的读取和显示11 从文件中读取和显示视频12 使用控制条控制播放13 对视频帧的简单处理2 相机的采集和显示三如何写入AVI文件本章主要介绍OpenCV3的输入和输出以及一些简单的概念。OpenCV3怎样读取显示一幅图片?读取显示视频?如何对它们做些简单的
2018-02-06 20:00:46
4061
原创 《Learning OpenCV3》——第一章 OpenCV3安装和配置
第一章 OpenCV3安装和配置第一章 OpenCV3安装和配置一下载二安装和配置1 解压安装2 工程配置VS2015三工程测试安装环境为:VS2015+OpenCV3.4.0 Windows10_x64一:下载进入OpenCV官网:https://opencv.org/ 下载对于的OpenCV版本。 OpenCV版本分为:2.4.X版本和
2018-02-06 19:37:04
4465
1
原创 《数字图像处理 第三版》(冈萨雷斯)——第十章 图像分割
第十章 图像分割第十章 图像分割一点线和边缘检测1 背景知识2 孤立点的检测3 线检测4 边缘模型5 基本边缘检测51 梯度及性质52 梯度算子6 更先进的边缘检测技术61 Marr-Hildreth边缘检测器62 坎尼边缘检测器7 边缘连接和边界检测二阈值处理1 基本的全局阈值处理2 用Otsu方法的最佳全局阈值处理三区域分割1 基于区域
2018-02-02 17:31:26
4302
原创 《数字图像处理 第三版》(冈萨雷斯)——第九章 形态学图像处理
第九章 形态学图像处理第九章 形态学图像处理一腐蚀和膨胀1 腐蚀2 膨胀二开操作与闭操作三击中或击不中变换四一些基本的形态学算法1 边界提取2 孔洞填充3 连通分量的提取4 凸壳5 细化6 粗化7 骨架8 裁剪9 形态学重建91 测地膨胀和腐蚀92 用膨胀和腐蚀的形态学重建五灰度级形态学1 腐蚀和膨胀2 开操作和闭操作3 一些基本的灰度
2018-02-02 16:56:10
7656
2
二进制查看器
2018-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人