【问题标题】:Cropping an Image in using OpenCV function for Python [duplicate]使用 Python 的 OpenCV 函数裁剪图像 [重复]
【发布时间】:2018-11-14 16:54:27
【问题描述】:

我需要一个用于 python 的 OpenCV 函数,它允许裁剪给定尺寸的图像。

我正在使用 cv2.UMat() 将图像加载到 GPU 上并在那里自行处理。因此,以下索引切片选项不适用于 UMat 对象。

image[CROP_DIMS[0]:-CROP_DIMS[1], CROP_DIMS[2]:-CROP_DIMS[3]])

为了优化和充分利用 GPU,我需要 OpenCV 函数来使用 OpenCV 函数裁剪图像,否则我将不得不从 GPU 获取图像并在裁剪后再次加载到 GPU 上。

版本: 蟒蛇 - 3.6.4 OpenCV - 3.4.1

我已经在堆栈溢出和谷歌上进行了相同的搜索,但没有找到任何合适的匹配答案。要么每个人都指向索引切片或以前的旧 opencv 版本的函数。

【问题讨论】:

    标签: python python-3.x opencv crop opencv3.0


    【解决方案1】:

    试试这个:

    import cv2
    img = cv2.imread("input.png")
    
    crop_img = img[y:y+h, x:x+w]
    
    cv2.imshow("cropped", crop_img)
    cv2.waitKey(0)
    

    【讨论】:

    • 我已经在使用这种方法,但为此,我必须从 GPU 检索图像,裁剪它并再次将其加载到 GPU。这太贵了。所以,我正在寻找一些相同的 OpenCV 函数。
    • 你不能在 GPU 端自己做吗?
    • 当然不是! cv2.UMat 对象不允许索引切片。
    • 我怎么知道?你没有提到任何与此相关的事情。这个答案与你所问的一致。以我们能够理解您真正想要的方式更新您的问题。
    • 已更新。但我只是简单地要求使用 OpenCV 函数来裁剪图像。这不是我问的。这与我提到的无法正常工作并找到 OpenCV 替代品的情况相同。
    猜你喜欢
    • 2023-03-05
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多