『壹』 python PIL的斗爭與未壓縮的16位TIFF圖像問題,怎麼解決
關於Pillow與PIL
PIL(Python Imaging Library)Python強便圖像處理庫名氣比較支持Python 2.7
PIL官網站:
PillowPIL派支今已經發展比PIL本身更具力圖像處理庫目前新版本3.0.0
PillowGithub主頁:
Pillow文檔(應版本v3.0.0):
Pillow文檔文翻譯(應版本v2.4.0):
Python 3.x 安裝Pillow
給Python安裝Pillow非簡單使用pip或easy_install要行代碼即
命令行使用PIP安裝:
pip install Pillow
或命令行使用easy_install安裝:
easy_install Pillow
安裝完使用from PIL import Image引用使用庫比:
from PIL import Image
im = Image.open("bride.jpg")
im.rotate(45).show()
簡單便
『貳』 怎麼用 Python 將 pdf,doc 等轉換成 jpg
1.PDFFactory Pro虛擬列印機,安裝後,在任何文檔中,選擇列印時,選擇列印機為pdfFactoryPro,就能生成PDF文件,並可以進行安全設置。
2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的經典產品,專為轉換文件而研發的高品質列印驅動,以運行穩定、轉換速度快和圖像質量高而著稱,通過虛擬列印技術可以完美的將任意可列印文檔轉換成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。
3.雪瑩DocConvert虛擬列印轉換。雪瑩DocConvert是一款文檔轉化工具,它通過虛擬列印的技術將任何文檔轉化為PDF,JPG,BMP,TIFF,PCX,PNG等等文檔格式。
4.EasyPrint(虛擬列印機) V2.1,本軟體實現的功能是把指定文檔列印到文件,成為標準的BMP點陣圖,實現無紙列印的功能。主要應用在需要把一些文件列印後掃描再處理,或者一些需要列印效果的軟體的插件。例如:把WORD文件列印到BMP文件,然後進行處理
『叄』 python將圖像分割成兩半
importos
importre
importsys
importtime
importrandom
#addsystemheadershere...
#導入cv模塊
importcv2ascv
#讀取圖像,支持bmp、jpg、png、tiff等常用格式
height=0
length=0
key=0
picPath="E:\python3.4.0-amd\project\imageProcess\tamamo.jpg"
ifnotos.path.exists(picPath):
print("picturenotexists!exit!")
sys.exit()
srcImage=cv.imread(picPath)
ifsrcImageisNone:
print("readpicturefailed!exit!")
sys.exit()
size=srcImage.shape
height=size[0]
length=size[1]
print("srcImage:height(%u)length(%u)"%(height,length))
#顯示原圖
#cv.imshow("srcImage",srcImage)
#創建窗口並顯示圖像
mid=int(length/2)
leftImage=srcImage[0:height,0:mid]
cv.namedWindow("leftImage",cv.WINDOW_NORMAL)
cv.resizeWindow("leftImage",mid,height)
cv.imshow("leftImage",leftImage)
rightIamge=srcImage[0:height,mid:length]
cv.namedWindow("rightIamge",cv.WINDOW_NORMAL)
cv.resizeWindow("rightIamge",mid,height)
cv.imshow("rightIamge",rightIamge)
cv.waitKey(0)
#釋放窗口
cv.destroyAllWindows()
『肆』 10 個 Python 圖像編輯工具
以下提到的這些 Python 工具在編輯圖像、操作圖像底層數據方面都提供了簡單直接的方法。
-- Parul Pandey
當今的世界充滿了數據,而圖像數據就是其中很重要的一部分。但只有經過處理和分析,提高圖像的質量,從中提取出有效地信息,才能利用到這些圖像數據。
常見的圖像處理操作包括顯示圖像,基本的圖像操作,如裁剪、翻轉、旋轉;圖像的分割、分類、特徵提取;圖像恢復;以及圖像識別等等。Python 作為一種日益風靡的科學編程語言,是這些圖像處理操作的最佳選擇。同時,在 Python 生態當中也有很多可以免費使用的優秀的圖像處理工具。
下文將介紹 10 個可以用於圖像處理任務的 Python 庫,它們在編輯圖像、查看圖像底層數據方面都提供了簡單直接的方法。
scikit-image 是一個結合 NumPy 數組使用的開源 Python 工具,它實現了可用於研究、教育、工業應用的演算法和應用程序。即使是對於剛剛接觸 Python 生態圈的新手來說,它也是一個在使用上足夠簡單的庫。同時它的代碼質量也很高,因為它是由一個活躍的志願者社區開發的,並且通過了 同行評審(peer review)。
scikit-image 的 文檔 非常完善,其中包含了豐富的用例。
可以通過導入 skimage 使用,大部分的功能都可以在它的子模塊中找到。
圖像濾波(image filtering):
使用 match_template() 方法實現 模板匹配(template matching):
在 展示頁面 可以看到更多相關的例子。
NumPy 提供了對數組的支持,是 Python 編程的一個核心庫。圖像的本質其實也是一個包含像素數據點的標准 NumPy 數組,因此可以通過一些基本的 NumPy 操作(例如切片、 掩膜(mask)、 花式索引(fancy indexing)等),就可以從像素級別對圖像進行編輯。通過 NumPy 數組存儲的圖像也可以被 skimage 載入並使用 matplotlib 顯示。
在 NumPy 的 官方文檔 中提供了完整的代碼文檔和資源列表。
使用 NumPy 對圖像進行 掩膜(mask)操作:
像 NumPy 一樣, SciPy 是 Python 的一個核心科學計算模塊,也可以用於圖像的基本操作和處理。尤其是 SciPy v1.1.0 中的 scipy.ndimage 子模塊,它提供了在 n 維 NumPy 數組上的運行的函數。SciPy 目前還提供了 線性和非線性濾波(linear and non-linear filtering)、 二值形態學(binary morphology)、 B 樣條插值(B-spline interpolation)、 對象測量(object measurements)等方面的函數。
在 官方文檔 中可以查閱到 scipy.ndimage 的完整函數列表。
使用 SciPy 的 高斯濾波 對圖像進行模糊處理:
PIL (Python Imaging Library) 是一個免費 Python 編程庫,它提供了對多種格式圖像文件的打開、編輯、保存的支持。但在 2009 年之後 PIL 就停止發布新版本了。幸運的是,還有一個 PIL 的積極開發的分支 Pillow ,它的安裝過程比 PIL 更加簡單,支持大部分主流的操作系統,並且還支持 Python 3。Pillow 包含了圖像的基礎處理功能,包括像素點操作、使用內置卷積內核進行濾波、顏色空間轉換等等。
Pillow 的 官方文檔 提供了 Pillow 的安裝說明自己代碼庫中每一個模塊的示例。
使用 Pillow 中的 ImageFilter 模塊實現圖像增強:
OpenCV(Open Source Computer Vision 庫)是計算機視覺領域最廣泛使用的庫之一, OpenCV-Python 則是 OpenCV 的 Python API。OpenCV-Python 的運行速度很快,這歸功於它使用 C/C++ 編寫的後台代碼,同時由於它使用了 Python 進行封裝,因此調用和部署的難度也不大。這些優點讓 OpenCV-Python 成為了計算密集型計算機視覺應用程序的一個不錯的選擇。
入門之前最好先閱讀 OpenCV2-Python-Guide 這份文檔。
使用 OpenCV-Python 中的 金字塔融合(Pyramid Blending)將蘋果和橘子融合到一起:
SimpleCV 是一個開源的計算機視覺框架。它支持包括 OpenCV 在內的一些高性能計算機視覺庫,同時不需要去了解 位深度(bit depth)、文件格式、 色彩空間(color space)之類的概念,因此 SimpleCV 的學習曲線要比 OpenCV 平緩得多,正如它的口號所說,「將計算機視覺變得更簡單」。SimpleCV 的優點還有:
官方文檔 簡單易懂,同時也附有大量的學慣用例。
文檔 包含了安裝介紹、示例以及一些 Mahotas 的入門教程。
Mahotas 力求使用少量的代碼來實現功能。例如這個 Finding Wally 游戲 :
ITK (Insight Segmentation and Registration Toolkit)是一個為開發者提供普適性圖像分析功能的開源、跨平台工具套件, SimpleITK 則是基於 ITK 構建出來的一個簡化層,旨在促進 ITK 在快速原型設計、教育、解釋語言中的應用。SimpleITK 作為一個圖像分析工具包,它也帶有 大量的組件 ,可以支持常規的濾波、圖像分割、 圖像配准(registration)功能。盡管 SimpleITK 使用 C++ 編寫,但它也支持包括 Python 在內的大部分編程語言。
有很多 Jupyter Notebooks 用例可以展示 SimpleITK 在教育和科研領域中的應用,通過這些用例可以看到如何使用 Python 和 R 利用 SimpleITK 來實現互動式圖像分析。
使用 Python + SimpleITK 實現的 CT/MR 圖像配准過程:
pgmagick 是使用 Python 封裝的 GraphicsMagick 庫。 GraphicsMagick 通常被認為是圖像處理界的瑞士軍刀,因為它強大而又高效的工具包支持對多達 88 種主流格式圖像文件的讀寫操作,包括 DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF 等等。
pgmagick 的 GitHub 倉庫 中有相關的安裝說明、依賴列表,以及詳細的 使用指引 。
圖像縮放:
邊緣提取:
Cairo 是一個用於繪制矢量圖的二維圖形庫,而 Pycairo 是用於 Cairo 的一組 Python 綁定。矢量圖的優點在於做大小縮放的過程中不會丟失圖像的清晰度。使用 Pycairo 可以在 Python 中調用 Cairo 的相關命令。
Pycairo 的 GitHub 倉庫 提供了關於安裝和使用的詳細說明,以及一份簡要介紹 Pycairo 的 入門指南 。
使用 Pycairo 繪制線段、基本圖形、 徑向漸變(radial gradients):
以上就是 Python 中的一些有用的圖像處理庫,無論你有沒有聽說過、有沒有使用過,都值得試用一下並了解它們。
via: https://opensource.com/article/19/3/python-image-manipulation-tools
作者: Parul Pandey 選題: lujun9972 譯者: HankChow 校對: wxy
『伍』 python 用PIL打開TIFF格式圖片無法轉換為灰度圖是為什麼一直報錯,有代碼注釋,和錯誤截圖
It's either a bug or unimplemented in PIL/Pillow. Here is a workaround:
import Image
image = Image.open("Fredy1_002.tif")
image.mode = 'I'
image.point(lambda i:i*(1./256)).convert('L').save('my.jpeg')