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