我需要将 OpenCv 图像从 C++ 发送到 Python 以对其进行一些处理。Mat 将通过代码接收,但为简单起见,我在这里使用 imread 来解决这个问题。
我在代码的 C++ 部分所做的是:
#include <Python.h>
#include <arrayobject.h>
#include <iostream>
#include <opencv2/opencv.hpp>
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Mat image = imread("test.jpg");
Py_Initialize();
PyObject *pName, *pModule, *pDict, *pFunc, *pArgs, *pValue;
pName = PyUnicode_FromString("prog");
if (pName == NULL)
{
PyErr_Print();
return 0;
}
pModule = PyImport_Import(pName);
if (pModule == NULL)
{
PyErr_Print();
return 0;
}
pDict = PyModule_GetDict(pModule);
pFunc = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用opencv v 2.1创建一个图像,但是我得到了这个错误:image = cv.CreateImage((w,h),no_of_bits,channels)AttributeError:'module'对象没有属性'CreateImage'
代码是
#!/usr/bin/python
import cv
from opencv import *
from opencv.cv import *
from opencv.highgui import *
import sys
import PIL
w=500
h=500
no_of_bits=8
channels=3
image=cv.CreateImage((w,h),no_of_bits,channels)
cv.ShowImage('WindowName',image)
cvWaitKey()
Run Code Online (Sandbox Code Playgroud)