pythonimagemagick
① 求助.python使用matplotlib出錯
為了避免各種問題,請使用最新的2.7.13安裝文件
1、先設置好環境變數
在path變數中設置好以下路徑:
C:\Python27\Scripts
C:\Python27
2、大部分報錯問題都是因為庫與庫之間存在依賴關系
matplotlib依賴dateutil和pyparsing,如果Python裡面沒有安裝dateutil和pyparsing,那麼後續使用matplotlib的時候很可能會遇到依賴問題。所以需要安裝dateutil。
進入下面網址,找到matplotlib,可以看到所需要的各種包的描述。
http://www.lfd.uci.e/~gohlke/pythonlibs/#python-dateutil
http://www.lfd.uci.e/~gohlke/pythonlibs/#pyparsing
Matplotlib, a 2D plotting library.
Requires numpy, dateutil, pytz, pyparsing, cycler, setuptools, and optionally pillow, pycairo, tornado, wxpython, pyside, pyqt4, ghostscript, miktex, ffmpeg, mencoder, avconv, or imagemagick.
所以上面這些包肯定是都需要有的,如果沒有遇到問題,可能是因為代碼中沒有引用這些包而已;或者已經安裝了。
2.1、使用easy_install.exe來安裝所需要依賴的包
現在dateutil使用easy_install命令來安裝,(easy_install會自己從網路上需要最新的合適的包來安裝,所以不需要你自己去尋找和下載)
只需要輸入 easy_install python-dateutil 命令就可以。
如果找不到easy_install 命令,要麼是你的環境變數沒有設置好,請參考1。要麼是你的python包太老,沒有預裝easy_install,那就參考3,先安裝easy_install
3、安裝easy_install.exe, 手動下載安裝包到本地安裝
https://pypi.python.org/pypi/setuptools
找到ez_setup.py文件,下載到本地E:\iso\VisualStudio2010\ (我是下載到這里,你自己就隨意吧)
在cmd窗口下面,輸入:
Python E:\iso\VisualStudio2010\ez_setup.py
成功後,C:\Python27\Scripts\目錄下會多了easy_install.exe
4、使用easy_install.exe安裝dateutil和pyparsing。。
反正根據提示,缺啥就用easy_install安裝啥,這個easy_install是按照關鍵字來搜索安裝包的。
easy_install python-dateutil
easy_install pyparsing
easy_install pip
4.1、如果不用easy_install.exe安裝,也可以使用pip通過本地安裝或者網路安裝
使用pip安裝 的命令是: pip install numpy
如果要手動把包下載到本地再安裝,請參考6
5、把路徑如:C:\Python27\Lib\site-packages\scipy\lib中的six.py six.pyc six.pyo三個文件拷貝到C:\Python27\Lib\site-packages目錄下。
6、使用下載到本地的whl來安裝各種包
在下面頁面下載所對應的32bit或者64bit,區分python2.7還是python3的
http://www.lfd.uci.e/~gohlke/pythonlibs/#numpy
numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl
pandas-0.18.1-cp27-cp27m-win_amd64.whl
scipy-0.17.1-cp27-cp27m-win_amd64.whl
matplotlib-1.5.2-cp27-cp27m-win_amd64.whl
把上面這些需要的whl放到python的scripts目錄下,然後用下面的命令來安裝即可
c:\Python27-x64\Scripts>
pip install pandas-0.18.1-cp27-cp27m-win_amd64.whl
② 求教imagemagick安裝方法
imagemagick安裝
以linux下源碼安裝為例,首先到ImageMagick官方網站上下載最新的ImageMagick源碼包,當前最新版本的源碼包為ImageMagick-6.7.9-3.tar.gz,下載完畢後,開始進行安裝。
首先,進入文件下載目錄,解壓源碼包:
復制代碼代碼示例:
java">cd./Downloads
tarxzvfImageMagick-6.7.9-3.tar.gz
文件解壓完後,進入解壓目錄:
復制代碼代碼示例:
cdImageMagick-6.7.9-3/
下面開始ImageMagick安裝三部曲:
復制代碼代碼示例:
./configure
在這個過程中,它會對系統的編譯鏈接環境以及ImageMagick所依賴的第三方庫進行檢查。
注意,ImageMagick在處理圖片時需要依賴jpeg、png等第三方圖片庫,如果程序需要處理這些格式的圖片,需要確保這些庫已經正確的安裝,./configure結束後會輸出一個檢查報告,如下圖:
圖中顯示,在當前系統中沒有安裝jpeg第三方庫,由於業務需要處理jpeg格式的圖片,因此在安裝ImageMagick之前,需要先安裝好jpeg第三方庫。
下載最新的源碼包jpegsrc.v8d.tar.gz,安裝過程和ImageMagick基本上一樣。
安裝完jpeg庫後,就可以繼續安裝ImageMagick了。
make
sudomakeinstall
默認的ImageMagick會被安裝到/usr/local路徑下,安裝成功後就可以在命令行模式下使用ImageMagick了。
③ python如何識別驗證碼
我們首先識別最簡單的一種驗證碼,即圖形驗證碼。這種驗證碼最早出現,現在也很常見,一般由4位字母或者數字組成。例如,中國知網的注冊頁面有類似的驗證碼,頁面如下所示:
表單中最後一項就是圖形驗證碼,我們必須完全正確輸入圖中的字元才可以完成注冊。
更多有關驗證碼的知識,可以參考這些文章:
Python3爬蟲進階:識別圖形驗證碼
Python3爬蟲進階:識別極驗滑動驗證碼
Python3爬蟲進階:識別點觸點選驗證碼
Python3爬蟲進階:識別微博宮格驗證碼
·本節目標以知網的驗證碼為例,講解利用OCR技術識別圖形驗證碼的方法。
·准備工作識別圖形驗證碼需要庫tesserocr,以mac安裝為例:在mac下,我們首先使用Homebrew安裝ImageMagick和tesseract庫: brew install imagemagickbrew install tesseract 接下來再安裝tesserocr即可:pip3 install tesserocr pillow這樣我們就完成了 tesserocr的安裝。
·獲取驗證碼為了便於實驗,我們先將驗證碼的圖片保存到本地。打開開發者工具,找到驗證碼元素。驗證碼元素是一張圖片,它的ser屬 性是CheckCode.aspk。所以我們直接打開如下鏈接就可以看到一個驗證碼,右鍵保存即可,將其命名為code.jpg:
這樣我們就得到一張驗證碼圖片,以供測試識別使用。
相關推薦:《Python教程》
識別測試
接下來新建一個項目,將驗證碼圖片放到項目根目錄下,用tesserocr庫識別該驗證碼,代碼如下所示:
這里我們新建了一個Image對戲那個,調用了tesserocr的image_to_text( )方法。傳入該Image對象即可完成識別,實現過程非常簡單,結果如下:
我們可以看到,識別的結果和實際結果有偏差,這是因為驗證碼內的多餘線條干擾了圖片的識別。
另外,tesserocr還有一個更加簡單的方法,這個方法可以直接將圖片文件轉為字元串,代碼如下:
不過這種方法的識別效果不如上一種的好。
驗證碼處理
對於上面的圖片,我們可以看到其實並沒有完全識別正確,所以我們需要對圖像作進一步的處理,如灰度轉換、二值化等操作。
我們可以利用Image對象的convert( )方法參數傳入L,即可將圖片轉化為灰度圖像,代碼如下:
傳入1即可將圖片進行二值化處理,如下所示:
我們還可以指定二值化的閾值。上面的方法採用的是默認閾值127。不過我們不能直接轉化原圖,要將原圖先轉化為灰度圖像,然後再指定二值化閾值,代碼如下:
在這里,變數threshold代表二值化閾值,閾值設置為160,之後我們來看看我們的結果:
我們可以看到現在的二維碼就比較方便我們進行識別了;那麼對於一些有干擾的圖片,我們做一些灰度和二值化處理,這會提高圖片識別的正確率。
④ 如何安裝imagemagick
一、ImageMagick介紹
ImageMagick是用c語言開發圖片處理程序。可以對圖片進行改變大小、旋轉、銳化、減色或增加特效等操作。對圖片的操作,即可以通過命令行進行,也可以用C/C++、Perl、Java、php、Python或Ruby編程來完成。
ImageMagick 的官網是:http:// www .imagemagick.org/script/index.php
由於我們是java項目,直接使用java通過JNI技術調用ImageMagick是不行的。因為ImageMagick開發時沒有使用java JNI生成的頭文件。
可以使用jmagick解決,jmagick是由c語言開發的,開發時使用了java JNI生成的頭文件,所以java可以通過JNI技術調用jmagick。jmagick再調用ImageMagick。這們我們處理圖片使用的是jmagick暴露的java介面。
也可以使用JNA來調用ImageMagick,JNA全稱是Java Native Access,JNA是在JNI的基礎上完善的,方便的我們開發的。JNA項目主頁是https:// github.com/twall/jna。使用JNA來調用ImageMagick就須要直接操作ImageMagick提供的C介面(API)。
二、在Linux上用源碼安裝ImageMagick與jmagick
我們使用jmagick,在ImageMagick官網首頁左側菜單的Program Interfaces菜單中找到jmagick。進入jmagick的主頁。
我們使用6.4版本,下載地下是:
http:// d ownloads.jmagick.org/6.4.0/
我們下載:
ImageMagick-6.4.0-0.tar.gz
jmagick-6.4.0-src.tar.gz
文檔在:
http:// downloads.jmagick.org/jmagick-doc/
-----------------------------------------------------------
解壓ImageMagick,查看ImageMagick的安裝說明文件Install-unix.txt就知道怎麼安裝ImageMagick了。
解壓jmagick,查看jmagick的安裝說明文件INSTALL就知道怎麼安裝jmagick了。
-----------------------------------------------------------
安裝ImageMagick
修改文件執行許可權:chmod -R 755 文件名
tar zvxf ImageMagick-6.4.0-0.tar.gz
cd ImageMagick-6.4.0-0
./configure --prefix=/opt360/ImageMagick-6.4.0 --with-quantum-depth=8
make
make install
--卸載:make uninstall
關於Q8,Q16,Q32的說明:
Q8表示: 8-bits per pixel quantum
Q16表示:16-bits per pixel quantum
在 Install-unix.txt文件中的解釋說明,避免翻譯的不好誤導大家,請大家自己去看原文吧。大意是:大多數電腦顯示使用8-bit per pixel quantums。使用16-bit per pixel quantums在處理圖片時比8-bit慢15%至50%,並須要更多的內存。
處理一張1024x768像素的圖片8-bit要使用3M內存,16-bit要使用8M內存。
8-bit可表示0-255種值,16-bit可表示0-65535種值。
默認值是8-bit.
-----------------------------------------------------------
安裝jmagick
修改文件執行許可權:chmod -R 755 文件名
tar zvxf jmagick-6.4.0-src.tar.gz
cd jmagick-6.4.0-src
./configure --prefix=/opt360/jmagick-6.4.0 --with-java-home=/home/jdk/jdk1.6.0_12 -with-magick-home=/opt360/ImageMagick-6.4.0
make all
make install
下面幾步測試可以不執行
make simpletest 因沒有Junit的jar包報2個錯誤,不用管。
make test
make javadoc
安裝成功後,在/opt360/jmagick-6.4.0/lib/有一個jmagick-6.4.0.jar文件,在你的java項目中就使用這個jar文件處理圖片。
記住jmagick-6.4.0.jar是使用前面你指定的jdk1.6編譯出來的,所以不能在jdk為1.5的環境下使用jmagick-6.4.0.jar。
如果你執行了make javadoc,在/opt360/jmagick-6.4.0/share/doc目錄下就有文檔。
⑤ 如何用python控制imagemagick
用法:convert [input-option] input-file [output-option] output-file 命令:convert --help 或 man convert 可查看相關說明
⑥ win7(64位) 下 ImageMagick 與python
新聞 網頁 貼吧 知道 MP3 圖片 視頻 網路 文庫 幫助 | 設置
網路知道 > 電腦/網路 > 軟體 > 圖像處理軟體
win7(64位) 下 ImageMagick 與python 懸賞分:0 | 離問題結束還有 14 天 11 小時 | 提問者:zyymat
win7 (64位)下, ImageMagick 與 python 應該用哪個版本?
最合適的ImageMagick版本 應該是 ImageMagick-6.6.8-8-Q16-windows-x64-dll.exe ?
python 有兩個: 2.7.1 與 3.2. 合適的是哪個? 好像記得還有個 library 。
謝謝!
⑦ 利用Python如何製作好玩的GIF動圖詳解
import sysimport numpy as npimport matplotlib.pyplot as pltfrom matplotlib.animation import FuncAnimation fig, ax = plt.subplots()fig.set_tight_layout(True) # 詢問圖形在屏幕上的大小和DPI(每英寸點數)# 注意當把圖形保存為文件時,需要為此單獨再提供一個DPIprint('fig size: {0} DPI, size in inches {1}'.format( fig.get_dpi(), fig.get_size_inches())) # 繪制一個保持不變(不會被重新繪制)的散點圖以及初始直線x = np.arange(0, 20, 0.1)ax.scatter(x, x + np.random.normal(0, 3.0, len(x)))line, = ax.plot(x, x - 5, 'r-', linewidth=2) def update(i): label = 'timestep {0}'.format(i) print(label)# 更新直線和軸(用一個新X軸標簽) # 以元組形式返回這一幀需要重新繪制的物體 line.set_ydata(x - 5 + i) ax.set_xlabel(label) return line, ax if __name__ == '__main__': # 會為每一幀調用Update函數 # 這里FunAnimation設置一個10幀動畫,每幀間隔200ms anim = FuncAnimation(fig, update, frames=np.arange(0, 10), interval=200) if len(sys.argv) > 1 and sys.argv[1] == 'save': anim.save('line.gif', dpi=80, writer='imagemagick') else: # Plt.show()會一直循環動畫 plt.show()
⑧ 怎麼用Python製作一個好玩炫酷的GIF動態圖
importsys
importnumpyasnp
importmatplotlib.pyplotasplt
frommatplotlib.animationimportFuncAnimation
fig,ax=plt.subplots()
fig.set_tight_layout(True)
#詢問圖形在屏幕上的大小和DPI(每英寸點數)
#注意當把圖形保存為文件時,需要為此單獨再提供一個DPI
print('figsize:{0}DPI,sizeininches{1}'.format(
fig.get_dpi(),fig.get_size_inches()))
#繪制一個保持不變(不會被重新繪制)的散點圖以及初始直線
x=np.arange(0,20,0.1)
ax.scatter(x,x+np.random.normal(0,3.0,len(x)))
line,=ax.plot(x,x-5,'r-',linewidth=2)
defupdate(i):
label='timestep{0}'.format(i)
print(label)
#更新直線和軸(用一個新X軸標簽)
#以元組形式返回這一幀需要重新繪制的物體
line.set_ydata(x-5+i)
ax.set_xlabel(label)
returnline,ax
if__name__=='__main__':
#會為每一幀調用Update函數
#這里FunAnimation設置一個10幀動畫,每幀間隔200ms
anim=FuncAnimation(fig,update,frames=np.arange(0,10),interval=200)
iflen(sys.argv)>1andsys.argv[1]=='save':
anim.save('line.gif',dpi=80,writer='imagemagick')
else:
#Plt.show()會一直循環動畫
plt.show()
可以生成下面這種圖
⑨ 怎樣利用python將pdf轉換成jpg格式
可以用第三方庫wand實現(我的環境:win10、python3)
需要安裝wand 、imagemagick和ghostscript
wand的安裝很簡單:直接cmd 運行pip install wand
然後安裝imagemagick ,從這里下載網頁鏈接,注意是32位還是64位,這個需要和python的位數一致。
安裝過程注意勾選Install development headers and libraries for C and C++ 。安裝後設置MAGICK_HOME環境變數,值為imagemagick的安裝路徑,並將安裝路徑加入path。
詳情可參照此頁面網頁鏈接。
最後安裝ghostscript,這里下載網頁鏈接,選擇AGPL release,注意32位還是64位。
安裝過程很簡單,一路點擊next,如果不想安裝在c盤,可以改變安裝路徑,這個沒有影響。
最後上代碼(很簡單):
#-*-coding:utf-8-*-
fromwand.imageimportImage
withImage(filename="pdf_file_name",resolution=300)asimg:
img.format='jpeg'
img.save(filename='converted.jpg')
上面的pdf_file_name輸入要處理的pdf文件名,最後會在當前目錄下生成converted.jpg
說明:這幾行代碼比較簡單,處理頁數較少的pdf還行,頁數太多會卡住。但是可以用pyPDF2分割pdf然後轉換,這是一種思路,關於pyPDF2的教程自行網路吧。
⑩ ImageMagick是做什麼用的
ImageMagick是一套穩定的工具集和開發包,可以用來讀、寫和處理超過89種基本格式的圖片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根據web應用程序的需要動態生成圖片, 還可以對一個圖片或圖片序列進行改變大小、旋轉、銳化、減色或增加特效,並將操作的結果以相同格式或其它格式保存。對圖片的操作,可以通過命令行進行,也可以用C/C++、Perl、Java、PHP、Python或Ruby編程來完成。同時ImageMagick提供了一個高質量的2D工具包,部分地支持SVG。現在,ImageMagic的主要精力集中在性能、減少bug以及提供穩定的API和ABI上。
ImageMagick功能強大,卻免費的。
ImageMagick的功能
包括:
將圖片從一個格式轉換到另一個格式
改變尺寸、旋轉、銳化(sharpen)、減色、圖片特效
縮略圖片的合成圖( a montage of image thumbnails)
適於web的背景透明的圖片
將一組圖片做成gif動畫
將幾張圖片做成一張組合圖片
在一個圖片上寫字或畫圖形
給圖片加邊框或框架
取得一些圖片的特性信息
http://hedong.3322.org/archives/000339.html