数字图像处理与Python实现笔记之基础知识
數(shù)字圖像處理與Python實現(xiàn)筆記之基礎(chǔ)知識
- 摘要
- 緒論
- 1 數(shù)字圖像處理基礎(chǔ)知識
- 1.1 數(shù)字圖像簡介
- 1.1.1 數(shù)字圖像處理的目的
- 1.1.2 數(shù)字圖像處理的應(yīng)用
- 1.1.3 數(shù)字圖像處理的特點
- 1.1.4 常見的數(shù)字圖像處理方法
- 1.2 圖像采集和量化
- 1.2.1 圖像采樣
- 1.2.2 圖像量化
- 1.3 圖像的表示和可視化
- 1.3.1 圖像的表示
- 1.3.2 圖像的格式
- 1.3.3 圖像的基本屬性
- 1.3.4 圖像可視化模塊
- 1.4 像素間的關(guān)系
- 1.5 簡單圖像處理
- 1.5.1 圖像基本屬性的操作
- 1.5.2 圖像的簡單運算
- 1.5.3 圖像卷積操作
- 1.6 小結(jié)
- 參考資料
摘要
緒論
-
人工智能是引領(lǐng)未來發(fā)展的戰(zhàn)略性技術(shù),是新一輪科技革命和產(chǎn)業(yè)變革的重要驅(qū)動力量,將深刻地改變?nèi)祟惿鐣睢?/p>
-
促進(jìn)人工智能和實體經(jīng)濟的深度融合,構(gòu)建數(shù)據(jù)驅(qū)動、人機協(xié)同、跨界融合、共創(chuàng)分享的智能經(jīng)濟形態(tài),更是推動質(zhì)量變革、效率變革、動力變革的重要途經(jīng)。
-
進(jìn)年來,我國人工智能新技術(shù)、新產(chǎn)品、新業(yè)態(tài)持續(xù)涌現(xiàn),與農(nóng)業(yè)、制造業(yè)、服務(wù)業(yè)等行業(yè)的融合步伐明顯加快,在技術(shù)創(chuàng)新、應(yīng)用推廣、產(chǎn)業(yè)發(fā)展等方面成效初顯。
-
人工智能技術(shù)并不是一個新生事物,它在最近幾年引起全球性關(guān)注并得到飛速發(fā)展的主要原因,在于它的三個基本要素(算法、數(shù)據(jù)、算力)的迅猛發(fā)展,其中又以數(shù)據(jù)和算力的發(fā)展尤為重要。
-
物聯(lián)網(wǎng)技術(shù)的蓬勃發(fā)展使得數(shù)據(jù)累計的難度越來越低,而芯片算力的不斷提升,使得過去只能通過云計算才能完成的人工智能運算,現(xiàn)在可以下沉到最普通的設(shè)備上完成。
-
物聯(lián)網(wǎng)技術(shù)為機器帶來感知能力,而人工智能則通過計算算力為機器帶來了決策能力,正如感知和大腦對自然生命進(jìn)化所起到的必然性作用。
1 數(shù)字圖像處理基礎(chǔ)知識
本章介紹數(shù)字圖像的一些基礎(chǔ)知識和基本概念,包括數(shù)字圖像處理基本原理及常見方法、圖像的采樣和量化、圖像的表示和可視化、圖像中像素間的關(guān)系、黑白圖像以及灰度圖像。
- 圖像處理是指對圖像進(jìn)行一系列操作,旨在優(yōu)化圖像或從圖像中抽取某種有用信息。
- 圖像處理是信號處理的一種,其輸入為一幅圖像,輸出是優(yōu)化后的圖像或抽取出的圖像特征。
- 按照圖像信號類型的不同,圖像處理可以分為數(shù)字圖像處理和模擬圖像處理兩種類型。
- 模擬圖像處理是指在模擬介質(zhì)(如膠片)中通過模擬成像器件(如相機鏡頭)對連續(xù)模擬信號進(jìn)行處理。
- 數(shù)字圖像處理是指以離散數(shù)字圖像信號為處理對象,通過計算機對圖像進(jìn)行處理,以便更好的從圖像中獲取信息。
1.1 數(shù)字圖像簡介
- 圖是客觀世界物體反射或投射光的分布,是客觀世界的反映。像是人類視覺系統(tǒng)對圖的響應(yīng),是人的大腦對圖的印象或認(rèn)識,是人的一種感覺。
- 圖像(image)是圖和像的有機結(jié)合,既反映物體的客觀存在,又體現(xiàn)人的感知因素。圖像處理旨在針對特定任務(wù),提升圖像的可理解性。
1.1.1 數(shù)字圖像處理的目的
數(shù)字圖像處理是指借助計算機強大的運算能力,運用去噪、特征提取、增強等技術(shù),對數(shù)字形式存儲的圖像進(jìn)行加工、處理。
- 提升圖像的視覺感知質(zhì)量。抑制圖像中某些成分的表現(xiàn)力,提升圖像中特定成分的表現(xiàn)力,改善圖像視覺感知效果。
- 提取圖像中感興趣區(qū)域或特征。作為圖像分類、分割、語義標(biāo)注等的依據(jù),為圖像分析提供便利。
- 方便圖像的存儲和傳輸。為了減少圖像的存儲空間,降低圖像在網(wǎng)絡(luò)傳輸中的耗時,可首先使用各類編碼方法對圖像進(jìn)行編碼,然后使用JPEG、BMP等壓縮標(biāo)準(zhǔn)對圖像進(jìn)行壓縮。
1.1.2 數(shù)字圖像處理的應(yīng)用
- 遙感分析技術(shù)的廣泛應(yīng)用圖像。
- 基于數(shù)字圖像識別的身份認(rèn)證系統(tǒng)。
- 美圖軟件。通過物體識別、高斯模糊等簡單圖像處理方法實現(xiàn)了快速美化。
- 光學(xué)字符識別。首先利用圖像分割得到單個字符圖像,其次通過特征提取得到單個字符特征,最后經(jīng)過圖像識別算法提取圖像中的文本內(nèi)容,形成文本文檔。
1.1.3 數(shù)字圖像處理的特點
- 可再現(xiàn)能力強。數(shù)字圖像存儲的基本單元是由離散數(shù)值構(gòu)成的像素,其一旦形成不容易受存儲、傳輸、復(fù)制過程干擾。
- 處理精度高。現(xiàn)代數(shù)字圖像獲取技術(shù)可以將每個像素基元的灰度級量化到32位甚至更多位數(shù),可以保證數(shù)字圖像在顏色細(xì)節(jié)上滿足真實圖像顏色分辨率的要求。
- 適用范圍廣。不論尺度大小、來源各異,在進(jìn)行數(shù)字圖像處理時,均會被轉(zhuǎn)化為由二維數(shù)組編碼的圖像形式。
- 靈活性高。線性運算與非線性運算,點運算與局部區(qū)域運算,空間域與頻域轉(zhuǎn)換。
1.1.4 常見的數(shù)字圖像處理方法
- 數(shù)字圖像處理的一般步驟:圖像信息的獲取、存儲、處理、傳輸、展示。
- 常見數(shù)字圖像處理方法:圖像的數(shù)字化、編碼、增強、恢復(fù)、變換、壓縮、存儲、傳輸、分析、識別、分割、描述、分類。
- 圖像分割的主要目的是將圖像分解為若干有意義的部分。圖像分割技術(shù)可以作為圖像識別、分析、理解的基礎(chǔ)。在圖像分割的基礎(chǔ)上,形成圖像的區(qū)域、邊緣特征描述,借助模式識別相關(guān)技術(shù),完成圖像的語義分析和理解。
- 圖像分類(識別)是模式識別領(lǐng)域的重要技術(shù)之一,其主要目的是對圖像的類型進(jìn)行判別或者對圖像中出現(xiàn)的物體進(jìn)行檢測和識別。圖像分類的一般步驟:進(jìn)行圖像特征提取和描述、使用模式識別技術(shù)進(jìn)行分類器或檢測器的訓(xùn)練、對目標(biāo)圖像進(jìn)行分類和識別。
1.2 圖像采集和量化
- 圖像的數(shù)字化是將連續(xù)的模擬圖像轉(zhuǎn)換為計算機可處理的離散數(shù)字圖像的過程,包括采樣和量化。
- 采樣是圖像空間坐標(biāo)的離散化,決定了圖像的空間分辨率,是對原始圖像信號的一種數(shù)字化逼近。
- 量化是圖像響應(yīng)幅值的離散化,決定了圖像的灰度分辨率。
1.2.1 圖像采樣
- 圖像采樣是將一幅在空間上連續(xù)分布的模擬圖像成M*N的網(wǎng)格,每個網(wǎng)格稱為一個像素,M*N稱為圖像的空間分辨率。
- 使用求均值方法進(jìn)行圖像模擬采樣的代碼如下。
-
顯示圖像原始大小和圖片類型
-
使用求均值方法對圖像進(jìn)行采樣
1.2.2 圖像量化
- 模擬圖像經(jīng)過采樣后,在空間上實現(xiàn)了離散化,并形成像素,但采樣所得的像素值(即灰度值)依舊是連續(xù)量。
- 采樣后所得的各像素的灰度值從連續(xù)量到離散量的轉(zhuǎn)換稱為圖像灰度的量化。
- 圖像的像素值(響應(yīng)值)I(x,y)的數(shù)字化被稱為圖像的量化,即將圖像響應(yīng)值I(x,y)從Imax到Imin的實數(shù)域映射為有限級別的離散值。
- 圖像量化的部分模擬的Python代碼如下。
- 圖像的量化比率決定了圖像的顏色精細(xì)程度。
- 將256級灰度的彩色圖像量化到僅有2級的灰度圖像
- 將256級灰度的彩色圖像量化到僅有4級的灰度圖像
1.3 圖像的表示和可視化
- 經(jīng)過采樣和量化之后,圖像已經(jīng)成為空間位置和響應(yīng)值均離散的數(shù)字圖像。
1.3.1 圖像的表示
- 通過采樣和量化,原本連續(xù)的圖像I=(x,y)轉(zhuǎn)換為一個二維陣列f(x,y),該陣列具有M行N列,其中(x,y)是離散坐標(biāo)。
- 一般地,直接使用二維矩陣A表示量化后的圖像更方便。二維矩陣是表示數(shù)字圖像的重要方式,矩陣中每個元素稱為圖像的像素,每個像素都有它自己的空間位置和值,值是這一位置像素的顏色或者強度。
- 圖像分辨率是指組成一幅圖像的像素密度。對同樣大小的一幅圖,組成該圖的圖像像素數(shù)目越多,說明圖像的分辨率越高,看起來越逼真。
- 圖像分辨率包括空間分辨率和灰度級(響應(yīng)幅度)分辨率。空間分辨率是圖像中可辯別的最小空間細(xì)節(jié),取樣值對少是決定圖像空間分辨率的主要參數(shù)。灰度級分辨率是指灰度級別中可分辨的最小變化。灰度級數(shù)通常是2的整數(shù)次冪。
- 按照圖像矩陣包含元素的不同,大概可以分為二值圖像、灰度圖像、彩色圖像。
- 文件內(nèi)圖像的表示一般分為矢量表示和柵格表示。
矢量表示中,圖像用一系列線段或線段的組合體表示。矢量圖像類似程序文件,里面有一系列命令和數(shù)據(jù),執(zhí)行這些命令可根據(jù)數(shù)據(jù)畫出圖案,常用的工程繪圖軟件有AutoCAD、Visio等。 - 柵格圖像又稱位圖圖像或像素圖像,使用矩陣或離散的像素點表示圖像,放大后會出現(xiàn)方塊效應(yīng)。
1.3.2 圖像的格式
- 圖像數(shù)據(jù)文件的格式有很多,不同的系統(tǒng)平臺和軟件常使用不同的圖像格式。
- 常用的圖像數(shù)據(jù)文件格式有BMP圖像格式、JPEG圖像格式、GIF圖像格式等。
1.3.3 圖像的基本屬性
- 圖像像素數(shù)量。圖像像素數(shù)量是指在位圖圖像的水平和垂直方向上包含的像素數(shù)量。
- 圖像分辨率。圖像在單位打印長度上分布的像素數(shù)量,主要用以表征數(shù)字圖像信息的密度,決定了圖像的清晰程度。在單位大小面積上,圖像的分辨率越高,包含的像素點的數(shù)量越多,像素點越密集,數(shù)字圖像的清晰度也就越高。
- 圖像大小。決定存儲圖像文件所需的存儲空間,字節(jié)數(shù)(單位B)=(位圖高 * 位圖寬 * 圖像深度)/ 8.
- 圖像顏色。指數(shù)字圖像中具有的最多數(shù)量的可能顏色種類,通過改變紅、綠、藍(lán)三原色的比例,可以非常容易地混合成任意一種顏色。
- 圖像深度。又稱圖像的位深,是指圖像中每個像素點所占的位數(shù)。數(shù)據(jù)深度越深,所需位數(shù)越多,對應(yīng)的顏色表示也就越豐富。
- 圖像色調(diào)。指各種圖像顏色對應(yīng)原色的明暗程度。
- 圖像飽和度。表明了圖像中顏色的純度。一般用純色中混入白光的比例衡量飽和度,純色中混入的白光越多,飽和度越低。
- 圖像亮度。指數(shù)字圖像中包含色彩的明暗程度,是人眼對物體本身明暗程度的感覺。
- 圖像對比度。圖像中不同顏色的對比或者明暗程度的對比。對比度越大,顏色之間的亮度差異越大或者黑白差異越大。
- 圖像層次。在計算機設(shè)計系統(tǒng)中,為了更加便捷有效的處理圖像素材,通常將他們置于不同的層中,而圖像可看作由若干層圖像疊加而成。
1.3.4 圖像可視化模塊
使用python3.7和skimage工具包對圖像可視化。與OpenCV相比,skimage更容易安裝和使用,對像素的操作和圖像整體的操作更符合科學(xué)計算要求。
- io 讀取、保存和顯示圖片或視頻
- data 提供一些測試圖片和樣本數(shù)據(jù)
- color 顏色空間變換
- filters 圖像增強、邊緣檢測、排序濾波器、自動閾值等濾波器操作
- draw 操作于numpy數(shù)組上的基本圖形繪制,包括線條、矩形、圓和文本等。
- transform 幾何變換或其他變換,如旋轉(zhuǎn)、拉伸等
- morphology 形態(tài)學(xué)操作,如開閉運算、骨架提取等
- exposure 圖片強度調(diào)整,如亮度調(diào)整、直方圖均衡等
- feature 特征檢測與提取等模塊
- measure 圖形屬性的測量,如相似性或等高線
- segmentation 圖像分割
- restoration 圖像恢復(fù)
- util 通用工具函數(shù)
1.4 像素間的關(guān)系
像素間的關(guān)系主要對像素與像素之間的關(guān)聯(lián)進(jìn)行描述,基本關(guān)系包括像素間的領(lǐng)域關(guān)系、連通性、像素之間的距離。
- 領(lǐng)域關(guān)系。用于描述相鄰像素之間的相鄰關(guān)系,包括4鄰域和D鄰域。
- 連通性。描述區(qū)域和邊界的重要概念。兩個像素連通的必要條件是:兩個像素的位置滿足相鄰關(guān)系且兩個像素的灰度值滿足特定的相似性準(zhǔn)則。
- 像素之間的距離。常用的像素間距離度量包括歐式距離、D4距離(城市距離)及D8距離(棋盤距離)。
1.5 簡單圖像處理
- 數(shù)字圖像的本質(zhì)是一個多維矩陣。數(shù)字圖像處理的本質(zhì)是對多維矩陣的操作。
- 按照處理對象的不同,可將數(shù)字圖像處理分為黑白圖像處理、灰度圖像處理、彩色圖像處理。
- 按照處理方法進(jìn)行劃分,可將數(shù)字圖像處理分為空間于處理與頻域處理。
- 按照處理策略不同,數(shù)字圖像處理可分為全局處理和局部處理。
- 數(shù)字圖像處理的一般步驟
1.5.1 圖像基本屬性的操作
- 亮度操作。亮度也稱灰度,是顏色的明暗變化范圍,常用0% ~ 100%(由黑到白)表示。通過常見的線性運算即可完成亮度調(diào)節(jié),如所有像素點亮度值乘以或者加一個增強系數(shù),使得圖像整體變亮或者變暗。
- 對比度操作。即圖像暗和亮的落差值,即圖像最大灰度級和最小灰度級之間的差值。a=1時是原圖;a>1時對比度增強,圖像看起來更加清晰。a<1時對比度減弱,圖像看起來變暗。
- a=1時是原圖
- a>1時對比度增強,圖像看起來更加清晰
- a<1時對比度減弱,圖像看起來變暗
- 顏色通道操作。數(shù)字圖像的本質(zhì)是一個多維矩陣,如彩色圖像是一個三維矩陣,灰度圖像和黑白圖像由二維矩陣表示。彩色圖像一般分為紅、綠、藍(lán)3個顏色通道,每個顏色通道對應(yīng)一個完整的二維矩陣。對圖像3個顏色通道進(jìn)行分離的代碼如下。
1.5.2 圖像的簡單運算
圖像運算是以圖像為單位,對圖像進(jìn)行的數(shù)學(xué)操作,是數(shù)字圖像信號處理的基礎(chǔ),運算對象以像素點為基本單位,運算結(jié)果為一幅灰度分布與原圖像不同的新圖像。
- 算術(shù)運算和邏輯運算。每次只涉及一個空間像素的位置,所以可以“原地”操作,即從原存放輸入圖像的空間直接得到輸出圖像。兩幅灰度圖像的加減法示例代碼如下。
- 點運算。點運算只涉及一幅圖像(稱為輸入圖像),運算對象是輸入圖像像素的灰度值,即輸出圖像每個像素的灰度值僅取決于輸入圖像中對應(yīng)像素的灰度值。
- 點運算有兩個特點:其一,根據(jù)某種預(yù)先設(shè)置的規(guī)則,將輸入圖像各個像素本身的灰度逐一轉(zhuǎn)換成輸出圖像對應(yīng)像素的灰度值。其二,點運算不會改變像素的空間位置。因此,點運算也稱為灰度變換。
- 點運算可以分為線性點運算和非線性點運算。線性點運算的原值和目標(biāo)值通過線性方程完成轉(zhuǎn)換,典型的線性點運算如對比度灰度調(diào)整、圖像反色等。非線性點運算對應(yīng)非線性映射函數(shù),典型的映射函數(shù)包括平方函數(shù)、對數(shù)函數(shù)、窗口函數(shù)(截取)、閾值函數(shù)、多值量化函數(shù)等。灰度冪次變換、灰度對數(shù)變換、閾值化處理、直方圖均衡化是較常見的非線性點運算方法。
- skimage的exposure模塊中包含冪次變換的函數(shù)adjust_gamma,可以對圖像進(jìn)行冪次變換。冪次變換為非線性變換,圖像中某些部分可以通過冪次變換凸顯出來。
- 圖像直方圖。描述了該圖像中關(guān)于顏色的數(shù)量特征,可以反映顏色的統(tǒng)計分布和基本色調(diào)。顏色直方圖可以分為三類:全局直方圖、累加直方圖、主色調(diào)直方圖。如下代碼給出了使用skimage的exposure的histogram()函數(shù)計算直方圖的方法。
- 直方圖均衡化是通過使用累積函數(shù)對灰度值進(jìn)行調(diào)整,以實現(xiàn)對比度增強。直方圖均衡化處理的中心思想是把原始圖像的灰度直方圖從比較集中的某個灰度區(qū)間變成在全部灰度范圍內(nèi)的均勻分布。
- 直方圖均衡化就是對圖像進(jìn)行非線性拉伸,重新分配圖像像素值,使一定灰度范圍內(nèi)的像素數(shù)量大致相同。直方圖的主要作用是將灰度間隔小的圖像的灰度間隔擴大,以便觀察圖像。直方圖均衡化的代碼如下。
1.5.3 圖像卷積操作
- 圖像卷積操作是圖像空間域濾波的基礎(chǔ)運算,也是當(dāng)前深度特征提取算法的基礎(chǔ)。卷積操作就是循環(huán)將圖像和卷積核逐個元素相乘再求和,結(jié)果得到卷積后圖像的過程。
- 卷積操作中,卷積核在原始圖像上做從上到下、從左到右的滑動掃描,每次掃描使用卷積核與其掃描覆蓋區(qū)域圖像做一次卷積運算,然后再移動到下一個位置進(jìn)行下一次掃描。
- 大部分Python圖像處理相關(guān)包均將卷積函數(shù)集成到特征提取或者濾波模塊中,并對卷積操作進(jìn)行了優(yōu)化
1.6 小結(jié)
本章簡要介紹了數(shù)字圖像處理的基本概念,介紹了基于Python進(jìn)行數(shù)字圖像處理的簡單語法,對數(shù)字圖像處理中遇到的一些基本操作及運算進(jìn)行了簡單實現(xiàn)。
參考資料
總結(jié)
以上是生活随笔為你收集整理的数字图像处理与Python实现笔记之基础知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字图像处理与Python实现笔记
- 下一篇: 数字图像处理与Python实现笔记之彩色