草庐IT

cython_bbox

全部标签

python - 通过 Cython(回调)将 Python 函数应用于 std::vector

我正在尝试学习如何通过Cython在C和Python之间使用回调,并且一直在查看thisdemo.我想要一个Python函数应用于一个std::vector/numpy.array并将结果存储在另一个中。我可以毫无错误地编译和运行,但最终vectory是没有被改变。C++头文件//callback.hpp#includetypedefdouble(*Callback)(void*apply,double&x);voidfunction(Callbackcallback,void*apply,vector&x,vector&y);C++源代码//callback.cpp#include"

python - Cython:如何包装返回 C++ 对象的 C++ 函数?

我正在开发一个Python项目,我想在其中与已编写的C++包进行交互。由于我将在该项目的其他部分使用Cython,因此我更愿意使用Cython进行包装。简而言之,我需要包装一个函数FooBar,它返回一个自定义类类型Bar的对象。这是Bar.h:#include//Forsize_t#include/*datareturnedbyfunctionFooBar()*/classBar{public:size_tX;std::vectorY;std::vectorZ;std::vectorM;std::vectorN;};BarFooBar(conststd::vector&O,size_

python - OpenCV Cython 桥泄漏内存

我已经编写了与Basler相机配合使用的VideoCapture类的实现。它是这样使用的:importcv2importPyBaslerCameravideo=PyBaslerCamera.PyBaslerCamera()video.open(0)whileTrue:ret,image=video.read()cv2.imshow("Test",image)cv2.waitKey(1)我的Cython文件如下所示:#distutils:language=c++#distutils:sources=BaslerCamera.cppfromcython.operatorcimportder

python - Cython C++ 模板

我是cython的新手,我试图包装一个定义为的模板化vector类templatestructVector{}我很难了解cython如何使用模板,尤其是那些以int作为参数的模板。我在文档中读到尚不支持将整数作为模板参数。我该如何正确执行此操作? 最佳答案 对于好奇的人,Cythonwiki展示了如何在Cython中编写模板类:cdefexternfrom""namespace"std":cdefcppclassvector[T]:...此外,多个模板参数被定义为一个列表。要回答OP的问题,可以使用cdefstructVector[

c++ - 如何在 Cython 中声明指针 vector ?

我想声明这样的东西:cdefvector[Node*]list2node(listmy_list):但是Cython给我这个错误:cdefvector[Node*]list2node(listmy_list):^------------------------------------------------------------mod.pyx:77:20:Expectedanidentifierorliteral 最佳答案 您不需要*--vector[Node]应该为Node指针的vector生成代码。使用Cython0.14.1

c++ - Cython c++ 示例无法识别 c++,为什么?

我正在尝试在theCythonC++page构建“在cython中使用c++”的示例,但安装程序似乎无法识别语言c++。从同一页面获取的文件是:矩形.cpp#include"Rectangle.h"usingnamespaceshapes;Rectangle::Rectangle(intX0,intY0,intX1,intY1){x0=X0;y0=Y0;x1=X1;y1=Y1;}Rectangle::~Rectangle(){}intRectangle::getLength(){return(x1-x0);}intRectangle::getHeight(){return(y1-y0)

python - PyArray_Check 使用 Cython/C++ 给出段错误

谢谢大家。我想知道什么是#include的正确方法所有numpyheader以及使用Cython和C++解析numpy数组的正确方法是什么。下面是尝试://cpp_parser.h#ifndef_FUNC_H_#define_FUNC_H_#include#includevoidparse_ndarray(PyObject*);#endif我知道这可能是错误的,我也尝试了其他选项,但没有一个有效。//cpp_parser.cpp#include"cpp_parser.h"#includeusingnamespacestd;voidparse_ndarray(PyObject*obj){

python - 使用 Cython 时如何将一个 C++ 类(引用)传递给另一个类?

我正在尝试使用Cython包装一个C++模块,以便我可以在Python中使用它。该模块有多个类,其中一些类的方法将对另一个类的对象引用作为参数。假设我有一个名为“foo”和“bar”的C++类,然后用cython将它们包装起来:cdefexternfrom"foobar.hpp"namespace"foobar":cdefcppclassfoo:passcdefcppclassbar:voidkungFoo(foo&f)现在我想制作一个包装类,以便我可以在Python中使用它...cdefclasspyFoo:cdeffoo*thisptrdef__cinit__(self):self

python - 使用 Cython 包装 C++ 模板以接受任何 numpy 数组

我正在尝试将用C++编写的并行排序包装为模板,以便将其与任何数字类型的numpy数组一起使用。我正在尝试使用Cython来执行此操作。我的问题是我不知道如何将指向numpy数组数据(正确类型)的指针传递给C++模板。我相信我应该为此使用融合数据类型,但我不太明白如何使用。.pyx文件中的代码如下#importingc++templatecdefexternfrom"test.cpp":voidinPlaceParallelSort[T](T*arrayPointer,intarrayLength)defsortNumpyArray(np.ndarraya):#Thisobviously

c++ - Cython vector 操作

我如何使用remove来自的函数?(或任何其他操作,我想将其与vector一起使用,我尝试使用cdefextern来声明它,但我认为还没有模板函数) 最佳答案 Cython只能合理地链接到一些遵循C调用约定的外部库中的已编译代码。要使用模板函数,您必须编写一个使用特定算法体现的extern"C"包装函数(即,您必须修复模板参数)。 关于c++-Cythonvector操作,我们在StackOverflow上找到一个类似的问题: https://stackove