gpt4 book ai didi

python-2.7 - 如何根据百分比在 opencv 和 python 中裁剪图像

转载 作者:太空宇宙 更新时间:2023-11-03 21:25:26 32 4
gpt4 key购买 nike

我想拍摄一张图片并将其从原始图片的中心裁剪 75%。老实说,我对此有点不知所措。我想过获取原始图像大小

height, width = image.shape

获取百分比值并裁剪:

cropped_y_start = int((height * 0.75))
cropped_y_end = int((height * 0.25))
cropped_x_start = int((width * 0.75))
cropped_x_end = int((width * 0.25))

print cropped_x_start
print cropped_x_end

crop_img = image[cropped_y_start:cropped_y_end, cropped_x_start:cropped_x_end]

这有很多问题,但最主要的是它不是基于图像的中心。对此有任何建议将不胜感激。

最佳答案

一个简单的方法是先获取缩放后的宽度和高度,然后从图像中心裁剪以加上/减去缩放后的宽度和高度除以 2。
这是一个例子:

import cv2

def crop_img(img, scale=1.0):
center_x, center_y = img.shape[1] / 2, img.shape[0] / 2
width_scaled, height_scaled = img.shape[1] * scale, img.shape[0] * scale
left_x, right_x = center_x - width_scaled / 2, center_x + width_scaled / 2
top_y, bottom_y = center_y - height_scaled / 2, center_y + height_scaled / 2
img_cropped = img[int(top_y):int(bottom_y), int(left_x):int(right_x)]
return img_cropped

img = cv2.imread('lena.jpg')
img_cropped = crop_img(img, 0.75)

输出:

原创

Original

裁剪 75%

Cropped by 75%

关于python-2.7 - 如何根据百分比在 opencv 和 python 中裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43987467/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com