摘要:
# 色彩管理 ## 色彩管理的背景 在出版系统中,没有哪种设备能够重现人眼可以看见的整个范围的颜色。每种设备都使用特定的色彩空间,此色彩空间可以生成一定范围的颜色(即色域)。 关于色彩空间更进一步的解释可以看[色彩学学习笔记 - 路过的摸鱼侠 - 博客园](https://www.cnblogs.c 阅读全文
摘要:
## 动态范围的概念 动态范围(dynamic range)描述正在拍摄的场景的亮度范围,或给定数码相机或胶片可以捕捉的亮度范围的限制,用最高亮度和最低亮度的比值来表示,这里给出一些常见的动态范围: - 现实世界的总动态范围 80,000,000:1 - 人类视觉系统的总动态范围 100,000,0 阅读全文
摘要:
# Netflix 网站架构学习 Netflix 架构的特点是他们没有自建数据中心,而是将服务直接架设在 AWS 的云服务上(EC2 和 S3),并通过自建 CDN Open Connect 提供高质量的点播服务。Netflix 采用微服务架构,将复杂业务流程拆解成独立的小型服务,服务间通过 RES 阅读全文
摘要:
# 色彩学学习笔记 ## 可见光 可见光只占电磁波谱的一小部分 ![image](https://img2023.cnblogs.com/blog/1099671/202301/1099671-20230107150752496-1920118973.png) 一个物体反射的光如果在所有可见光波长范 阅读全文
摘要:
libcamera 简介 libcamera 是一个开源的多媒体库,用于在 Linux 操作系统上支持多种摄像头硬件的访问,libcamera 是一个用户空间库,可用于开发基于摄像头的应用程序,如相机应用程序或视频通信应用程序。 基础概念 CameraManager CameraManager 负责 阅读全文
摘要:
# 移动语义和完美转发浅析 ## 移动语义基础 ### 为什么要引入移动语义? ```cpp vector v1{1, 2, 3, 4, 5}; vector v2; v2 = v1; ``` 在移动语义出现前,我们拷贝一个 vector 对象,逻辑上可以分为两步: - 在堆上分配一块空间 - 将 阅读全文
摘要:
TCP 故障模型 网络中断 端点(应用程序所在 LAN 或主机)之外发生的网络故障是临时的,因为路由协议会发现并绕开故障节点 端点出问题时,通常没有备用的路径,问题会一直存在直到故障修复 网络中断时的 TCP 除非中间路由器发送 ICMP 报文,指出目的网络或主机不可达,否则应用程序和 TCP/IP 阅读全文
摘要:
# C++ 智能指针浅析 为了解决 C++ 中内存管理这个老大难问题,C++ 11 中提供了三种可用的智能指针。(早期标准库中还存在一种 auto_ptr,但由于设计上的缺陷,已经被 unique_ptr 取代了) 智能指针不仅能用来管理动态内存,还能用来管理其他类型的资源,比如互斥锁、数据库连接等 阅读全文
摘要:
# C++ 对象模型浅析 本文希望从这个角度来理解 C++ 对象模型:假设我们作为一门编程语言的设计者,要实现面向对象的三大基本特性:封装、继承、多态,同时要满足与 C 兼容和 zero overhead 这两点约束。我们将带着这种观点去剖析 C++ 部分语言特性的实现。 在学习对象模型的时候,要注 阅读全文
摘要:
基于 range 的 for 循环和 auto C++11 引入一种循环的新形式,叫基于 range 的 for 循环,它允许我们用更简单易读的形式遍历容器中的所有元素 vector<int> v{1, 2, 3}; for (int i : v) { cout << i << endl; } 可以 阅读全文