自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

怎樣使用Python圖像處理?

開發(fā) 后端
這些日子作些圖像處理的工作,正好有機(jī)會試試很久以前就學(xué)過Python圖像處理,結(jié)果很讓自己驚訝,下面詳細(xì)說明介紹。

Python圖像處理是一種簡單易學(xué),功能強(qiáng)大的解釋型編程語言,它有簡潔明了的語法,高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡單而有效地實(shí)現(xiàn)面向?qū)ο缶幊?,下文進(jìn)行對Python圖像處理進(jìn)行說明。

當(dāng)然,首先要感謝“戀花蝶”,是他的文章“用Python圖像處理 ” 幫我堅(jiān)定了用Python和PIL解決問題的想法,對于PIL的一些介紹和基本操作,可以看看這篇文章。我這里主要是介紹點(diǎn)我在使用過程中的經(jīng)驗(yàn)。

PIL可以對圖像的顏色進(jìn)行轉(zhuǎn)換,并支持諸如24位彩色、8位灰度圖和二值圖等模式,簡單的轉(zhuǎn)換可以通過Image.convert(mode)函數(shù)完 成,其中mode表示輸出的顏色模式。例如''L''表示灰度,''1''表示二值圖模式等。

但是利用convert函數(shù)將灰度圖轉(zhuǎn)換為二值圖時(shí),是采用固定的閾 值127來實(shí)現(xiàn)的,即灰度高于127的像素值為1,而灰度低于127的像素值為0。為了能夠通過自定義的閾值實(shí)現(xiàn)灰度圖到二值圖的轉(zhuǎn)換,就要用到 Image.point函數(shù)。#t#

Image.point函數(shù)有多種形式,這里只討論Image.point(table, mode),利用該函數(shù)可以通過查表的方式實(shí)現(xiàn)像素顏色的模式轉(zhuǎn)換。其中table為顏色轉(zhuǎn)換過程中的映射表,每個(gè)顏色通道應(yīng)當(dāng)有256個(gè)元素,而 mode表示所輸出的顏色模式,同樣的,''L''表示灰度,''1''表示二值圖模式。

可見,轉(zhuǎn)換過程的關(guān)鍵在于設(shè)計(jì)映射表,如果只是需要一個(gè)簡單的箝位值,可以將table中高于或低于箝位值的元素分別設(shè)為1與0。當(dāng)然,由于這里的table并沒有什么特殊要求,所以可以通過對元素的特殊設(shè)定實(shí)現(xiàn)(0, 255)范圍內(nèi),任意需要的一對一映射關(guān)系。

示例代碼如下:

  1. import Image  
  2.  
  3. # load a color image  
  4. im = Image.open(''fun.jpg'')  
  5.  
  6. # convert to grey level image  
  7. Lim = im.convert(''L'')  
  8. Lim.save(''fun_Level.jpg'')  
  9.  
  10. # setup a converting table with constant threshold  
  11. threshold = 80 
  12. table = []  
  13. for i in range(256):  
  14.     if i < threshold: 
  15.         table.append(0)  
  16.     else:  
  17.         table.append(1)  
  18.  
  19. # convert to binary image by the table  
  20. bim = Lim.point(table, ''1'')  
  21.  
  22. bim.save(''fun_binary.jpg'')  

IT部分通常要完成的任務(wù)相當(dāng)繁重但支撐這些工作的資源卻很少,這已經(jīng)成為公開的秘密。任何承諾提高編碼效率、降低軟件總成本的IT解決方案都應(yīng)該進(jìn)行 周到的考慮。Python圖像處理所具有的一個(gè)顯著優(yōu)勢就是可以在企業(yè)的軟件創(chuàng)建和維護(hù)階段節(jié)約大量資金,而這兩個(gè)階段的軟件成本占到了軟件整個(gè)生命周期中總成本 的50%到95%。

Python清晰可讀的語法使得軟件代碼具有異乎尋常的易讀性,甚至對那些不是最初接觸和開發(fā)原始項(xiàng)目的程序員都 能具有這樣的強(qiáng)烈感覺。雖然某些程序員反對在Python代碼中大量使用空格。

不過,幾乎人人都承認(rèn)Python圖像處理的可讀性遠(yuǎn)勝于C或者Java,后兩 者都采用了專門的字符標(biāo)記代碼塊結(jié)構(gòu)、循環(huán)、函數(shù)以及其他編程結(jié)構(gòu)的開始和結(jié)束。提倡Python的人還宣稱,采用這些字符可能會產(chǎn)生顯著的編程風(fēng)格差 異,使得那些負(fù)責(zé)維護(hù)代碼的人遭遇代碼可讀性方面的困難。

責(zé)任編輯:chenqingxiang 來源: 人民郵電出版社
相關(guān)推薦

2016-08-22 17:37:24

Python圖像處理搜索引擎

2023-03-09 15:25:49

2010-03-03 13:12:56

Python圖像處理

2010-03-11 13:33:25

Python圖像處理

2021-01-11 13:20:06

Python圖像大小編程語言

2010-03-09 19:19:40

Python圖像處理

2010-03-02 14:21:20

Linux死機(jī)

2023-06-27 15:50:23

Python圖像處理

2023-12-14 15:22:39

圖像操作圖像處理計(jì)算機(jī)視覺

2020-05-15 08:06:37

JavaScriptobject URL對象

2021-03-28 22:55:44

Python編程技術(shù)

2024-05-15 15:27:39

2024-01-03 16:01:23

2024-12-18 16:16:10

Python圖像處理

2023-11-15 13:04:30

Python提取表格

2021-02-20 09:27:36

Python編程語言機(jī)器學(xué)習(xí)

2012-06-04 10:16:18

HTML5

2010-10-08 10:03:52

JavaScript圖像

2022-12-26 00:43:26

python擴(kuò)展庫可視化

2022-08-31 09:52:19

Python圖像處理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號