如何在opencv中将图像转换为浮动图像?

man*_*ans 3 c++ opencv image-processing

我有这个代码:

  Mat image00=imread("C:\\Working Dir\\Tests\\TestBlending\\layer0000.jpg");
  Mat image0;
  image00.convertTo(image0,CV_32FC3);
Run Code Online (Sandbox Code Playgroud)

但在将我的图像转换为浮动后,图像为空白(所有值均为零).

这段代码有什么问题,如何解决?

roc*_*esh 7

试试这些:

1)image00.convertTo(image0,CV_32FC3,1/255.0);

Mat图像类型CV_8UC3,值从0到255.虽然CV_32FC3介于0.0和1.0之间,因此您必须缩放它.如果我没有错,你会收到所有零值,因为图像主要由BGR值低于125?如果仍然无效,请尝试以下方法:

2)

//CvType
 image00.convertTo(image0, CvType.CV_32FC3, 1/255.0); //with or without scaling, try both
Run Code Online (Sandbox Code Playgroud)

应该解决你的问题(:

  • 执行此操作的“ OpenCV3”方法是什么?(即不使用CV_32FC3而是类似cv :: Mat3f的东西) (2认同)