将 CVPixelBuffer 转换为 C++ void 指针

问题描述 投票:0回答:1

我已经集成了C++框架,该框架需要图像数据参数为(const void* imageData)。我正在尝试从相机传递数据:

....
guard let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return }
framework.process(imageBuffer)

并出现错误: 无法将类型“CVPixelBuffer”(又名“CVBuffer”)的值转换为预期参数类型“UnsafeMutableRawPointer?”

c++ swift objective-c
1个回答
0
投票

在 C++ 中,通过 void 指针处理对象需要进行类型转换。 例如:

void *p_void = some_data_or_func();
char *p_ch = (char*)p_void; // C-Style cast
char *p_ch2 = static_cast<char*>(p_void); // CPP-Style cast

只有现在您才可以将指针作为已知数据类型来使用。

© www.soinside.com 2019 - 2024. All rights reserved.