1、案例一:指向float的指针
c函数原型为:
TRESULT imagequality_brightnessException(TBITMAP* pImg,TFloat *fCast, TFloat *fDa)
python中调用时:
入参定义为:
internalLibrary = CDLL(u'.../libimagequality.so')
IQ_BrightException = internalLibrary.imagequality_brightnessException
IQ_BrightException.restype = c_long
IQ_BrightException.argtypes = (POINTER(QBB_BITMAP), POINTER(c_float), POINTER(c_float))
具体调用为:
cast = c_float()
da = c_float()
ret = IQ_BrightException(byref(inputImg), pointer(cast), pointer(da))
2、案例二:指向float数组的指针
c函数原型为:
TRESULT imagequality_GetHistFeature(TBITMAP* pImg, TFloat *phist)
且phist指向float[256]的数组
要在python中调用:
入参定义为:
internalLibrary = CDLL(u'.../libimagequality.so')
IQ_GetHist = internalLibrary.imagequality_GetHistFeature
IQ_GetHist.restype = c_long
IQ_GetHist.argtypes = (POINTER(BITMAP), POINTER(c_float))
具体调用为:
hist = (c_float*256)()
ret = IQ_GetHist(byref(inputImg), hist)