国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python圖像處理數據格式及色調空間變換

89542767 / 452人閱讀

  此篇文章主要是給大家介紹了python圖像處理數據格式及色調空間變換實例,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發展,盡早漲薪。


  一、圖象數據格式及變換


  在skimage中,一張照片只是一個簡易的numpy二維數組,二維數組的數據格式有許多種,彼此之間還可以變換。這種數據格式及取值如下所示表所顯示:

01.png

  一張圖片的像素值范圍是[0,255],因此默認類型是unit8,可用如下代碼查看數據類型:


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

  在上面的表中,特別注意的是float類型,它的范圍是[-1,1]或[0,1]之間。一張彩色圖片轉換為灰度圖后,它的類型就由unit8變成了float


  1、unit8轉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轉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轉為unit8,有可能會造成數據的損失,因此會有警告提醒。


  除了這兩種最常用的轉換以外,其實有一些其它的類型轉換,如下表:

02.png

  二、顏色空間及其轉換


  如前所述,除了直接轉換可以改變數據類型外,還可以通過圖像的顏色空間轉換來改變數據類型。


  常用的顏色空間有灰度空間、rgb空間、hsv空間和cmyk空間。顏色空間轉換以后,圖片類型都變成了float型。


  所有的顏色空間轉換函數,都放在skimage的color模塊內。


  例:rgb轉灰度圖


  from skimage import io,data,color
  img=data.lena()
  gray=color.rgb2gray(img)
  io.imshow(gray)


  其它的轉換


  用法都是一樣的,列舉常用的如下:


  skimage.color.rgb2grey(rgb)


  skimage.color.rgb2hsv(rgb)


  skimage.color.rgb2lab(rgb)


  skimage.color.gray2rgb(image)


  skimage.color.hsv2rgb(hsv)


  skimage.color.lab2rgb(lab)


  實際上,上面的所有轉換函數,都可以用一個函數來代替


  skimage.color.convert_colorspace(arr,fromspace,tospace)


  表示將arr從fromspace顏色空間轉換到tospace顏色空間。


  例:rgb轉hsv


  from skimage import io,data,color
  img=data.lena()
  hsv=color.convert_colorspace(img,'RGB','HSV')
  io.imshow(hsv)

03.png

  在color模塊的顏色空間轉換函數中,還有一個比較有用的函數是


  skimage.color.label2rgb(arr),可以根據標簽值對圖片進行著色。以后的圖片分類后著色就可以用這個函數。


  例:將lena圖片分成三類,然后用默認顏色對三類進行著色


  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)

04.png

  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128832.html

相關文章

  • python熱力地圖完成的一體化案例

      熱力地圖的適用場景有敘述數據信息和空間的集中程度上,普遍有城市熱力圖、地區熱力地圖,敘述好幾個自變量中間關聯性多少程度上,文中關鍵為大家介紹了有關python熱力地圖完成的資料,必須的小伙伴可以借鑒一下  一、數據信息無量綱處理后的(熱力地圖)  1.數據信息無量綱處理后的(僅詳細介紹文中需要用到的方式):min-max歸一化處理  此方法應該是原始記錄開展線性變換,把它投射到[0,1]中間,...

    89542767 評論0 收藏0
  • opencv python BGR2HSV/目標跟蹤

    摘要:變換顏色空間有多種顏色空間轉換方法,目前我們只研究兩種最廣泛使用的方法和,,其中確定轉換類型對于,色調范圍是,飽和范圍是,值范圍是。 Changing Colorspaces 1變換顏色空間 opencv有150多種顏色空間轉換方法,目前我們只研究兩種最廣泛使用的方法:BGR?Gray和BGR?HSVcv2.cvtColor(input_image,flag),其中flag確定轉換類...

    Cheriselalala 評論0 收藏0
  • 運用Python實現圖片轉字符畫

      本文關鍵闡述了運用Python實現圖片轉字符畫,要把圖片轉字符畫,必須要先界定1個字段名,用于和灰度級做投射,將照片每一個象素的RGB值轉化成1個灰度級,把它相對應的標識符導出就得到了字符畫  序言  相信大家在網上常常看到有些人展現出各種各樣字符畫,對于這些色彩斑斕的全球而言,我們平時看到的就是某些超清的彩色圖片,有時候再來一個粗糙黑白字符畫,還是比較緩解疲勞的。喜愛不要忘記個人收藏、關心、...

    89542767 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<