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

Python圖像處理常用操作技巧總結(jié)

開發(fā) 后端
Python圖像處理在實(shí)際應(yīng)用中是一個(gè)比較基礎(chǔ)的操作技巧。我們將會(huì)在這篇文章中為大家詳細(xì)介紹一下這方面的一些操作技巧。

Python編程語言在實(shí)際應(yīng)用中為我們帶來了非常大的好處。其簡單易用的好處極大的吸引了大部分開發(fā)人員的眼球。在這里我們將會(huì)通過對(duì)Python圖像處理的相關(guān)方法,來體驗(yàn)一下這一語言給我們帶來的好處。#t#

雖然圖像處理的最佳工具是MATLAB的圖像處理工具箱,但是在進(jìn)行一些“簡單的”圖像處理任務(wù)或者大批量的簡單圖像處理任務(wù)的時(shí)候,Python圖像處理的方法更有優(yōu)勢。

1.引言:

提到圖像處理,人們通常想到的工具是MATLAB。誠然,MATLAB提供了一個(gè)強(qiáng)大的圖像處理工具箱。但是,對(duì)于簡單的圖像處理任務(wù)而言,采用一種高級(jí)的語言將起到事半功倍的效果。Python無疑就是實(shí)現(xiàn)這一功能的理想選擇。Python的面向?qū)ο?、弱?shù)據(jù)類型等等特性都使得用它來進(jìn)行簡單的圖像處理的時(shí)候非常的簡潔方便。

2.簡介:

PythonWare公司提供了免費(fèi)的Python圖像處理工具包PIL(Python Image Library),該軟件包提供了基本的圖像處理功能,如:改變圖像大小,旋轉(zhuǎn)圖像,圖像格式轉(zhuǎn)換,色場空間轉(zhuǎn)換,圖像增強(qiáng),直方圖處理,插值和濾波等等。雖然在這個(gè)軟件包上要實(shí)現(xiàn)類似MATLAB中的復(fù)雜的圖像處理算法并不太適合,但是Python的快速開發(fā)能力以及面向?qū)ο蟮鹊戎T多特點(diǎn)使得它非常適合用來進(jìn)行原型開發(fā)。

在PIL中,任何一副圖像都是用一個(gè)Image對(duì)象表示,而這個(gè)類由和它同名的模塊導(dǎo)出,因此,要加載一副圖像,最簡單的形式是這樣的:

  1. import Image   
  2. img = Image.open(“dip.jpg”)  

注意:第一行的Image是模塊名;第二行的img是一個(gè)Image對(duì)象; Image類是在Image模塊中定義的。關(guān)于Image模塊和Image類,切記不要混淆了?,F(xiàn)在,我們就可以對(duì)img進(jìn)行各種操作了,所有對(duì)img的操作最終都會(huì)反映到到dip.img圖像上。

PIL提供了豐富的功能模塊:Image,ImageDraw,ImageEnhance,ImageFile等等。最常用到的模塊是Image,ImageDraw,ImageEnhance這三個(gè)模塊。下面我對(duì)此分別做一介紹。關(guān)于其它模塊的使用請(qǐng)參見說明文檔.有關(guān)PIL軟件包和相關(guān)的說明文檔可在PythonWare的站點(diǎn)www.Pythonware.com上獲得。

3.Image模塊:

Image模塊是PIL最基本的模塊,其中導(dǎo)出了Image類,一個(gè)Image類實(shí)例對(duì)象就對(duì)應(yīng)了一副圖像。同時(shí),Image模塊還提供了很多有用的函數(shù)。

(1)打開一副圖像文件:

  1. import Image   
  2. img = Image.open(“dip.jpg”)  

這將返回一個(gè)Image類實(shí)例對(duì)象,后面的所有的操作都是在img上完成的。

(2)調(diào)整圖像大小:

  1. import Image   
  2. img = Image.open("img.jpg")   
  3. new_img = img.resize((128,128),Image.BILINEAR)   
  4. new_img.save("new_img.jpg")  

原來的圖像大小是256x256,現(xiàn)在,保存的new_img.jpg的大小是128x128。

就是這么簡單,需要說明的是Image.BILINEAR指定采用雙線性法對(duì)像素點(diǎn)插值。

(3)旋轉(zhuǎn)圖像:

現(xiàn)在我們把剛才調(diào)整過大小的圖像旋轉(zhuǎn)45度:

  1. import Image   
  2. img = Image.open("img.jpg")   
  3. new_img = img.resize((128,128),Image.BILINEAR)   
  4. rot_img = new_img.rotate(45)   
  5. rot_img.save("rot_img.jpg")  

總結(jié):

在批處理或者簡單的Python圖像處理任務(wù)中,采用Python和PIL(Python Image Library)的組合來完成圖像處理任務(wù)是一個(gè)很不錯(cuò)的選擇。設(shè)想有一個(gè)需要對(duì)某個(gè)文件夾下的所有圖像將對(duì)比度提高2倍的任務(wù)。用Python來做將是十分簡單的。當(dāng)然,我也不得不承認(rèn)Python在圖像處理方面的功能還比較弱,顯然還不適合用來進(jìn)行濾波、特征提取等等一些更為復(fù)雜的應(yīng)用。我個(gè)人的觀點(diǎn)是,當(dāng)你要實(shí)現(xiàn)這些“高級(jí)”的算法的時(shí)候,好吧,把它交給MATLAB去完成。但是,如果你面對(duì)的只是一個(gè)通常的不要求很復(fù)雜算法的圖像處理任務(wù),那么,Python應(yīng)該才是你的最佳搭檔。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2016-10-21 14:35:52

Pythonwebget方法

2016-10-20 20:21:09

Python爬蟲技巧

2020-06-04 10:49:53

Pandas字符串技巧

2010-10-08 10:03:52

JavaScript圖像

2010-01-27 16:35:54

Android常用技巧

2009-08-25 16:49:28

.NET Excel

2023-12-14 15:22:39

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

2020-10-19 19:25:32

Python爬蟲代碼

2023-11-30 16:05:17

2024-12-18 16:16:10

Python圖像處理

2009-12-24 16:11:07

WPF圖像處理

2022-08-25 17:47:21

PythonExcel

2013-06-03 11:28:05

shell命令

2011-09-02 10:06:51

OracleSqlLoad常用技巧

2022-10-25 16:36:03

機(jī)器學(xué)習(xí)深度學(xué)習(xí)數(shù)據(jù)集

2010-01-05 17:59:54

.NET Framew

2016-08-22 17:37:24

Python圖像處理搜索引擎

2010-02-02 17:18:16

Python圖像處理

2010-02-23 16:32:14

Python編程

2019-10-29 09:20:48

Python文本正則表達(dá)式
點(diǎn)贊
收藏

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