掉坑里了。
用VS2015搞了一天没成功,换成VS2017,立马就可以了。
在做目标检测的时候,训练好的数据集在python环境下运行,检测完,把图传给C++写的动态库。
中间出问题,想要调试一下。其实也很简单。py文件中,在要调试的函数前一句"input()",然后执行该文件,会停到inout()处,
在VS中“调试”---“附加到进程”---"python.exe",应该就可以了。VS2015为啥有坑,咱也不知道,咱也不敢问啊。
python 给动态库传参数,要小心,传图片数据,更应该谨慎。
import cv2
import ctypes
from ctypes import *
im = cv2.imread("E:/test/QRC/test/Code/Code/SaveImage/SaveQRC/QRC_0.png")
print(im.shape)
imginfo = im.shape
width = imginfo[1]
height = imginfo[0]
b,g,r = cv2.split(im)
img2 = cv2.merge([r,g,b])
decode = ctypes.cdll.LoadLibrary("E:\\test\\QRC\\test\\zxingdll\\x64\\Debug\\zxingdll.dll")
input()
dec = decode.Decode
dec.argtypes = [POINTER(c_ubyte),c_int,c_int]
data = (c_ubyte * img2.size)() #把列表传入变长参数args*中
i = 0
whil