計算機圖形處理的一些知識

最近在搞opencv來作一些簡單的圖像識別,既然涉及到圖像識別,那麼首先咱們要把圖像從新認識一下,大部分人看到一張照片可能就是單純的一張照片,在一些作圖像處理的人的眼中,可不就這麼簡單了。html

計算機圖形的分類

(1)位圖(Bitmap)算法

也叫作點陣圖,刪格圖象,像素圖,簡單的說,就是最小單位由象素構成的圖,縮放會失真。構成位圖的最小單位是象素,位圖就是由象素陣列的排列來實現其顯示效果的,每一個象素有本身的顏色信息,在對位圖圖像進行編輯操做的時候,可操做的對象是每一個象素,咱們能夠改變圖像的色相、飽和度、明度,從而改變圖像的顯示效果。舉個例子來講,位圖圖像就比如在巨大的沙盤上畫好的畫,當你從遠處看的時候,畫面細膩多彩,可是當你靠的很是近的時候,你就能看到組成畫面的每粒沙子以及每一個沙粒單純的不可變化顏色數組

(2)矢量圖(Vector)svg

也叫作向量圖,簡單的說,就是縮放不失真的圖像格式。矢量圖是經過多個對象的組合生成的,對其中的每個對象的紀錄方式,都是以數學函數來實現的,也就是說,矢量圖實際上並非象位圖那樣紀錄畫面上每一點的信息,而是紀錄了元素形狀及顏色的算法,當你打開一付矢量圖的時候,軟件對圖形象對應的函數進行運算,將運算結果[圖形的形狀和顏色]顯示給你看。不管顯示畫面是大仍是小,畫面上的對象對應的算法是不變的,因此,即便對畫面進行倍數至關大的縮放,其顯示效果仍然相同[不失真]。舉例來講,矢量圖就比如畫在質量很是好的橡膠膜上的圖,無論對橡膠膜怎樣的常寬等比成倍拉伸,畫面依然清晰,無論你離得多麼近去看,也不會看到圖形的最小單位。函數

二者的優缺點:設計

位圖的好處是,色彩變化豐富,編輯上,能夠改變任何形狀的區域的色彩顯示效果,相應的,要實現的效果越複雜,須要的象素數越多,圖像文件的大小[長寬]和體積[存儲空間]越大。code

矢量的好處是,輪廓的形狀更容易修改和控制,可是對於單獨的對象,色彩上變化的實現不如位圖來的方便直接。另外,支持矢量格式的應用程序也遠遠沒有支持位圖的多,不少矢量圖形都須要專門設計的程序才能打開瀏覽和編輯。htm

經常使用的位圖繪製軟件有adobe photoshop、corel painter等,對應的文件格式爲[.psd .tif][.rif]等,另外還有[.jpg][.gif][.png][.bmp]等。對象

經常使用的矢量繪製軟件有adobe illustrator、coreldraw、freehand、flash等,對應的文件格式爲[.ai .eps][.cdr][.fh][.fla/.swf]等,另外還有[.dwg][.wmf][.emf]等。blog

矢量圖能夠很容易的轉化成位圖,可是位圖轉化爲矢量圖卻並不簡單,每每須要比較複雜的運算和手工調節。

矢量和位圖在應用上也是能夠相互結合的,好比在矢量文件中嵌入位圖實現特別的效果,再好比在三維影象中用矢量建模和位圖貼圖實現逼真的視覺效果等等。

這兩種圖形都被普遍應用到出版,印刷,互聯網[如flash和svg]等各個方面,他們各有優缺點,二者各自的好處幾乎是沒法相互替代的,因此,長久以來,矢量跟位圖在應用中一直是勢均力敵。

數字圖像的分類

數字圖像,是二維圖像用有限數字數值像素的表示。一般,像素在計算機中保存爲二維整數數組的光柵圖像,這些值常常用壓縮格式進行傳輸和儲存。

數字圖像能夠許多不一樣的輸入設備和技術生成,例如數碼相機、掃描儀、座標測量機、seismographic profiling、airborne radar等等,也能夠從任意的非圖像數據合成獲得,例如數學函數或者三維幾何模型,三維幾何模型是計算機圖形學的一個主要分支。數字圖像處理領域就是研究它們的變換算法。

每一個圖像的像素一般對應於二維空間中一個特定的'位置',而且有一個或者多個與那個點相關的採樣值組成數值。根據這些採樣數目及特性的不一樣數字圖像能夠劃分爲:

(1)二值圖像:

圖像中每一個像素的亮度值(Intensity)僅能夠取自0或1的圖像,所以也稱爲1-bit圖像。

(2)灰度圖像:

也稱爲灰階圖像: 圖像中每一個像素能夠由0(黑)到255(白)的亮度值(Intensity)表示。0-255之間表示不一樣的灰度級。

(3)彩色圖像 (Color image):

彩色圖像主要分爲兩種類型,RGB及CMYK。其中RGB的彩色圖像是由三種不一樣顏色成分組合而成,一個爲紅色,一個爲綠色,另外一個爲藍色。而CMYK類型的圖像則由四個顏色成分組成:青C、品M、黃Y、黑K。CMYK類型的圖像主要用於印刷行業。

(4)假彩色圖像

(5)多光譜圖像(Multi-spectral) thematic

(6)立體圖像:

立體圖像是一物體由不一樣角度拍攝的一對圖像,一般狀況下咱們能夠用立體像計算出圖像的深度信息。

(7)三維圖像:

三維圖像是由一組堆棧的二位圖像組成。每一幅圖像表示該物體的一個橫截面。

常見的圖像術語

(1)像素:

每張圖片都是由色點組成的,每一個色點稱爲一個像素。一張圖片由30萬個色點組成,這個圖片的像素就是30W。咱們常說相機是多少像素,這個像素就是說這款照相機的感器件有多少個,有100W個感光器件的相機就是100W像素的相機,有4000W個感光器件的相機就是4000W像素,以此類推。一臺100W像素的相機拍攝的照片洗成5寸的照片會比洗成6寸清晰一點。

(2)圖像分辨率:

圖像分辨率是指每英寸圖像內的像素點數。圖像分辨率是有單位的,叫 像素每英寸。分辨率越高,像素的點密度越高,圖像越逼真(這就是爲何作大幅的噴繪時,要求圖片分辨率要高,就是爲了保證每英寸的畫面上擁有更多的像素點)。

(3)屏幕分辨率:

屏幕分辨率是屏幕每行的像素點數*每列的像素點數,每一個屏幕有本身的分辨率。屏幕分辨率越高,所呈現的色彩越多,清晰度越高。

圖像處理的一些降維手段

在圖像識別領域,咱們操做的基本都是位圖,一般狀況下,咱們手機拍出來的照片咱們稱爲彩色圖像也稱爲:RGB圖像,它既包含了顏色也包含了色彩強度(也能夠成爲亮度),反映到計算機裏面,彩色圖像是由3個維度組成:[ x,y,(R,G,B) ]其中R,G,B的每個取值均可以是0-255之間的任意一個整數,因此咱們稱彩色圖片是三維矩陣(matrix)= x * y * 3

在圖像處理領域,一般在拿到一張彩色圖片後,第一步基本都是先作灰度(grayscale),灰度圖像,咱們能夠理解爲它去掉了彩色圖片中的顏色,只留下的色彩強度(也能夠成爲亮度) ,這樣以來就變成了一個二維矩陣 = x * y * 1 組成是: [x,y,(0-255)]。

灰度是指黑白圖像中點的顏色深度,範圍通常從0到255,白色爲255 ,黑色爲0,故黑白圖片也稱灰度圖像,在醫學、圖像識別領域有很普遍的用途,好比醫學的X光,磁共振,CT出來的膠片都屬於灰度照片。

彩色圖片轉灰度照片的幾種方法:

1.浮點算法:Gray=R*0.3+G*0.59+B*0.11

2.整數方法:Gray=(R*30+G*59+B*11)/100

3.移位方法:Gray =(R*28+G*151+B*77)>>8;

4.平均值法:Gray=(R+G+B)/3;

 5.僅取綠色:Gray=G;

在作過灰度以後,下一步就是作二值化進一步簡化色彩,整個圖片只能有有黑白兩種顏色,它仍然屬於二維矩陣=x * y * 1 組成是: [x,y,(0 or (1 or 255))]。注意0表明黑色,1和255表明白色,灰度圖片轉爲二值圖片,很是簡單就是把像素裏面的亮度小於某一個閾值(一般是127)設置成0,大於127的轉化爲255一般用1代替。

這裏看出來的基本思想就是降維,在圖片降維後,它的處理複雜度變得更小,更有利於咱們找圖像的梯度或者特徵值,固然並非全部的圖片處理都要這麼作,也分場景。

總結:

本文介紹了計算機圖形處理的相關基礎知識,如圖形的種類,數字圖像的分類,處理圖片的一些降維手段以及RGB圖像與灰度和二值化的圖像的區別,瞭解這些以後對於咱們處理圖像會有很大幫助,從而作到知其然也要知其因此然。

參考連接:

https://zh.wikipedia.org/wiki/%E6%95%B0%E5%AD%97%E5%9B%BE%E5%83%8F

https://zh.wikipedia.org/wiki/%E7%9F%A2%E9%87%8F%E5%9B%BE%E5%BD%A2

https://zh.wikipedia.org/wiki/%E4%BD%8D%E5%9B%BE

http://www.cnblogs.com/areliang/archive/2006/04/29/388769.html

https://www.quora.com/Does-grayscale-image-means-1-dimensional-image

https://www.quora.com/What-is-the-difference-between-a-binary-image-and-a-gray-scale-image

相關文章
相關標籤/搜索