如何将调整大小后的图像的坐标转换为原始图像的坐标?

爬行者2962

我正在使用opencv在python中创建图像裁剪器。我正在从鼠标单击中选择要裁剪的4点截面的坐标。问题是我正在调整图像的大小以将其显示在屏幕上,例如(800x600),我无法使用这些点来裁剪原始图像。

我如何将这些坐标转换为可以裁剪大尺寸的图像,但显示它们的大小?

例如,如果图像为1920x1080,它将占据整个屏幕,因此我将其调整为1067x600,然后用点进行裁切,但是裁切后的图像将调整为一个尺寸,而不是原始的高分辨率。如何将(234,455)之类的坐标转换为未调整大小的图像坐标?

卡克希尔·沙

您可以用百分比来处理。基本上,保持图像的纵横比,将其调整为较小的尺寸。

def resize_to_max_dimension(image,max_dimension):
    image_height,image_width,channels = image.shape


    if image_height < max_dimension and image_width < max_dimension: ##Only resize larger images
        return image


    if image_height > image_width:
        final_height = max_dimension
        final_width = int(final_height *  image_width / image_height )
    else:
        if not image_width == 0:
            final_width = max_dimension
            final_height = int(final_width *  image_height / image_width)
        else:
            final_height = 0
            final_width = 0


    return cv2.resize(image,(int(final_width),int(final_height)))

现在,调整大小后,假设尺寸为800 x 600,则在裁剪时,请从顶部计算百分比。基本上,x_min_percentage,y_min_percentage,x_max_percentage,y_max_percentage因此,如果从左起的x min为200,宽度为800,则x_min_percentage将为25%。

现在很容易,采用原始图像尺寸,乘以百分比,即可获得新的裁剪坐标。

image_height,image_width,channels = original_image.shape
crop_x_min = image_width * x_min_percentage
crop_y_min = image_height * y_min_percentage
crop_x_max = image_width * x_max_percentage
crop_y_max = image_height * y_max_percentage

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将世界坐标转换为相机图像坐标?

来自分类Dev

如何将笛卡尔坐标转换为 360 图像上热点的球面坐标

来自分类Dev

如何将Kinect RGB和深度图像转换为真实世界的坐标xyz?

来自分类Dev

将真实图像坐标转换为宽高比?

来自分类Dev

如何将坐标从校正立体转换为 opencv 中的原始坐标?

来自分类Dev

将图像从笛卡尔坐标转换为极坐标

来自分类Dev

如何将图像原始数据转换为图像

来自分类Dev

如何将工作空间坐标转换为屏幕坐标?

来自分类Dev

如何将屏幕坐标转换为控制坐标

来自分类Dev

如何将窗口的坐标转换为控制坐标

来自分类Dev

如何将工作空间坐标转换为屏幕坐标?

来自分类Dev

如何将本地坐标转换为 JavaFX 图表坐标

来自分类Dev

如何将无人机相机的欧拉角和海拔高度转换为图像中心坐标?

来自分类Dev

如何将无人机相机的欧拉角和海拔高度转换为图像中心坐标?

来自分类Dev

从原始图像中的ROI进行坐标转换

来自分类Dev

将图像旋转90、180或270度后,获取相对于原始图像的图像坐标

来自分类Dev

将图像像素数据转换为坐标数组

来自分类Dev

将纬度和经度转换为图像上的坐标

来自分类Dev

裁剪后如何将图像转换为位图?

来自分类Dev

当图像转换为numpy数组时如何调整图像大小

来自分类Dev

如何将串联的图像转换为其原始图像,Python

来自分类Dev

如何将CoreLocation坐标转换为字符串?

来自分类Dev

如何将数据框转换为空间坐标

来自分类Dev

如何将框的边界转换为屏幕坐标

来自分类Dev

如何将边界框坐标转换为半径?

来自分类Dev

如何将CoreLocation坐标转换为字符串?

来自分类Dev

如何将一组坐标转换为Char?

来自分类Dev

如何将窗口坐标转换为规范化的设备坐标?

来自分类Dev

尽管存在getBoundingClientRect()伪造,如何将事件坐标转换为SVG坐标?

Related 相关文章

  1. 1

    如何将世界坐标转换为相机图像坐标?

  2. 2

    如何将笛卡尔坐标转换为 360 图像上热点的球面坐标

  3. 3

    如何将Kinect RGB和深度图像转换为真实世界的坐标xyz?

  4. 4

    将真实图像坐标转换为宽高比?

  5. 5

    如何将坐标从校正立体转换为 opencv 中的原始坐标?

  6. 6

    将图像从笛卡尔坐标转换为极坐标

  7. 7

    如何将图像原始数据转换为图像

  8. 8

    如何将工作空间坐标转换为屏幕坐标?

  9. 9

    如何将屏幕坐标转换为控制坐标

  10. 10

    如何将窗口的坐标转换为控制坐标

  11. 11

    如何将工作空间坐标转换为屏幕坐标?

  12. 12

    如何将本地坐标转换为 JavaFX 图表坐标

  13. 13

    如何将无人机相机的欧拉角和海拔高度转换为图像中心坐标?

  14. 14

    如何将无人机相机的欧拉角和海拔高度转换为图像中心坐标?

  15. 15

    从原始图像中的ROI进行坐标转换

  16. 16

    将图像旋转90、180或270度后,获取相对于原始图像的图像坐标

  17. 17

    将图像像素数据转换为坐标数组

  18. 18

    将纬度和经度转换为图像上的坐标

  19. 19

    裁剪后如何将图像转换为位图?

  20. 20

    当图像转换为numpy数组时如何调整图像大小

  21. 21

    如何将串联的图像转换为其原始图像,Python

  22. 22

    如何将CoreLocation坐标转换为字符串?

  23. 23

    如何将数据框转换为空间坐标

  24. 24

    如何将框的边界转换为屏幕坐标

  25. 25

    如何将边界框坐标转换为半径?

  26. 26

    如何将CoreLocation坐标转换为字符串?

  27. 27

    如何将一组坐标转换为Char?

  28. 28

    如何将窗口坐标转换为规范化的设备坐标?

  29. 29

    尽管存在getBoundingClientRect()伪造,如何将事件坐标转换为SVG坐标?

热门标签

归档