相关疑难解决方法(0)

使用MemoryView时,有关NPY_NO_DEPRECATED_API的Cython Numpy警告

我正在将Cython内存视图转换为numpy数组(以便能够在纯Python代码中使用它):

from libc.stdlib cimport realloc
cimport numpy as np

DTYPE = np.float64
ctypedef np.float64_t DTYPE_t

cpdef np.ndarray[DTYPE_t] compute(DTYPE_t[:,::1] data):
    cdef unsigned int Nchannels = data.shape[0]
    cdef unsigned int Ndata = data.shape[1]
    cdef DTYPE_t* output = NULL
    cdef DTYPE_t[::1] mv

    output = <DTYPE_t*>realloc(output, Ndata*sizeof(output))
    if not output:
        raise MemoryError()
    mv = <DTYPE_t[:Ndata]>output
    mv[10:Ndata-10] = 0.0
    # various calculations...
    return np.asarray(mv, dtype=DTYPE, order='C')
Run Code Online (Sandbox Code Playgroud)

它编译,但编译器给出以下警告:

/Users/vlad/anaconda/lib/python2.7/site-packages/numpy/core/include
/nump/npy_1_7_deprecated_api.h:15:2: warning:
"Using deprecated NumPy API, disable it by #defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-W#warnings]
Run Code Online (Sandbox Code Playgroud)

我在setup.py中添加了建议的指令:

from distutils.core import …
Run Code Online (Sandbox Code Playgroud)

python numpy cython memoryview

37
推荐指数
1
解决办法
2万
查看次数

从Python访问OpenCV CUDA函数(无PyCUDA)

我正在编写一个Python应用程序,它使用OpenCV的Python绑定来进行标记检测和其他图像处理.我想使用OpenCV的CUDA模块来CUDA加速我的应用程序的某些部分,并在他们的.hpp文件中注意到他们似乎正在使用Python和Java的OpenCV导出宏.但是,即使我正在构建OpenCV,我似乎也无法访问这些CUDA功能WITH_CUDA=ON.

是否有必要使用诸如PyCUDA之类的包装器来访问GPU功能,例如cudaarithm中的阈值?或者,如果我在Python代码中调用cv2.threshold()(而不是常规的基于CPU的实现),这些CUDA加速函数是否已被使用?

CV_EXPORTS double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type, Stream& stream = Stream::Null());
Run Code Online (Sandbox Code Playgroud)

我看到的子模块cv2如下:

  • 错误
  • aruco
  • 详情
  • 鱼眼镜头
  • FLANN
  • INSTR
  • 毫升
  • OCL
  • OGL
  • videostab

cv2.cuda,cv2.gpucv2.cudaarithm所有回归AttributeError.

我正在运行以构建OpenCV的CMake指令如下:

cmake -DOPENCV_EXTRA_MODULES_PATH=/usr/local/lib/opencv_contrib/modules/ \
    -D WITH_CUDA=ON -D CUDA_FAST_MATH=1 \
    -D ENABLE_PRECOMPILED_HEADERS=OFF \
    -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF \
    -D BUILD_opencv_java=OFF \
    -DBUILD_opencv_bgsegm=OFF -DBUILD_opencv_bioinspired=OFF -DBUILD_opencv_ccalib=OFF -DBUILD_opencv_cnn_3dobj=OFF -DBUILD_opencv_contrib_world=OFF -DBUILD_opencv_cvv=OFF -DBUILD_opencv_datasets=OFF -DBUILD_openc
v_dnn=OFF -DBUILD_opencv_dnns_easily_fooled=OFF -DBUILD_opencv_dpm=OFF -DBUILD_opencv_face=OFF -DBUILD_opencv_fuzzy=OFF …
Run Code Online (Sandbox Code Playgroud)

c++ python opencv cuda

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×2

c++ ×1

cuda ×1

cython ×1

memoryview ×1

numpy ×1

opencv ×1