您好我面临的问题当我在我的python代码中导入cv2并使用Cython将python代码转换为C然后在Visual Studio中使用.c和.h文件并在main.cpp中使用它时。它说不当我执行Main.cpp时,会出现名为cv2的模块。我能够创建openCVTestcode.c和openCVTestcode.h文件,我已经添加到Visual Studio项目并从main.cpp调用它。它导入numpy时工作正常,它也打印结果。问题是我使用openCv。我没有得到名为cv2错误的模块。我们应该在Visual Studio项目中添加openCV路径吗?但Numpy并不需要这样做。
当我使用cimport cv2时,它说cimported模块没有属性' imread'。我有一个openCVTestcode.pyx文件,我正在使用anaconda提示符中的python -m cython openCVTestcode.pyx
进行编译。
从这里我得到.c和.h文件,我将添加到visual studio项目并从main.cpp调用.h文件中的函数
openCVtestcode.pyx的代码是:
import cv2
cdef public void openCVtest():
image = cv2.imread("Test.png")
cv2.imshow("test",image)
cv2.waitKey(0)
Main.cpp的代码是
int main(void) {
Py_Initialize(); //Needed!
PyInit_openCVTestcode(); //Needed! called PyInit_hello() for Python3
openCVtest();
Py_Finalize(); //Needed!
return 0;
}
我能够建立它。但.exe创建了
Traceback (most recent call last):
File "openCVTestcode.pyx", line 2, in init openCVTestcode
ModuleNotFoundError: No module named 'cv2'
Exception ignored in: 'openCVTestcode.openCVtest'
Traceback (most recent call last):
File "openCVTestcode.pyx", line 2, in init openCVTestcode
ModuleNotFoundError: No module named 'cv2'