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

資訊專欄INFORMATION COLUMN

Python完成提取圖片中色調并制作成可視化圖表

89542767 / 594人閱讀

  接下來小編來給大家分享一種有意思的數據可視化方法,便是如何運用Python語言表達即從照片中提取顏色隨后制作成可視化圖表,有興趣的話可以試一試。


  今天小編來為大家分享一個有趣的可視化技巧,如何從圖片中提取顏色然后繪制成可視化圖表,如下圖所示

01.png

  在示例照片當中有著各種各樣的顏色,我們將通過Python中的可視化模塊以及opencv模塊來識別出圖片當中所有的顏色要素,并且將其添加到可視化圖表的配色當中


  導入模塊并加載圖片


  那么按照慣例,第一步一般都是導入模塊,可視化用到的模塊是matplotlib模塊,我們將圖片中的顏色抽取出來之后會保存在顏色映射表中,所以要使用到colormap模塊,同樣也需要導入進來


  import numpy as np
  import pandas as pd
  import matplotlib.pyplot as plt
  import matplotlib.patches as patches
  import matplotlib.image as mpimg
  from PIL import Image
  from matplotlib.offsetbox import OffsetImage,AnnotationBbox
  import cv2
  import extcolors
  from colormap import rgb2hex


  然后我們先來加載一下圖片,代碼如下


  input_name='test_1.png'
  img=plt.imread(input_name)
  plt.imshow(img)
  plt.axis('off')
  plt.show()


  output

02.png

  提取顏色并整合成表格


  我們調用的是extcolors模塊來從圖片中提取顏色,輸出的結果是RGB形式呈現出來的顏色,代碼如下


  colors_x=extcolors.extract_from_path(img_url,tolerance=12,limit=12)
  colors_x

  output


  ([((3,107,144),180316),


  ((17,129,140),139930),


  ((89,126,118),134080),


  ((125,148,154),20636),


  ((63,112,126),18728),


  ((207,220,226),11037),


  ((255,255,255),7496),


  ((28,80,117),4972),


  ((166,191,198),4327),


  ((60,150,140),4197),


  ((90,94,59),3313),


  ((56,66,39),1669)],


  538200)


  我們將上述的結果整合成一個DataFrame數據集,代碼如下


  def color_to_df(input_color):
  colors_pre_list=str(input_color).replace('([(','').split(',(')[0:-1]
  df_rgb=[i.split('),')[0]+')'for i in colors_pre_list]
  df_percent=[i.split('),')[1].replace(')','')for i in colors_pre_list]
  #將RGB轉換成十六進制的顏色
  df_color_up=[rgb2hex(int(i.split(",")[0].replace("(","")),
  int(i.split(",")[1]),
  int(i.split(",")[2].replace(")","")))for i in df_rgb]
  df=pd.DataFrame(zip(df_color_up,df_percent),columns=['c_code','occurence'])
  return df


  我們嘗試調用上面我們自定義的函數,輸出的結果至DataFrame數據集當中


  df_color=color_to_df(colors_x)
  df_color

  output

03.png

  繪制圖表


  接下來便是繪制圖表的階段了,用到的是matplotlib模塊,代碼如下


  fig,ax=plt.subplots(figsize=(90,90),dpi=10)
  wedges,text=ax.pie(list_precent,
  labels=text_c,
  labeldistance=1.05,
  colors=list_color,
  textprops={'fontsize':120,'color':'black'}
  )
  plt.setp(wedges,width=0.3)
  ax.set_aspect("equal")
  fig.set_facecolor('white')
  plt.show()


  output

04.png

  最后制作一張調色盤,將原圖中的各種不同顏色都羅列開來,代碼如下


  ##調色盤
  x_posi,y_posi,y_posi2=160,-170,-170
  for c in list_color:
  if list_color.index(c)<=5:
  y_posi+=180
  rect=patches.Rectangle((x_posi,y_posi),360,160,facecolor=c)
  ax2.add_patch(rect)
  ax2.text(x=x_posi+400,y=y_posi+100,s=c,fontdict={'fontsize':190})
  else:
  y_posi2+=180
  rect=patches.Rectangle((x_posi+1000,y_posi2),360,160,facecolor=c)
  ax2.add_artist(rect)
  ax2.text(x=x_posi+1400,y=y_posi2+100,s=c,fontdict={'fontsize':190})
  ax2.axis('off')
  fig.set_facecolor('white')
  plt.imshow(bg)
  plt.tight_layout()


  output

05.png

  實戰環節


  這一塊兒是實戰環節,我們將上述所有的代碼封裝成一個完整的函數


  def exact_color(input_image,resize,tolerance,zoom):
  output_width=resize
  img=Image.open(input_image)
  if img.size[0]>=resize:
  wpercent=(output_width/float(img.size[0]))
  hsize=int((float(img.size[1])*float(wpercent)))
  img=img.resize((output_width,hsize),Image.ANTIALIAS)
  resize_name='resize_'+input_image
  img.save(resize_name)
  else:
  resize_name=input_image
  fig.set_facecolor('white')
  ax2.axis('off')
  bg=plt.imread('bg.png')
  plt.imshow(bg)
  plt.tight_layout()
  return plt.show()
  exact_color('test_2.png',900,12,2.5)


  output

07.png

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

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

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

相關文章

  • python大大數據視化matplotlib制做復式統計表案例

      文中關鍵給大家介紹了python大大數據可視化matplotlib制做復式統計表的案例詳細說明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發展,盡早漲薪  plt.plot()函數公式各主要參數分析  plt.plot()函數的作用是制做復式統計表,它主要參數有許多,常用的函數主要參數如下所示:  plt.plot(x,y,color,linestyle,linewi...

    89542767 評論0 收藏0
  • 這里有8個流行的Python視化工具包,你喜歡哪個?

    摘要:下面,作者介紹了八種在中實現的可視化工具包,其中有些包還能用在其它語言中。當提到這些可視化工具時,我想到三個詞探索數據分析。還可以選擇樣式,它模擬了像和等很流行的美化工具。有很多數據可視化的包,但沒法說哪個是最好的。 showImg(https://segmentfault.com/img/remote/1460000019029121); 作者:Aaron Frederick 喜歡用...

    testbird 評論0 收藏0
  • Python學習筆記:數據視化(一)

    摘要:當數據發生變化時,這種演變過程隨之發生。是一種統計報告圖,由一系列高度不等的縱向條紋或線段表示數據分布的情況。 showImg(https://segmentfault.com/img/bVbnkP1?w=751&h=558); python相關 基礎概念 數據:離散的,客觀事實的數字表示 信息:處理后的數據,為實際問題提供答案   - 為數據提供一種關系或一個關聯后,數據就成了信...

    Crazy_Coder 評論0 收藏0
  • python熱力地圖的一體化案例

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

    89542767 評論0 收藏0
  • 常用的數據視化工具

    摘要:俗話說,不會使用工具來完成任務的都是進化不完全的表現,大數據時代,可視化已經深深鉆進我們的生活,使用可視化工具也變的相當普遍,今天我們來總結下當下可視化工具都有哪些。是一個地圖庫,主要面向數據可視化用戶。 俗話說,不會使用工具來完成任務的都是進化不完全的表現,大數據時代,可視化已經深深鉆進我們的生活,使用可視化工具也變的相當普遍,今天我們來總結下當下可視化工具都有哪些。 showImg...

    philadelphia 評論0 收藏0

發表評論

0條評論

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