此篇文章主要是給大家介紹了python圖像處理數(shù)據(jù)格式及色調(diào)空間變換實例,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪。
一、圖象數(shù)據(jù)格式及變換
在skimage中,一張照片只是一個簡易的numpy二維數(shù)組,二維數(shù)組的數(shù)據(jù)格式有許多種,彼此之間還可以變換。這種數(shù)據(jù)格式及取值如下所示表所顯示:
一張圖片的像素值范圍是[0,255],因此默認(rèn)類型是unit8,可用如下代碼查看數(shù)據(jù)類型:
from skimage import io,data img=data.chelsea() print(img.dtype.name)
在上面的表中,特別注意的是float類型,它的范圍是[-1,1]或[0,1]之間。一張彩色圖片轉(zhuǎn)換為灰度圖后,它的類型就由unit8變成了float
1、unit8轉(zhuǎn)float
from skimage import data,img_as_float img=data.chelsea() print(img.dtype.name) dst=img_as_float(img) print(dst.dtype.name)
輸出:
uint8
float64
2、float轉(zhuǎn)uint8
from skimage import img_as_ubyte import numpy as np img=np.array([0,0.5,1],dtype=float) print(img.dtype.name) dst=img_as_ubyte(img) print(dst.dtype.name)
輸出:
float64
uint8
float轉(zhuǎn)為unit8,有可能會造成數(shù)據(jù)的損失,因此會有警告提醒。
除了這兩種最常用的轉(zhuǎn)換以外,其實有一些其它的類型轉(zhuǎn)換,如下表:
二、顏色空間及其轉(zhuǎn)換
如前所述,除了直接轉(zhuǎn)換可以改變數(shù)據(jù)類型外,還可以通過圖像的顏色空間轉(zhuǎn)換來改變數(shù)據(jù)類型。
常用的顏色空間有灰度空間、rgb空間、hsv空間和cmyk空間。顏色空間轉(zhuǎn)換以后,圖片類型都變成了float型。
所有的顏色空間轉(zhuǎn)換函數(shù),都放在skimage的color模塊內(nèi)。
例:rgb轉(zhuǎn)灰度圖
from skimage import io,data,color img=data.lena() gray=color.rgb2gray(img) io.imshow(gray)
其它的轉(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)
實際上,上面的所有轉(zhuǎn)換函數(shù),都可以用一個函數(shù)來代替
skimage.color.convert_colorspace(arr,fromspace,tospace)
表示將arr從fromspace顏色空間轉(zhuǎn)換到tospace顏色空間。
例:rgb轉(zhuǎn)hsv
from skimage import io,data,color img=data.lena() hsv=color.convert_colorspace(img,'RGB','HSV') io.imshow(hsv)
在color模塊的顏色空間轉(zhuǎn)換函數(shù)中,還有一個比較有用的函數(shù)是
skimage.color.label2rgb(arr),可以根據(jù)標(biāo)簽值對圖片進(jìn)行著色。以后的圖片分類后著色就可以用這個函數(shù)。
例:將lena圖片分成三類,然后用默認(rèn)顏色對三類進(jìn)行著色
from skimage import io,data,color import numpy as np img=data.lena() gray=color.rgb2gray(img) rows,cols=gray.shape labels=np.zeros([rows,cols]) for i in range(rows): for j in range(cols): if(gray[i,j]<0.4): labels[i,j]=0 elif(gray[i,j]<0.75): labels[i,j]=1 else: labels[i,j]=2 dst=color.label2rgb(labels) io.imshow(dst)
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/128832.html
熱力地圖的適用場景有敘述數(shù)據(jù)信息和空間的集中程度上,普遍有城市熱力圖、地區(qū)熱力地圖,敘述好幾個自變量中間關(guān)聯(lián)性多少程度上,文中關(guān)鍵為大家介紹了有關(guān)python熱力地圖完成的資料,必須的小伙伴可以借鑒一下 一、數(shù)據(jù)信息無量綱處理后的(熱力地圖) 1.數(shù)據(jù)信息無量綱處理后的(僅詳細(xì)介紹文中需要用到的方式):min-max歸一化處理 此方法應(yīng)該是原始記錄開展線性變換,把它投射到[0,1]中間,...
摘要:變換顏色空間有多種顏色空間轉(zhuǎn)換方法,目前我們只研究兩種最廣泛使用的方法和,,其中確定轉(zhuǎn)換類型對于,色調(diào)范圍是,飽和范圍是,值范圍是。 Changing Colorspaces 1變換顏色空間 opencv有150多種顏色空間轉(zhuǎn)換方法,目前我們只研究兩種最廣泛使用的方法:BGR?Gray和BGR?HSVcv2.cvtColor(input_image,flag),其中flag確定轉(zhuǎn)換類...
本文關(guān)鍵闡述了運(yùn)用Python實現(xiàn)圖片轉(zhuǎn)字符畫,要把圖片轉(zhuǎn)字符畫,必須要先界定1個字段名,用于和灰度級做投射,將照片每一個象素的RGB值轉(zhuǎn)化成1個灰度級,把它相對應(yīng)的標(biāo)識符導(dǎo)出就得到了字符畫 序言 相信大家在網(wǎng)上常??吹接行┤苏宫F(xiàn)出各種各樣字符畫,對于這些色彩斑斕的全球而言,我們平時看到的就是某些超清的彩色圖片,有時候再來一個粗糙黑白字符畫,還是比較緩解疲勞的。喜愛不要忘記個人收藏、關(guān)心、...
閱讀 923·2023-01-14 11:38
閱讀 895·2023-01-14 11:04
閱讀 756·2023-01-14 10:48
閱讀 2055·2023-01-14 10:34
閱讀 961·2023-01-14 10:24
閱讀 840·2023-01-14 10:18
閱讀 510·2023-01-14 10:09
閱讀 588·2023-01-14 10:02