Python 计算机视觉(一) —— 数字图像处理基础
目錄
1. 數字圖像處理
2. 圖像三要素
(1) 圖像大小(size)
像素點
分辨率
圖像大小
(2) 圖像深度(depth)
(3) 圖像通道數(channels)
單通道
三通道
四通道
二通道
3. 圖像類型
(1)二值圖像
(2)灰度圖像
(3)索引圖像
(4)RGB 彩色圖像
4. 圖像信號數字轉換
(1)圖像數字化
(2)一般數字化過程
采樣
量化
1. 數字圖像處理
首先我們需要了解什么是數字圖像處理(Digital Image Processing)
數字圖像處理主要的目的是改善圖示信息以便于人們理解,還有就是為了存儲、傳輸以及表示而對圖像進行處理,以便于機器的自動理解
所以,我們可以將其理解為將一幅簡單的原始圖像使用計算機處理成為更能為我們所理解或需要的形式
比如車牌檢測、人臉識別等
2. 圖像三要素
一般來說,對于一個圖像需要使用它的三個要素去描述它,其中包括圖像的大小(size),圖像深度(depth)以及圖像通道數(channels)
(1) 圖像大小(size)
此處可參考:圖像的大小的計算
像素點
一張圖片放大以后就會呈現為一個個點陣,而其中的每一個點稱為一個像素點,所以對于圖像的處理我們也可以認為是對像素點的處理
分辨率
圖像的分辨率是指圖像存儲的信息量,代表每一寸圖像中含有的像素點數,即 像素/英寸,單位為 PPI(Pixels Per Inch),所以分辨率代表的是類似于密度的一種量,在平時我們所說的圖像的分辨率是 1280*960 這種說法并不能算是準確的,因為這種說法代表的是一張圖中的像素點總數,而不是像素點密度,所以在 python 中創建畫布表示圖像的分辨率時,我們的表示方法如下:
fig = plt.figure(figsize = (10, 10), dpi = 300)并不是直接使用上面提到的乘法方式?
圖像大小
指的是圖像占用空間的大小
計算方式為:分辨率*位深/8(這里的分辨率是像素點的總數)
分辨率:寬*高(如 1280*960)
位深:如 24 位,16位,8位
/8:計算字節數
(2) 圖像深度(depth)
圖像的深度是指存儲每一個像素點所使用的位數,也可以用來度量圖像的色彩分辨率,確定了每個彩色圖像中像素點能擁有的色彩數或者灰度圖像中最大灰度等級;就是上面在計算圖像大小時提到的位深
表現得是單個像素點的色彩豐富度,比如 16 位(65536種)等
一般來說一個像素點使用 RGB 三種分量表示,如果每一種分量的的位數為 6,那么可以說這個像素點的深度為 18位,那么它就可以表示 二的十八次方 種顏色,所以一般圖像的深度越大,它就可以表示更多的色彩,顏色也就更加多樣化
(3) 圖像通道數(channels)
可以參考:圖像識別與處理——圖像的表示與通道數問題
由于我們眼中的圖像在計算中是一個個矩陣,而矩陣的列數行數與圖像的尺寸有關,矩陣元素的值表示這個點的亮度,一般來說像素點值越大表示該點越亮,通常灰度圖像用二維矩陣(單通道)表示,而彩色圖像用三維矩陣(三通道)表示
單通道
一個像素點,如果是灰度,那么只要使用一個通道表示就可以了,所以它是單通道
三通道
如果一個像素點使用 RGB 三中顏色表示,那么它就需要三個通道來表示
四通道
在三通道的基礎上添加了透明度通道
二通道
一般在編程時用來表示傅里葉變換,一個通道為實數,一個通道為虛數
3. 圖像類型
(1)二值圖像
二值圖像的二維矩陣值僅僅由 0,1 兩個值構成,’0‘ 代表黑色,‘1’ 代表白色;由于每一個像素僅僅有兩種值可以選,所以計算機中二值圖像的數據類型為一個二進制位;二值圖像一般使用在文字、線條圖的掃描識別以及掩膜圖像的存儲中
當然對于二值圖像的像素值以及二值化有疑問可以參考知乎回答:知乎回答
(2)灰度圖像
灰度圖像與黑白圖像并不同,黑白圖像只有黑白兩種色彩,但灰度圖像覆蓋了最黑到最亮這個過程中的所有級數,一般灰度圖像使用位深為八位,可以分為 256[0~255]?個級數,但也有一些位深為十六位,那么就可以分為 65536 級灰度了
(3)索引圖像
索引圖像是一種把像素值直接作為?RGB 調色板下標的圖像,索引圖像可把像素值“直接映射”為調色板數值。一幅索引圖包含一個數據矩陣data和一個調色板矩陣map,數據矩陣可以是uint8,uint16或雙精度類型的,而調色板矩陣則總是一個m×3 的雙精度矩陣
索引模式和灰度模式比較類似,它的每個像素點也可以有256種顏色容量,但它可以負載彩色,而灰度模式的圖像最多只能有256種非彩色顏色。當圖像轉換成索引模式時,系統會自動根據圖像上的顏色歸納出能代表大多數的256種顏色,就象一張顏色表,然后用這256種來代替整個圖像上所有的顏色信息
參考自:百度百科
(4)RGB 彩色圖像
彩色圖像是指每個像素由R、G、B分量構成的圖像,其中R、G、B是由不同的灰度級來描述的。
和索引圖像相比,彩色圖像每一個像素點都可以使用不同的顏色來表示,而每一種顏色都可以用 0~255 級的亮度表示,但索引圖像只能在每一個像素點中表示 256 種顏色,所以彩色圖像比起索引圖像更為高級,但占用的空間也就越大
4. 圖像信號數字轉換
(1)圖像數字化
將模擬圖像信號進行離散化,得到的數字表示的圖像(前面提到的矩陣),計算機處理圖像需要將其轉化為數字離散形式
(2)一般數字化過程
此處參考:圖像數字化
采樣
將空間上連續的圖像轉化為離散的采樣點(像素點)的過程,采樣間隔即周期如果太大就會發生混疊,如果太小則會使得計算機工作量加大
至于采樣率的信號的頻率之間的關系可以參考我之前的文章:
數字信號處理 2.1 — 采樣
量化
把采樣后所得的各種像素的灰度值從模擬量化到離散量的轉換稱為圖像灰度的量化
比如在模擬信號中的亮度我們在數字信號中需要用矩陣中的元素值的大小來表示
當圖像的采樣點數一定時,采用不同量化級數的圖像質量也不一樣,量化級數越多,圖像質量越好;量化級數越少,圖像質量越差,量化級數最小的極端情況就是二值圖像,圖像會出現假輪廓
總結
以上是生活随笔為你收集整理的Python 计算机视觉(一) —— 数字图像处理基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 绘图库 Matplotli
- 下一篇: Python 计算机视觉(二) —— O