Python數(shù)字圖像處理(4):圖像數(shù)據(jù)類型以及顏色空間轉(zhuǎn)換

一、數(shù)字圖像類型以及轉(zhuǎn)換

在skimage中绎巨,一張圖片就是一個簡單的numpy數(shù)組近尚,數(shù)組的數(shù)據(jù)類型有很多種,相互之間也可以轉(zhuǎn)換场勤。這些數(shù)據(jù)類型及取值范圍如下表所示:

Data Type Range
unit8 0 - 255
unit16 0 - 65535
unit32 0 - 2^32
float -1 - 1 or 0 - 1
int8 -128 to 127
int16 -32768 to 32767
int32 -2^32 - 2^32-1

一張圖片的像素范圍是[0, 255]肿男,所以類型是unit8,可以通過以下代碼查看圖像的數(shù)據(jù)類型:

    from skimage import io, data
    img = data.chelsea()
    print(img.dtype.name)

輸出為unit8却嗡。
關(guān)于上表舶沛,需要注意的是float類型,它的范圍是[0, 1] 或者[-1, 1]窗价。一張彩色圖轉(zhuǎn)換成灰度圖之后就有unit8變成了float了如庭。

1、unit8轉(zhuǎn)換成float
    from skimage import io, data, img_as_float
    img = data.chelsea()
    print(img.dtype.name)
    img_grey = cimg_as_float(img)
    print(img_grey.dtype.name)

輸出為:
uint8 float64

2撼港、float轉(zhuǎn)換成unit8
from skimage import img_as_ubyte
import numpy as np
img = np.array([[0.2], [0.5], [0.1]], dtype=float)
print(img.dtype.name)
img_unit8 = img_as_ubyte(img)
print(img_unit8.dtype.name)

輸出為:
float64 uint8
float轉(zhuǎn)為unit8坪它,有可能會造成數(shù)據(jù)的損失,因此會有警告提醒帝牡。
除了這兩種最常用的轉(zhuǎn)換以外往毡,其實有一些其它的類型轉(zhuǎn)換,如下表:

函數(shù)名 功能
img_as_float Convert to 64-bit floating point.
img_as_ubyte Convert to 8-bit uint.
img_as_uint Convert to 16-bit uint.
img_as_int Convert to 16-bit int.

二靶溜、顏色空間及其轉(zhuǎn)換

要想改變圖像的數(shù)據(jù)類型开瞭,除了前文直接改變數(shù)據(jù)類型,我們還可以通過轉(zhuǎn)換顏色空間來實現(xiàn)罩息。
常用的顏色空間有灰度空間嗤详、RGB空間、HSV空間和CMKY空間瓷炮,顏色空間轉(zhuǎn)換以后葱色,數(shù)據(jù)類型都變成了float類型,所有的顏色空間轉(zhuǎn)換函數(shù)都在skimage的color模塊中娘香。

例一:RGB圖轉(zhuǎn)換成灰度圖
    from skimage import io, data, color
    image = data.chelsea()
    image_grey = color.rgb2gray(image)
    io.imshow(image_grey)
    io.show()     

輸出:

灰度小貓

print(image.dtype.name, image_grey.dtype.name)
('uint8', 'float64')
其它的轉(zhuǎn)換苍狰,用法都是一樣的,列舉常用的如下:
skimage.color.rgb2grey(rgb) skimage.color.rgb2hsv(rgb) skimage.color.rgb2lab(rgb) skimage.color.gray2rgb(image) skimage.color.hsv2rgb(hsv) skimage.color.lab2rgb(lab)
其實上面函數(shù)的功能都可以通過一個函數(shù)來代替:
skimage.color.convert_colorspace(arr, fromspace, tospace)
表示將arr從fromspace顏色空間轉(zhuǎn)換到tospace顏色空間烘绽。
比如我們可以用其實現(xiàn)小貓圖像由RGB到HSV的轉(zhuǎn)換:

    from skimage import io, data, color
    image = data.chelsea()
    image_hsv = color.convert_colorspace(image, 'RGB', 'HSV')
    io.imshow(image_hsv)
    io.show()

輸出我就不貼了淋昭,圖片太嚇人。诀姚。
在color模塊中還有一個特別有用的函數(shù):
skimage.color.label2rgb(arr)响牛,可以根據(jù)標簽值對圖片進行著色。

例二赫段、將小貓圖片分三類并著色

from skimage import io, data, color
import numpy as np

image = data.chelsea()
image_grey = color.rgb2gray(image)
rows, cols = image_grey.shape
labels = np.zeros([rows, cols])
for i in range(rows):
    for j in range(cols):
        if image_grey[i, j] >0.66:
            labels[i, j] = 0
        elif image_grey[i, j] > 0.33:
            labels[i, j] = 1
        else:
            labels[i, j] = 2
label_image = color.label2rgb(labels)
io.imshow(label_image)
io.show()

輸出為:

標簽小貓
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末呀打,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子糯笙,更是在濱河造成了極大的恐慌贬丛,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件给涕,死亡現(xiàn)場離奇詭異豺憔,居然都是意外死亡,警方通過查閱死者的電腦和手機够庙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門恭应,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人耘眨,你說我怎么就攤上這事昼榛。” “怎么了剔难?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵胆屿,是天一觀的道長。 經(jīng)常有香客問我偶宫,道長非迹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任纯趋,我火速辦了婚禮憎兽,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吵冒。我一直安慰自己唇兑,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布桦锄。 她就那樣靜靜地躺著扎附,像睡著了一般。 火紅的嫁衣襯著肌膚如雪结耀。 梳的紋絲不亂的頭發(fā)上留夜,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音图甜,去河邊找鬼碍粥。 笑死,一個胖子當著我的面吹牛黑毅,可吹牛的內(nèi)容都是我干的嚼摩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼枕面!你這毒婦竟也來了愿卒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤潮秘,失蹤者是張志新(化名)和其女友劉穎琼开,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枕荞,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡柜候,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了躏精。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渣刷。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖矗烛,靈堂內(nèi)的尸體忽然破棺而出辅柴,到底是詐尸還是另有隱情,我是刑警寧澤高诺,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布碌识,位于F島的核電站,受9級特大地震影響虱而,放射性物質(zhì)發(fā)生泄漏筏餐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一牡拇、第九天 我趴在偏房一處隱蔽的房頂上張望魁瞪。 院中可真熱鬧,春花似錦惠呼、人聲如沸导俘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽旅薄。三九已至,卻和暖如春泣崩,著一層夾襖步出監(jiān)牢的瞬間少梁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工矫付, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凯沪,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓买优,卻偏偏與公主長得像妨马,于是被迫代替她去往敵國和親挺举。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容