成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

python圖像處理圖象的制作詳細(xì)說(shuō)明

89542767 / 484人閱讀

  此篇文章主要是給大家介紹了python圖像處理圖象的制作實(shí)例詳細(xì)說(shuō)明,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,祝愿大家多多的發(fā)展,盡早漲薪


  文章正文


  事實(shí)上前邊咱們就早已運(yùn)用了圖象的制作,如:


  io.imshow(img)


  這一行代碼的本質(zhì)是運(yùn)用matplotlib包對(duì)圖片開(kāi)展制作,制作完成后,回到一個(gè)matplotlib類(lèi)型的信息。因而,我們還可以這么寫(xiě):


  import matplotlib.pyplot as plt
  plt.imshow(img)


  imshow()函數(shù)格式為:


  matplotlib.pyplot.imshow(X,cmap=None)


  X:要繪制的圖像或數(shù)組。


  cmap:顏色圖譜(colormap),默認(rèn)繪制為RGB(A)顏色空間。


  其它可選的顏色圖譜如下列表:

01.png

  用的比較多的有g(shù)ray,jet等,如:


  plt.imshow(image,plt.cm.gray)
  plt.imshow(img,cmap=plt.cm.jet)


  在窗口上繪制完圖片后,返回一個(gè)AxesImage對(duì)象。要在窗口上顯示這個(gè)對(duì)象,我們可以調(diào)用show()函數(shù)來(lái)進(jìn)行顯示,但進(jìn)行練習(xí)的時(shí)候(ipython環(huán)境中),一般我們可以省略show()函數(shù),也能自動(dòng)顯示出來(lái)。


  from skimage import io,data
  img=data.astronaut()
  dst=io.imshow(img)
  print(type(dst))
  io.show()


  顯示為:

02.png

  可以看到,類(lèi)型是'matplotlib.image.AxesImage'。顯示一張圖片,我們通常更愿意這樣寫(xiě):


  import matplotlib.pyplot as plt
  from skimage import io,data
  img=data.astronaut()
  plt.imshow(img)
  plt.show()

  matplotlib是一個(gè)專(zhuān)業(yè)繪圖的庫(kù),相當(dāng)于matlab中的plot,可以設(shè)置多個(gè)figure窗口,設(shè)置figure的標(biāo)題,隱藏坐標(biāo)尺,甚至可以使用subplot在一個(gè)figure中顯示多張圖片。一般我們可以這樣導(dǎo)入matplotlib庫(kù):


  from skimage import data
  import matplotlib.pyplot as plt
  img=data.astronaut()
  plt.figure(num='astronaut',figsize=(8,8))#創(chuàng)建一個(gè)名為astronaut的窗口,并設(shè)置大小
  plt.subplot(2,2,1)#將窗口分為兩行兩列四個(gè)子圖,則可顯示四幅圖片
  plt.title('origin image')#第一幅圖片標(biāo)題
  plt.imshow(img)#繪制第一幅圖片
  plt.subplot(2,2,2)#第二個(gè)子圖
  plt.title('R channel')#第二幅圖片標(biāo)題
  plt.imshow(img[:,:,0],plt.cm.gray)#繪制第二幅圖片,且為灰度圖
  plt.axis('off')#不顯示坐標(biāo)尺寸
  plt.subplot(2,2,3)#第三個(gè)子圖
  plt.title('G channel')#第三幅圖片標(biāo)題
  plt.imshow(img[:,:,1],plt.cm.gray)#繪制第三幅圖片,且為灰度圖
  plt.axis('off')#不顯示坐標(biāo)尺寸
  plt.subplot(2,2,4)#第四個(gè)子圖
  plt.title('B channel')#第四幅圖片標(biāo)題
  plt.imshow(img[:,:,2],plt.cm.gray)#繪制第四幅圖片,且為灰度圖
  plt.axis('off')#不顯示坐標(biāo)尺寸
  plt.show()#顯示窗口
  import matplotlib.pyplot as plt

03.png

  也就是說(shuō),我們繪圖實(shí)際上用的是matplotlib包的pyplot模塊。


  一、用figure函數(shù)和subplot函數(shù)分別創(chuàng)建主窗口與子圖


  例:分開(kāi)并同時(shí)顯示宇航員圖片的三個(gè)通道


  在照片制作環(huán)節(jié)中,大家用matplotlib.pyplot模塊下的figure()函數(shù)公式來(lái)建立表明對(duì)話(huà)框,該函數(shù)的形式為:


  matplotlib.pyplot.figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None)


  全部基本參數(shù)全是可供選擇的,都是有初始值,因而啟用該函數(shù)公式的時(shí)候可以完全沒(méi)有任何基本參數(shù),在其中:


  num:整型或字符型都能夠。假如設(shè)為整型,則其整型數(shù)字代表窗口序號(hào)。假如設(shè)為字符型,則其字符串?dāng)?shù)組表明窗口名字。要用基本參數(shù)來(lái)取名對(duì)話(huà)框,假如兩個(gè)窗口序號(hào)或名同樣,則后窗口會(huì)遮蓋前窗口。


  figsize:設(shè)定窗口大小。是一個(gè)tuple型整數(shù)金額,如figsize=(8,8)


  dpi:整型數(shù)據(jù),表明窗口屏幕分辨率。


  facecolor:窗口背景色。


  edgecolor:窗口邊框顏色。


  用figure()函數(shù)公式建立的對(duì)話(huà)框,只有表明一副照片,如果你想要表明多副照片,就需要把這個(gè)對(duì)話(huà)框再劃分成好多個(gè)子圖,在每一個(gè)子圖上顯示不同類(lèi)型的照片。大家能使用subplot()函數(shù)公式來(lái)區(qū)分子圖,函數(shù)公式形式為:


  matplotlib.pyplot.subplot(nrows,ncols,plot_number)


  nrows:子圖的個(gè)數(shù)。


  ncols:子圖的行數(shù)。


  plot_number:現(xiàn)階段子圖的序號(hào)。


  如:

  plt.subplot(2,2,1)


  則表示將figure窗口劃分成了2行2列共4個(gè)子圖,當(dāng)前為第1個(gè)子圖。我們有時(shí)也可以用這種寫(xiě)法:

  plt.subplot(221)


  兩種寫(xiě)法效果是一樣的。每個(gè)子圖的標(biāo)題可用title()函數(shù)來(lái)設(shè)置,是否使用坐標(biāo)尺可用axis()函數(shù)來(lái)設(shè)置,如:


  plt.subplot(221)
  plt.title("first subwindow")
  plt.axis('off')


  二、用subplots來(lái)創(chuàng)建顯示窗口與劃分子圖


  除了上面那種方法創(chuàng)建顯示窗口和劃分子圖,還有另外一種編寫(xiě)方法也可以,如下例:


  import matplotlib.pyplot as plt
  from skimage import data,color
  img=data.immunohistochemistry()
  hsv=color.rgb2hsv(img)
  fig,axes=plt.subplots(2,2,figsize=(7,6))
  ax0,ax1,ax2,ax3=axes.ravel()
  ax0.imshow(img)
  ax0.set_title("Original image")
  ax1.imshow(hsv[:,:,0],cmap=plt.cm.gray)
  ax1.set_title("H")
  ax2.imshow(hsv[:,:,1],cmap=plt.cm.gray)
  ax2.set_title("S")
  ax3.imshow(hsv[:,:,2],cmap=plt.cm.gray)
  ax3.set_title("V")
  for ax in axes.ravel():
  ax.axis('off')

04.png

  fig.tight_layout()#自動(dòng)調(diào)整subplot間的參數(shù)


  直接用subplots()函數(shù)來(lái)創(chuàng)建并劃分窗口。注意,比前面的subplot()函數(shù)多了一個(gè)s,該函數(shù)格式為:


  matplotlib.pyplot.subplots(nrows=1,ncols=1)


  nrows:所有子圖行數(shù),默認(rèn)為1。


  ncols:所有子圖列數(shù),默認(rèn)為1。


  返回一個(gè)窗口figure,和一個(gè)tuple型的ax對(duì)象,該對(duì)象包含所有的子圖,可結(jié)合ravel()函數(shù)列出所有子圖,如:


  fig,axes=plt.subplots(2,2,figsize=(7,6))
  ax0,ax1,ax2,ax3=axes.ravel()


  創(chuàng)建了2行2列4個(gè)子圖,分別取名為ax0,ax1,ax2和ax3,每個(gè)子圖的標(biāo)題用set_title()函數(shù)來(lái)設(shè)置,如:


  ax0.imshow(img)
  ax0.set_title("Original image")


  如果有多個(gè)子圖,我們還可以使用tight_layout()函數(shù)來(lái)調(diào)整顯示的布局,該函數(shù)格式為:


  matplotlib.pyplot.tight_layout(pad=1.08,h_pad=None,w_pad=None,rect=None)


  所有的參數(shù)都是可選的,調(diào)用該函數(shù)時(shí)可省略所有的參數(shù)。


  pad:主窗口邊緣和子圖邊緣間的間距,默認(rèn)為1.08


  h_pad,w_pad:子圖邊緣之間的間距,默認(rèn)為pad_inches


  rect:一個(gè)矩形區(qū)域,如果設(shè)置這個(gè)值,則將所有的子圖調(diào)整到這個(gè)矩形區(qū)域內(nèi)。


  一般調(diào)用為:

  plt.tight_layout()#自動(dòng)調(diào)整subplot間的參數(shù)


  三、其它方法繪圖并顯示


  除了使用matplotlib庫(kù)來(lái)繪制圖片,skimage還有另一個(gè)子模塊viewer,也提供一個(gè)函數(shù)來(lái)顯示圖片。不同的是,它利用Qt工具來(lái)創(chuàng)建一塊畫(huà)布,從而在畫(huà)布上繪制圖像。


  例:


  from skimage import data
  from skimage.viewer import ImageViewer
  img=data.coins()
  viewer=ImageViewer(img)
  viewer.show()

05.png

  最后總結(jié)一下,繪制和顯示圖片常用到的函數(shù)有:


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)?lái)幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128831.html

相關(guān)文章

  • python圖像處理圖象批量編輯

      此篇文章主要是給大家介紹了python圖像處理之圖象的批量編輯實(shí)例詳細(xì)解讀,感興趣的小伙伴可以參考借鑒一下,希望可以有一定的幫助,愿大家多多的發(fā)展,盡快漲薪  文章正文  有的時(shí)候,不僅需要對(duì)一張照片予以處理,可能也會(huì)對(duì)一大批照片處理。此刻,我們通過(guò)循環(huán)系統(tǒng)去執(zhí)行解決,還可以啟用程序流程帶有的照片結(jié)合去處理?! ≌掌Y(jié)合函數(shù)公式  skimage.io.ImageCollection(load...

    89542767 評(píng)論0 收藏0
  • pythonopencv圖象高通濾波和低通濾波器范例編碼

      文章主要是詳細(xì)介紹了pythonopencv圖像高通濾波和低通濾波器,此文經(jīng)過(guò)案例編碼為大家介紹得非常詳盡,對(duì)大家學(xué)習(xí)培訓(xùn)和工作具有很強(qiáng)的參照參考意義,必須的小伙伴可以借鑒一下  序言  上一章大家反映了如何把圖象機(jī)娘傅立葉變換,將圖象由時(shí)域轉(zhuǎn)換成時(shí)域,并把低頻率挪動(dòng)至圖象核心。那樣將低頻率總廳后,就可以把圖象的低頻率和高頻率分離,進(jìn)而開(kāi)展低通濾波器跟高通濾波的處理方法。  詳細(xì)編碼  低通濾...

    89542767 評(píng)論0 收藏0
  • PandasMatplotlib保存圖型時(shí)縱坐標(biāo)標(biāo)識(shí)過(guò)長(zhǎng)造成顯示不全問(wèn)題解決

      在使用matplotlib做圖得時(shí)候,有時(shí)候會(huì)碰到繪圖時(shí)顯示不全和圖片保存時(shí)不完美的難題,本文主要是為大家介紹了有關(guān)PandasMatplotlib保存圖型時(shí)縱坐標(biāo)標(biāo)識(shí)過(guò)長(zhǎng)造成顯示不全問(wèn)題解決方式,需用的小伙伴可以參考一下。  序言  這篇blog主要是處理在使用pandas制作圖象并儲(chǔ)存時(shí),因?yàn)闃?biāo)識(shí)過(guò)長(zhǎng),造成縱坐標(biāo)上標(biāo)簽顯示不全問(wèn)題。剛遇到困難的時(shí)候修改了一下下圖片尺寸,然而并沒(méi)有卵用,因此...

    89542767 評(píng)論0 收藏0
  • PHP 給圖片制作水印方法

    摘要:我們經(jīng)常能在圖片上看到一些水印,一般分為圖片文字或者是兩種一起的結(jié)合。那么給圖片加水印就非常有必要了。怎么用實(shí)現(xiàn)給圖片加水印呢先來(lái)看看效果使用庫(kù)使用庫(kù)來(lái)實(shí)現(xiàn)效果圖像處理和手冊(cè)正所謂授人以魚(yú)不如授人以漁,光貼代碼不講實(shí)現(xiàn)過(guò)程的,都是耍流氓。 我們經(jīng)常能在圖片上看到一些水印,一般分為圖片、文字或者是兩種一起的結(jié)合。那為什么要加水印呢?目的是為了防止別人盜圖、造假或者標(biāo)注出處等,保護(hù)圖片原作...

    sixgo 評(píng)論0 收藏0
  • Pygame精準(zhǔn)檢測(cè)圖象撞擊問(wèn)題

      此篇文章主要是闡述了Pygame精準(zhǔn)檢測(cè)圖象撞擊,在使用Pygame寫(xiě)游戲時(shí),有些人可能遇到2個(gè)Rect目標(biāo)撞擊可是目標(biāo)中間也有室內(nèi)空間間距問(wèn)題,這兒,將教給大家用一個(gè)方法準(zhǔn)確地檢驗(yàn)圖象撞擊,需用的小伙伴可以借鑒一下  在使用Pygame寫(xiě)游戲時(shí),有些人可能遇到2個(gè)Rect目標(biāo)撞擊可是目標(biāo)中間也有室內(nèi)空間間距問(wèn)題,這兒,將教給大家用一個(gè)方法準(zhǔn)確地檢驗(yàn)圖象撞擊。  假定大家主要有兩種圖象(產(chǎn)品為...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<