Python实用模块推荐4:imutils

imutils是Adrian Rosebrock开发的一个python工具包,它整合了opencv、numpy和matplotlib的相关操作,主要是用来进行图形图像的处理,如图像的平移、旋转、缩放、骨架提取、显示等等,后期又加入了针对视频的处理,如摄像头、本地文件等。imutils同时支持python2和python3。

安装`imutils

pip install imutils

如果需要查看源码的话,可以通过命令pip download imutils来下载

图片的平移

图片的平移是指将图片在X轴或Y轴上移动。opencv中也提供了图片平移的实现,首先需要根据X和Y轴上的变化构建一个平移矩阵M然后调用cv2.warpAffine()实现平移。imutils封装了opencv中的平移操作。

import cv2

import imutils

image = cv2.imread(‘dj.jpeg’)

translated = imutils.translate(image, 25, -75)

cv2.imwrite(‘translated.jpg’, translated)translated

图片的旋转

方法是imutils.rotate(),跟2个参数,第一个是图片数据,第二个是旋转的角度,旋转是朝逆时针方向。同时imutils还提供了另一个相似的方法, rotate_round(),它就是按顺时针旋转的。

import cv2

import imutils

image = cv2.imread(‘dj.jpeg’)

rotated = imutils.rotate(image, 90)

cv2.imwrite(‘rotated_90.jpg’, rotated)

rotated_round = imutils.rotate_bound(image, 90)

cv2.imwrite(‘rotated_90_round.jpg’, rotated_round)rotated

图片的缩放

对图片的缩放,imutils是会保持原有图片的宽高比的, 函数是imutils.resize(),方法中可以指定宽度width=或者height=,两者取其一就可以了。

一点补充

大神Adrian Rosebrock自己维护了一个个人博客网站,地址是 https://www.pyimagesearch.com, 不定期放出计算机视觉及人工智能相关的教程,解释详尽,图文并茂,更赞的是还附带全部源码,非常值得经常去逛逛。

原创文章,作者:霜天,如若转载,请注明出处:https://www.i5seo.com/python-shi-yong-mo-kuai-tui-jian-4-imutils.html

发表评论

登录后才能评论