簡體   English   中英

是否可以在OpenCV中使用GPU處理圖像

[英]Is it possible to process images using GPU in OpenCV

所以,我從我的大學得到了一個與python相關的任務。 我們需要獲取一組圖像(來自文件夾),然后盡快調整它們的大小。 所以我設法使用cv2 resize選項。 但是,顯然我們可以使用GPU更快地完成它。 但不幸的是,我無法找到使用openCV模塊的最佳方法。

我找到了這個代碼,但它並不是openCV的。

import numpy as np
from timeit import default_timer as timer
from numba import vectorize

@vectorize(['float32(float32, float32)'], target='cuda')
def pow(a, b):
    return a ** b

def main():
    vec_size = 100000000

    a = b = np.array(np.random.sample(vec_size), dtype=np.float32)
    c = np.zeros(vec_size, dtype=np.float32)

    start = timer()
    c = pow(a, b)
    duration = timer() - start

    print(duration)

if __name__ == '__main__':
    main()

編輯 :我發現了一個名為“UMat”的東西,使用它的好處是什么? 我嘗試以這種方式在我的代碼中使用:

image = cv2.UMat(cv2.resize(image, (0, 0), fx=0.5, fy=0.5)) # Resize image by half

是的,您可以在OpenCV中使用GPU模塊,但不幸的是只能在C ++中使用。 Python沒有包裝器。

方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM