我继承了一个带有opencv、shiboken和pyside的应用程序,我的第一个任务是更新到qt6、pyside6和opencv 4.5.5.到目前为止进展顺利,我可以导入模块并生成类实例等.但是,在传递numpy数组时,我遇到了崩溃:
我通过python将numpy数组形式的图像传递给opencv,并使用pyopencv_to
将数组转换为cv::Mat
.这在opencv的早期版本(4.5.3)中起到了作用,但在4.5.5中,它似乎被 destruct 了.
当我试图通过pyopencv_to
传递数组时,我得到了异常opencv_ARRAY_API was nullptr
.我的前任通过直接拨打PyInit_cv2()
解决了这个问题,这显然是之前通过报头包含的.但是我在git中的标签4.5.3下找不到定义这个函数的任何头.这是生成的文件吗?我可以看到有一个pycompat.hpp
,但也不包括功能.
是否有一种规范的方法来初始化所有内容,以便可以正确地传递numpy数组?或者任何人都能给我指点的教程?到目前为止,我的搜索还没有产生任何有用的提示.
非常感谢!:)