【问题标题】:OpenCV imwrite doesn't save the imageOpenCV imwrite 不保存图像
【发布时间】: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 位未打包)。

标签: c++ opencv


【解决方案1】:

我也在使用 basler 相机。您还需要共享包含 basler 配置的代码。这是我使用 basler 相机获取 opencv 格式的帧的方法:

#include <pylon/usb/BaslerUsbInstantCamera.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <pylon/PylonIncludes.h>    

using namespace std;
using namespace cv;
using namespace Pylon;
using namespace GenApi;
using namespace Basler_UsbCameraParams;

int main()
{
Mat openCvImage;
Pylon::PylonAutoInitTerm autoInitTerm;
CBaslerUsbInstantCamera camera(CTlFactory::GetInstance().CreateFirstDevice());
CImageFormatConverter formatConverter;
CPylonImage pylonImage;

    camera.MaxNumBuffer = 1;
    formatConverter.OutputPixelFormat= PixelType_BGR8packed;
    camera.StartGrabbing( c_countOfImagesToGrab);
    const uint8_t *pImageBuffer = (uint8_t *) ptrGrabResult->GetBuffer();
    formatConverter.Convert(pylonImage, ptrGrabResult);
    openCvImage= cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult>GetWidth(), CV_8UC3, (uint8_t *) pylonImage.GetBuffer());

      imshow("Basler Frame",openCvImage);
      waitKey(0);
      return 0;
}

但首先你需要使用“imshow”功能来查看图像。 如果可以,问题出在您的目录部分。否则,您需要共享有关启动 basler 相机的代码。

【讨论】:

    【解决方案2】:

    请注意图像的尺寸,您可以简单地打印并查看形状是否正确。在我的例子中,我错误地将批量尺寸包含在图像形状中,我通过 image = image[0] 来解决它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 2019-09-03
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 2020-03-17
      • 1970-01-01
      相关资源
      最近更新 更多