本文已收录于Opencv系列专栏: 深入浅出OpenCV ,专栏旨在详解Python版本的Opencv,为计算机视觉的开发与研究打下坚实基础。免费订阅,持续更新。
数字图像
1.数字图像概念
数字图像:
- 数字图像,又称数码图像,一幅二维图像可以由一个数组或矩阵表示。
- 数字图像可以理解为一个二维函数f(x,y), 其中 x 和 y 是空间平面坐标,而在任意坐标处的值 f 称为图像在该点处的强度或灰度。
图像处理目的:
- 改善图示的信息以便人们解释;
- 为存储、传输和表示而对图像进行的处理。
2.数字图像起源
最早应用的行业
- 媒体(报纸业)
最早应用的时间
- 20 世纪 20 年代( 1921 年)
最早“数字图像处理”系统的用途
- 通过海底电缆,将图像从伦敦传输至纽约。客观的讲,当时的应用并不涉及“数字图像处理”,而是“数字图像传输”
3.常见成像方式
电磁波谱
- 光子即光量子( light quantum),电磁辐射的量子 E=hf ,其中
h 为普朗克常量, f 为光的频率。普朗克常数的值约为: h=6.62 × 10^
(-34) J·s ,单位为焦 J · 秒(s )。 - 光速 波长与频率的关系: v=fλ
- 波长与能量的关系 E = hc/λ
- c = 光速
4.数字图像的应用
γ 射线成像
是波长小于 10^ 10 米的电磁波。这种不可见的电磁波是从原子核内发出来的,放射性物质或原子核反应中常有这种辐射伴随着发出。 γ 射线的穿透力很强,对生物的破坏力很大 。 大脑生理信号 EEG中常用这个频段 。
X 射线成像
也叫,伦琴射线,这部分电磁波波长从( 10~0.01) × 10^ -9 米。
CT 就是用 X 射线照射物体,由于生物组织或者工程组件的不同部位对 X 射线的吸收率不一样,从而得到不同的衰减以成像。
密度越高,吸收的越多,会发白。
紫外线波段成像
波长比可见光短的称为紫外线,它的波长从 (380~10) × 10^ -9 米,它有显著的化学效应和荧光效应 。在生物医学领域应用最多。
可见光波段成像
这是人们所能感光的极狭窄的一个波段,波长从( 7.8~3.8)× 10^ -7 米,人类能 看见的所有物体都是可见光波段成像,也就是光线照射在物体上,反射到人眼中从而成像的 。
红外线波段成像
红外线波长为 0.78——1000 微米的电磁波,其中波长为 0.78——2.0 微米的部分称为近红外,波长为 2.0——1000 微米的部分称为热红外线。自然界中,一切物体都可以辐射红外线,因此利用探测仪测量目标本身与背景间的红外线差可以得到不同的热红外线形成的红外图像。
微波波段成像
波长从 1 米到 0.1 厘米,这些波多用在雷达或其它通讯系统。微波影像是应用成像微波辐射计(扫描型)接收地物发射波长为1mm~30cm 的微波辐射能形成的影像。
射频波段成像
波长从 3000 米到 10^-3 米,一般的电视和无线电广播、手机等的波段就是用这种波,但也能用于医学成像, MRI 是常见的影像诊疗手段。
传统领域
- 医学、空间应用、生物学、军事
最新领域
- 数码相机DC 、数码摄像机DV
- 指纹识别、人脸识别,虹膜识别
- 互联网、视频、多媒体等
- 基于内容的图像检索、视频检索、多媒体检索
- 水印、游戏、电影特技、虚拟现实、电子商务等
图像处理、机器视觉、人工智能关系
图像处理主要研究二维图像 ,处理一个图像或一组图像之间的相互转换的过程,包括 图像滤波,图像识别,图像分割等问题
计算机视觉主要研究映射到单幅或多幅图像上的三维场景从图像中提取抽象的语义信息,实现图像理解是计算机视觉的终极目标。
人工智能在计算机视觉上的目标就是解决像素值和语义之间关系 ,主要的问题有图片检测,图片识别,图片分割和图片检索。
5.Opencv介绍
OpenCV 于 1999 年由 Intel 建立;
开源发行的跨平台计算机视觉库;
操作系统: Linux 、 Windows 、 Android 、 Mac OS
构成: C 函数和少量 C++ 类;
接口: Python 、 Java 、 MATLAB 等语言
opencv 是数字图像处理和计算机视觉领域最常见的工具包,是学习,科研,企业项目开发的好帮手。
环境安装
python 安装
- 推荐版本 python3.6
Jupyter Notebook 安装
1.打开命令行 cmd
2.更新 pip python -m pip install --upgrade pip
3.安装 Jupyter: pip install jupyter
安装 Opencv python
1.打开命令行 cmd
2.pip install opencv-contrib-python
jupter切换环境
查看已有环境
conda env list
选择要想用的环境
conda activate xxx
下载ipykernel
pip install ipykernel
将改环境加入jupyter
python -m ipykernel install --name xxx
打开jupyter,在Kernel里选择所需要的环境即可。