在Python中,您可以使用不同的库来调整图片的尺寸,例如`PIL`(Python Imaging Library)或`OpenCV`。以下是使用`OpenCV`调整图片尺寸的示例代码:
import cv2def resize_image(image, height, width):获取图像尺寸h, w, _ = image.shape对于长宽不相等的图片,找到最长的一边longest_edge = max(h, w)计算短边需要增加多少像素宽度使其与长边等长if h < longest_edge:dh = longest_edge - htop = dh // 2bottom = dh - topelif w < longest_edge:dw = longest_edge - wleft = dw // 2right = dw - leftelse:pass使用cv2.copyMakeBorder给图像增加边界,使图片长宽等长cv2.BORDER_CONSTANT指定边界颜色,value为黑色constant = cv2.copyMakeBorder(image, top, bottom, left, right, cv2.BORDER_CONSTANT, value=(0, 0, 0))调整图像大小并返回return cv2.resize(constant, (height, width))读取原始图片img = cv2.imread('image.jpg')设置新的尺寸new_size = (800, 600)调整图片尺寸resized_img = resize_image(img, new_size, new_size)保存调整后的图片cv2.imwrite('resized_image.jpg', resized_img)
这段代码定义了一个名为`resize_image`的函数,它接受一个图像和期望的宽度和高度作为参数,然后返回一个调整尺寸后的新图像。在调整大小时,如果原始图像的长宽不等,函数会在较短的一边添加黑色边框,使其与较长的一边等长。
如果您需要旋转图片,可以使用`cv2.rotate`函数,并设置`reshape=True`参数以保持图像完全包含在输出中。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/30613.html