python PIL和CV对 图片的读取,显示,裁剪,保存实现方法

  

下面我将为您讲解如何使用Python PIL和CV对图片进行读取、显示、裁剪和保存。

图片读取

使用PIL库可以轻松读取图片,只需要使用Image.open()函数并传入图片路径即可。

from PIL import Image

img = Image.open("example.jpg")

使用cv2库也可以读取图片,只需要使用cv2.imread()函数而不是Image.open()函数。

import cv2

img = cv2.imread("example.jpg")

需要注意的是,cv2中图片的格式是BGR而不是RGB,因此在后续处理中,需要注意这一点。

图片显示

使用PIL库实现图片展示,只需要使用Image.show()函数即可。

from PIL import Image

img = Image.open("example.jpg")
img.show()

使用cv2库实现图片展示,只需要使用cv2.imshow()函数即可,但需要注意的是需要再加上一行cv2.waitKey(0),否则图片会一闪而过。

import cv2

img = cv2.imread("example.jpg")

cv2.imshow("image", img)
cv2.waitKey(0)

图片裁剪

使用PIL库实现对图片的裁剪,只需要使用Image.crop()函数即可,该函数传入一个4元组,分别是(left, upper, right, lower),表示裁剪的区域。

from PIL import Image

img = Image.open("example.jpg")

crop_img = img.crop((0, 0, 100, 100))
crop_img.show()

使用cv2库实现对图片的裁剪,只需要使用切片操作即可。

import cv2

img = cv2.imread("example.jpg")

crop_img = img[0:100, 0:100]
cv2.imshow("image", crop_img)
cv2.waitKey(0)

需要注意的是,在使用切片操作时,参数顺序是(y:y+h, x:x+w),其中(x,y)是左上角的坐标,(w,h)是宽度和高度。

图片保存

使用PIL库将图片保存,只需要使用Image.save()函数即可,该函数传入图片保存的路径。

from PIL import Image

img = Image.open("example.jpg")

img.save("new_image.jpg")

使用cv2库将图片保存,只需要使用cv2.imwrite()函数,该函数传入路径和需要保存的图片。

import cv2

img = cv2.imread("example.jpg")

cv2.imwrite("new_image.jpg", img)

以上就是使用Python PIL和cv2库对图片读取、显示、裁剪和保存的详细攻略,希望能对您有所帮助。

相关文章