使用Numpy和Opencv完成圖像的基本數據分析(Part II)
在上一節中,主要是介紹了圖像的基本知識以及OpenCV的基本操作,具體內容參見“使用Numpy和Opencv完成基本圖像的數據分析(Part I)”。這部分內容是接著上一節的內容,主要介紹一些其它的操作。
使用邏輯操作處理像素值
可以使用邏輯運算符創建相同大小的數組。但是,邏輯運算操作并不會創建出任何新的數組,只是將True返回給主機變量(host variable)。例如:假設在RGB圖像中過濾掉一些像素值低的像素或像素值高的像素(以及其它任何條件),將RGB轉換為灰度圖看起來不錯,但是我們目前不會對彩色圖像進行這樣的處理。
首先加載圖像,并將其顯示在屏幕上:


注意圖像的路徑問題.之后需要考慮轉儲這個顯示的圖像。假設對于任何情況,我們都想要濾除掉低于某值的所有像素值,并假設該閾值設置為20。為此,我們將使用邏輯運算符來執行此任務,最終結果將返回所有索引的真值。

正如之前所說,主機變量,一般并不使用這個名稱,但在本文中引用它,這是因為它的行為只保留真值,而不是其他任何形式的值。所以,如果展示low_pixel和pic的形狀,我們就會發現它們其實具有相同的形狀。

我們使用全局比較運算符為所有像素值小于200的像素點生成低值濾波器。但是,我們也可以使用此low_pixel數組作為索引將這些低值設置為某些特定值,這些值可能高于或低于先前的像素值。


掩膜
圖像掩膜是一種圖像處理技術,被廣泛用于去除具有模糊邊緣、透明或毛刺部分的照片背景,看起來類似于PS中的一項技術。
下面將帶領讀者一起創建一個圓盤形狀的掩膜。首先,我們測量從圖像中心到每個邊界像素值的距離,在這里采用應用比較方便的半徑,然后使用邏輯運算符創建一個圓盤。這個過程很簡單,如下面的代碼所示:


衛星圖像處理
作為edX的公開課之一,下面將介紹一些衛星圖像及其處理方法,這部分內容是十分有用的,下面對其進行一些處理,做一些分析任務。


下面看看它的一些基本信息:

從中可以發現一些有趣的東西,像許多其他可視化結果一樣,每個rgb層中的顏色都表示對應的內容。例如,紅色強弱表示像素中地理數據點的高度,藍色強弱表示方位的度量,而綠色表示斜率,這些顏色將有助于我們以更快、更有效的方式傳達信息,而不僅是顯示數字。
- 紅色像素表示:高度
- 藍色像素表示:方位
- 綠色像素表示:斜率
只需看一下這張彩色圖像,訓練有素的眼睛就能分辨出海拔是多少,斜率是多少,方位在哪里,所以為這些顏色加載更多含義能夠表示更科學的東西,一個好的想法!
檢測每個通道的高像素


作者:Mohammed Innat,機器學習和數據科學研究者