【发布时间】:2019-09-12 07:54:55
【问题描述】:
我正在使用 Basler 相机,并且正在尝试使用 OpenCV 保存抓取的图像。但是,当我尝试使用 imwrite() 时,我收到此错误:
imwrite_('C:/Users/Uporabnik/Desktop/slika.png'): 无法写入数据:未知异常
我对抓取图像的转换:
openCvImage = Mat(image.GetHeight(), image.GetWidth(), CV_16U, (uint8_t *)image.GetBuffer());
尝试保存图片:
cv::imwrite("C:/Users/Uporabnik/Desktop/slika.png", openCvImage);
【问题讨论】:
-
可能你的转换不正确,试试CV_8UC1,而不是CV_16U。还要确保 basler 缓冲区在您使用时没有被释放
-
也许可以先尝试
cv::imshowing。您可能还想与 Basler 相机配置分享更多代码。但我怀疑您在捕获图像时使用的 Basler PixelFormat 不兼容 - 确保其 16 位对齐(因此 16 位或 12 位未打包)。