【发布时间】:2019-08-10 23:59:55
【问题描述】:
我有一张拼图的图像,我需要调整它的大小,以便我需要比较的两个拼图具有相同的大小。我使用以下代码来调整图像大小。问题是图像 1 中线的长度为 187,调整图像 2 中线的长度后为 194。预期的输出是使它们相同
ratio = math.hypot(x2 - x1, y2 - y1) / math.hypot(x4 - x3, y4 - y3)
print("img1", math.hypot(x2 - x1, y2 - y1),"img 2", math.hypot(x4 - x3, y4 - y3)*ratio)
n = int(ratio * new_img_2.shape[0])
img = cv2.resize(new_img_2, (n, n), cv2.INTER_CUBIC)
【问题讨论】:
-
您调整了图像的大小,使它们的对角线具有相同的长度,但它们可能一开始就没有相同的形状(宽/高比)。
-
@ThierryLathuille 它们确实具有相同的宽度和高度。图像的外部尺寸是一个完美的正方形
-
这可能是舍入错误的结果吗? n = int(ratio * ...) 导致一些数据丢失。您应该考虑到这一点并增加一个计算步骤。
-
@xMutzelx 这个错误的最大值可能相差 1 对,还有很多
标签: python image numpy opencv image-processing