當前位置:編程學習大全網 - 編程語言 - 怎樣使用Python圖像處理

怎樣使用Python圖像處理

Python圖像處理是壹種簡單易學,功能強大的解釋型編程語言,它有簡潔明了的語法,高效率的高層數據結構,能夠簡單而有效地實現面向對象編程,下文進行對Python圖像處理進行說明。

當然,首先要感謝“戀花蝶”,是他的文章“用Python圖像處理 ” 幫我堅定了用Python和PIL解決問題的想法,對於PIL的壹些介紹和基本操作,可以看看這篇文章。我這裏主要是介紹點我在使用過程中的經驗。

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

但是利用convert函數將灰度圖轉換為二值圖時,是采用固定的閾 值127來實現的,即灰度高於127的像素值為1,而灰度低於127的像素值為0。為了能夠通過自定義的閾值實現灰度圖到二值圖的轉換,就要用到 Image.point函數。

深度剖析Python語法功能

深度說明Python應用程序特點

對Python數據庫進行學習研究

Python開發人員對Python經驗之談

對Python動態類型語言解析

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

可見,轉換過程的關鍵在於設計映射表,如果只是需要壹個簡單的箝位值,可以將table中高於或低於箝位值的元素分別設為1與0。當然,由於這裏的table並沒有什麽特殊要求,所以可以通過對元素的特殊設定實現(0, 255)範圍內,任意需要的壹對壹映射關系。

示例代碼如下:

import Image # load a color image im = Image.open(''fun.jpg'') # convert to grey level image Lim = im.convert(''L'') Lim.save(''fun_Level.jpg'') # setup a converting table with constant threshold threshold = 80 table = [] for i in range(256): if i < threshold: table.append(0) else: table.append(1) # convert to binary image by the table bim = Lim.point(table, ''1'') bim.save(''fun_binary.jpg'')

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

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

不過,幾乎人人都承認Python圖像處理的可讀性遠勝於C或者Java,後兩 者都采用了專門的字符標記代碼塊結構、循環、函數以及其他編程結構的開始和結束。提倡Python的人還宣稱,采用這些字符可能會產生顯著的編程風格差 異,使得那些負責維護代碼的人遭遇代碼可讀性方面的困難。轉載

  • 上一篇:人機交互專業世界大學排名
  • 下一篇:運用聯系的客觀性原理,分析互聯網的作用
  • copyright 2024編程學習大全網