我在我的脚本中使用cv2
和Pillow
:
image = Image.open("img1.png")
#do some stuff to the image
image.save("result1.png")
image = cv2.imread("result1.png")
kernel = np.ones((5, 5), np.uint8)
dilated_image = cv2.dilate(image, kernel, iterations=3)
cv2.imwrite("result2.png", dilated_image)
final_image = Image.open("result2.png")
#do some other stuff to the image
final_image.save("final_result.png")
如您所见,我必须在OpenCV
和Pillow
之间切换,并保存三张图片。我想要的是仅保存一个结果,而不是三个。
有没有办法,我可以继续使用枕头,用几乎相同的执行速度扩大图像,而不使用cv2?
我已经尝试了image.filter(ImageFilter.MaxFilter(size=3))
,但是需要太多的CPU时间。花费太多时间的原因是,为了与cv2.dilate(image, kernel, iterations=5)
具有相同的效果,我应该至少使用image.filter(ImageFilter.MaxFilter(size=15))