图像形成与计算机视觉基础
1. 图像形成的基本原理
图像形成是物理世界与传感器(如胶片、CCD/CMOS)交互的过程,核心是光线的传播与记录。
1.1 直接放置胶片模型
-
物理原理:物体表面反射的光线直接照射到胶片上,但无任何遮挡或聚焦机制。
-
问题:所有物体点的光线会覆盖整个胶片,导致完全模糊(如图1)。

1.2 针孔相机模型
-
改进:在物体与胶片间加入针孔屏障,仅允许通过小孔的光线到达胶片(图2)。
-
关键参数:
-
孔径大小(d):孔径越小,成像越清晰但亮度越低(需权衡信噪比)。
-
焦距(f):针孔到胶片的距离,决定成像比例。
-
1.3 透镜模型
-
原理:透镜通过折射集中光线,替代针孔以提高亮度(图3)。
-
薄透镜公式:
1/f=1/u+1/v-
u:物距(物体到透镜的距离)
-
v:像距(透镜到成像平面的距离)
-
-
景深(Depth of Field):透镜允许一定范围内的物体清晰成像,与光圈大小成反比。
2. 投影几何与数学模型
2.1 透视投影(Perspective Projection)
2.2 仿射投影(Affine Projection)

2.3 消失点与消失线

3. 颜色空间与模型
3.1 RGB颜色空间
-
定义:通过红、绿、蓝三原色的叠加表示颜色(图6)。
-
缺点:
-
通道强相关:调整亮度需同时改变所有通道。
-
非线性感知:人眼对亮度的响应接近对数尺度,而RGB是线性的。
-
3.2 HSV/HSL颜色空间
-
组成:
-
H(色相):颜色类型(0°-360°)。
-
S(饱和度):颜色纯度(0%-100%)。
-
V(明度)/L(亮度):颜色明暗程度。
-
-
应用:图像编辑软件(如Photoshop)中的颜色选择器。
3.3 YCbCr颜色空间
-
分离亮度与色度:
-
Y(亮度):Y=0.299R+0.587G+0.114B
-
Cb(蓝色色差):Cb=0.564(B−Y)+128
-
Cr(红色色差):Cr=0.713(R−Y)+128
-
-
压缩优势:人眼对亮度更敏感,可对Cb/Cr进行子采样(如4:2:0)。
3.4 CIELAB颜色空间

4. 数字图像形成技术
4.1 空间采样(Spatial Sampling)
-
奈奎斯特采样定理:采样频率需大于信号最高频率的2倍,避免混叠(图7)。
-
示例:若图像最高空间频率为100 cycles/mm,则采样间隔需小于0.005 mm。
-
-
像素阵列:
x=j⋅Δx,y=k⋅Δy(j,k 为整数)
4.2 量化(Quantization)
-
位深度与灰度级:
-
8位:256级(JPEG标准)。
-
12位:4096级(医学影像)。
-
16位:65536级(专业摄影)。
-
-
量化误差:
误差=动态范围2n(n=位深度)
4.3 分辨率与存储权衡
-
空间分辨率:
-
人脸识别:64×64像素(约0.1MP)可满足基本需求。
-
高清显示:1920×1080像素(2MP)。
-
-
存储计算:
单张图像大小=宽×高×通道数×位深度单张图像大小=宽×高×通道数×位深度-
示例:24位彩色图(3通道×8位),1024×768像素:
1024×768×3×8=18,874,368 bits=2.36 MB
-
5. 空间域与变换域操作
-
-
定义:
-
图像处理:输入图像 → 输出图像,目标是抑制失真、增强有用信息(如对比度调整、去噪)。
-
图像分析:输入图像 → 提取特征/测量(如边缘检测、目标计数)。
-
计算机视觉:输入图像 → 语义理解(如目标识别、场景重建)。
-
-
空间域操作:直接在像素值上进行处理,分为两类:
-
点操作:单个像素独立变换,公式:
g(x,y)=T(f(x,y))(如对比度拉伸、反转)g(x,y)=T(f(x,y))(如对比度拉伸、反转) -
邻域操作:基于像素周围区域计算,公式:
g(x,y)=T(f(x,y),f(x+1,y),f(x−1,y),… )(如均值滤波)g(x,y)=T(f(x,y),f(x+1,y),f(x−1,y),…)(如均值滤波)
-
-
6. 点操作详解
6.1 对比度拉伸(Contrast Stretching)
6.2 阈值处理(Thresholding)
6.3 强度反转(Intensity Inversion)

6.4 对数与幂变换
7. 直方图处理
7.1 直方图均衡化(Histogram Equalization)

7.2 直方图规定(Histogram Matching)

8. 算术与逻辑操作
-
算术操作:
-
加法:多幅图像平均降噪(噪声方差降低 σ2NNσ2)。
-
减法:检测变化区域(如运动目标)。
-
-
逻辑操作:
-
AND/OR:掩膜操作(提取特定区域)。
-
XOR:检测差异(如边缘增强)。
-
9. 关键问题解析


10.总结
图像形成:从物理模型(针孔、透镜)到数学建模(透视/仿射投影)。
颜色科学:不同颜色空间适应不同需求(编辑、压缩、感知)。
数字化技术:采样与量化需平衡质量与效率,避免信息损失。
点操作:直接修改像素值,适合对比度调整和二值化。
直方图处理:通过分布调整优化全局或局部对比度。
算术操作:多用于图像融合与噪声抑制。
核心公式与算法:如Otsu阈值、直方图均衡化需熟练掌握推导与应用。
相关文章:
图像形成与计算机视觉基础
1. 图像形成的基本原理 图像形成是物理世界与传感器(如胶片、CCD/CMOS)交互的过程,核心是光线的传播与记录。 1.1 直接放置胶片模型 物理原理:物体表面反射的光线直接照射到胶片上,但无任何遮挡或聚焦机制。 问题&a…...
【显示】3.1 Android 从Activity到Display链路概括
目录 一,Activity上屏Flow总结 二,链路拆解 2.1 Activity 的创建和 UI 初始化 2.2 Window 和 DecorView 的创建 2.3 Surface 的创建 2.4 View 的绘制流程 2.5 Surface 的提交和合成 2.6 上屏显示 三,多个Activity的处理方式 一,Activity上屏Flow总结 Activity → s…...
【leetcode hot 100 240】搜索二维矩阵Ⅱ
解法一:直接查找 class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int i0; i<matrix.length; i){for(int j0; j<matrix[0].length; j){if(matrix[i][j]>target){break;}if(matrix[i][j]target){return true;}}}return fal…...
Spring Boot 缓存最佳实践:从基础到生产的完整指南
Spring Boot 缓存最佳实践:从基础到生产的完整指南 引言 在现代分布式系统中,缓存是提升系统性能的银弹。Spring Boot 通过 spring-boot-starter-cache 模块提供了开箱即用的缓存抽象,但如何根据业务需求实现灵活、可靠的缓存方案…...
Ubuntu20.04双系统安装及软件安装(一):系统安装
Ubuntu20.04双系统安装及软件安装(一):系统安装 Ubuntu系统卸载Ubuntu20.04安装BIOS进入系统安装 许久没写博客了,今天开始重新回归了。首先记录我在双系统上重装Ubuntu20.04的安装过程记录以及个人见解。 Ubuntu系统卸载 参考双…...
Linux14-io多路复用
UDP:单循环服务器,服务器同一时刻只能响应一个客户端的请求 TCP:并发服务器,服务器同一时刻只能响应多个客户端的请求 一、构建TCP并发服务器 让TCP服务端具备同时响应多个客户端的能力。 1.多进程 资源消耗大,同资源平台下,并发量小。 2.多线程 创建线程、进程,比…...
【人工智能学习之优化为什么会失败】
【人工智能学习之优化为什么会失败与方案建议】 一、优化为什么会失败?1. 局部极小值和鞍点2. 梯度消失/爆炸(Vanishing/Exploding Gradients)2. 病态条件(Ill-Conditioning)3. 参数初始化不当4. 学习率不当5. 过拟合&…...
flask学习2-应用(博客)
flask学习2-应用(博客) 项目目录应用程序工厂连接到数据库建表初始化数据库文件蓝图和视图第一个视图:注册注册登录根据用户id查询用户注销模板基本布局注册登录注册用户静态文件博客蓝图索引创建更新-根据id查询更新-根据id更新删除使项目可安装描述项目安装项目测试覆盖率…...
Next.js项目实战-ai助手帮我写文章发布视频第1节(共89节)
😂Ai在国内外已经杀疯了,老板要求我们把速度再提升快一些,哪怕是几秒,几百毫秒也行~现在,马上就要,就地就要,只好搬出前端服务端(大保健)😓。没错,今天我要分…...
探秘Transformer系列之(9)--- 位置编码分类
探秘Transformer系列之(9)— 位置编码分类 文章目录 探秘Transformer系列之(9)--- 位置编码分类0x00 概述0x01 区别1.1 从直观角度来看1.2 从模型处理角度来看1.3 优劣 0x02 绝对位置编码2.1 基础方案2.2 训练式2.3 三角函数式2.4…...
文件操作(详细讲解)(2/2)
你好呀这里是我说风俗,各位客官走过路过,关关注,点点赞,收收藏,您的鼓励是对我最大的认可,我也会努力更行下去的!!!大一学生不易(》《) 5. 文件的…...
笔记四:C语言中的文件和文件操作
Faye:只要有正确的伴奏,什么都能变成好旋律。 ---------《寻找天堂》 目录 一、文件介绍 1.1程序文件 1.2 数据文件 1.3 文件名 二、文件的打开和关闭 2.1 文件指针 2.2.文件的打开和关闭 2.3 文件读取结束的判定 三、 文件的顺序读写 3.1 顺序读写…...
Zabbix+Deepseek实现AI告警分析(非本地部署大模型版)
目录 前言技术架构DeepSeek API获取1. 注册账号2. 申请API-Key Zabbix告警AI分析 实现1. 创建Scripts2. Scripts关键参数说明3. 需要注意 测试参考链接 前言 最近手伤了,更新频率下降…… 近期在Zabbix社区看到了一篇文章:张世宏老师分享的《Zabbix告警分…...
基于Celery+Supervisord的异步任务管理方案
一、架构设计背景 1.1 需求场景分析 在Web应用中,当遇到以下场景时需要异步任务处理方案: 高延迟操作(大文件解析/邮件发送/复杂计算)请求响应解耦(客户端快速响应)任务队列管理(任务优先级/…...
国产NAS系统飞牛云fnOS深度体验:从运维面板到博客生态全打通
文章目录 前言1. 飞牛云本地部署1Panel2. 1Panel功能介绍3. 公网访问1Panel控制面板4. 固定1Panel公网地址5. 1Panel搭建Halo博客6. 公网访问Halo个人博客 前言 嘿,小伙伴们!是不是厌倦了服务器管理的繁琐和搭建个人网站的复杂?今天就来一场…...
使用QT + 文件IO + 鼠标拖拽事件 + 线程 ,实现大文件的传输
第一题、使用qss,通过线程,使进度条自己动起来 mythread.h #ifndef MYTHREAD_H #define MYTHREAD_H#include <QObject> #include <QThread> #include <QDebug>class mythread : public QThread {Q_OBJECT public:mythread(QObject* …...
【LeetCode 热题 100】438. 找到字符串中所有字母异位词 | python 【中等】
继续学!嗨起来!!!(正确率已经下30%了,我在干什么) 题目: 438. 找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的子串,返回这些子串的…...
博查搜索API日调用量突破3000万次,达到Bing API的1/3。
根据第三方机构统计,2024年Bing Search API 全球日均调用量为1.1亿次。截至2025年3月,博查 Search API日均调用量已达到3000万次(约为Bing的1/3),承接着国内AI应用60%的联网搜索请求。...
【蓝桥杯集训·每日一题2025】 AcWing 5539. 牛奶交换 python
AcWing 5539. 牛奶交换 Week 3 3月6日 题目描述 农夫约翰的 N N N 头奶牛排成一圈,使得对于 1 , 2 , … , N − 1 1,2,…,N−1 1,2,…,N−1 中的每个 i i i,奶牛 i i i 右边的奶牛是奶牛 i 1 i1 i1,而奶牛 N N N 右边的奶牛是奶牛 …...
[内网安全] Windows 本地认证 — NTLM 哈希和 LM 哈希
关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:SAM 文件 & Windows 本地认证流程 0x0101:SAM 文件简介 Windows 本地账户的登录密码是存储在系统本地的 SAM 文件中的,在登录 Windows 的时候&am…...
输电线路杆塔倾斜智能监测:守护电网安全的智慧之眼
2023年夏,某超高压输电线路突发倒塔事故,导致三省市大面积停电,直接经济损失超2.3亿元。事后调查显示,杆塔倾斜角度早已超出安全阈值,但传统巡检未能及时发现。这个刺痛行业的案例,揭开了电力设施监…...
FastGPT 引申:奥运选手知识图谱构建与混合检索应用
目录 FastGPT 引申:奥运选手知识图谱构建与混合检索应用第一部分:数据构建流程1. 数据抽取与预处理2. 向量化处理3. 知识图谱构建4. 数据持久化 第二部分:混合检索应用1. 用户查询处理2. 混合检索技术细节3. 返回结果示例4. 性能指标 FastGPT…...
GitHub CI流水线
GitHub CI流水线 build.yml 路径:.github/workflows/build.yml name: Docker Image CIon:workflow_dispatch:jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkoutv4- name: Set up JDK 8uses: actions/setup-javav4with:java-version: 8distributi…...
探索.NET 10 的新特性,开发效率再升级!
前言 最近,.NET 10 发布啦,作为长期支持(LTS)版本,接下来的 3 年里它会给开发者们稳稳的幸福。今天咱就来唠唠它都带来了哪些超实用的新特性。可在指定链接下载。 新特性 下面将介绍了.NET 10的新特性,其…...
算法·搜索
搜索问题 搜索问题本质也是暴力枚举,一般想到暴力也要想到利用回溯枚举。 排序和组合问题 回溯法 去重问题:定义全局变量visited还是局部变量visited实现去重? 回溯问题 图论中的搜索问题 与一般的搜索问题一致,只不过要多…...
【图像处理与OpenCV:技术栈、应用和实现】
引言 图像处理作为计算机视觉领域的重要分支,在各个行业中扮演着越来越重要的角色。从医疗诊断、自动驾驶、安防监控到人工智能领域的图像识别,图像处理无处不在。随着计算机硬件性能的提升和深度学习的快速发展,图像处理技术也在不断演进&a…...
《水利水电安全员考试各题型对比分析及应对攻略》
《水利水电安全员考试各题型对比分析及应对攻略》 单选题: 特点:四个选项中只有一个正确答案,相对难度较小。主要考查对基础知识的掌握程度。 应对攻略:认真审题,看清题目要求。对于熟悉的知识点,直接选择…...
鸿蒙HarmonyOS-Navagation基本用法
Navagation基本用法 Navigation组件是路由导航的根视图容器,一般作为Page页面的根容器使用,其内部默认包含了标题栏,内容栏和公工具栏,其中内容区默认首页显示导航内容(Navigation的子组件)或非首页显示&am…...
第16章 直接定址表
目录 16.1 描述了单元长度的标号16.2 在其它段中使用数据标号16.3 直接定址表16.4 程序入口地址的直接定址表实验16 编写包含多个功能子程序的中断例程 16.1 描述了单元长度的标号 assume cs:code code segment a db 1,2,3,4,5,6,7,8 b dw 0 start: mov si,0 mov cx…...
【AI深度学习网络】卷积神经网络(CNN)入门指南:从生物启发的原理到现代架构演进
深度神经网络系列文章 【AI深度学习网络】卷积神经网络(CNN)入门指南:从生物启发的原理到现代架构演进【AI实践】基于TensorFlow/Keras的CNN(卷积神经网络)简单实现:手写数字识别的工程实践 引言 在当今…...
