一、简介
imutils 是一个 OpenCV 的 Python 封装库,简化了图像的处理,可以更方便的实现图像显示(使用 Matplotlib)、平移(Translate)、旋转(Rotate)、缩放(Resize)、骨架化(Skeletonizate)等操作。
二、安装
pip install imutils
三、基本使用
3.1 图像显示
imutils.opencv2matplotlib(img)
说明
将 OpenCV 默认的 BGR 图像格式转换为 RGB 格式,以便在 matplotlib 中显示
返回值
转换后的图像
参数
- img: 要转换的图像
示例
import cv2
import matplotlib.pyplot as plt
import imutils
img = cv2.imread("test.jpg")
plt.figure("img")
plt.imshow(imutils.opencv2matplotlib(img))
plt.show()
3.2 平移(Translate)
imutils.translate(img, x, y)
返回值
平移后的图像
参数
- img: 要移动的图像
- x: 沿x轴移动的距离
- y: 沿y轴移动的距离
示例
import cv2
import matplotlib.pyplot as plt
import imutils
img = cv2.imread("test.jpg")
translated = imutils.translate(img, 400, 400)
plt.figure("img")
plt.imshow(imutils.opencv2matplotlib(translated))
plt.show()
3.3 旋转(Rotate)
imutils.rotate(img, angle)
imutils.rotate_bound(img, angle)
说明
- rotate: 逆时针旋转
- rotate_bound: 顺时针旋转
返回值
旋转后的图像
参数
- img: 要旋转的图像
- angle: 要旋转的角度(角度制)
示例
import cv2
import matplotlib.pyplot as plt
import imutils
img = cv2.imread("test.jpg")
rotated = imutils.rotate(img, 90)
plt.figure("img")
plt.imshow(imutils.opencv2matplotlib(rotated))
plt.show()
3.4 缩放(Resize)
imutils.resize(img, width=width, [,height=height])
说明
在 imutils 中缩放会自动保持图片的宽高比,只需指定 weight 和 height 其中一个参数,就会根据图片原比例自动计算出另一个
返回值
缩放后的图像
参数
- img: 要缩放的图像
- width: 缩放后的图像宽度
- heigth: 缩放后的图像高度
示例
import cv2
import matplotlib.pyplot as plt
import imutils
img = cv2.imread("test.jpg")
resized = imutils.resize(img, width=300)
plt.figure("img")
plt.imshow(imutils.opencv2matplotlib(resized))
plt.show()
3.5 骨架化(Skeletonizate)
imutils.skeletonize(img, size=(3, 3))
返回值
处理后的图像
参数
- img: 要骨架化的图像,必须是灰度图
- size: 卷积核的大小
示例
import cv2
import matplotlib.pyplot as plt
import imutils
img = cv2.imread("test.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
skeletonized = imutils.skeletonize(gray, size=(3, 3))
plt.figure("img")
plt.imshow(imutils.opencv2matplotlib(skeletonized))
plt.show()
四、参考资料
-
python-imutils包简介使用_集电极的博客:https://blog.csdn.net/qq_38463737/article/details/118466096
-
PyImageSearch/imutils, Github: https://github.com/PyImageSearch/imutils