OpenCV 中的 imshow() 不适用于 cv::Mat 类型 CV_32F?
imshow() in OpenCV doesn't work for cv::Mat type CV_32F?
我有一个浮点数组
float* data; // stores pixel gray color
cv::Mat img(h,w,CV_32F,data);
cv::namedWindow("Display window");
cv::imshow( "Display window", img );
那么我得到的是:
我搜索了很多资源,但找不到。我怀疑是类型的问题,但是我对比了定义,我觉得没问题。
谁能告诉我原因吗?
如果您的图像是单通道图像,则通过以下方式将其转换为 CV_8U
:
float* data; // stores pixel gray color
cv::Mat img(h,w,CV_32F,data), 8u_image;
img.convertTo(8u_image,CV_8U);
cv::namedWindow("Display window");
cv::imshow( "Display window", 8u_image );
我有一个浮点数组
float* data; // stores pixel gray color
cv::Mat img(h,w,CV_32F,data);
cv::namedWindow("Display window");
cv::imshow( "Display window", img );
那么我得到的是:
我搜索了很多资源,但找不到。我怀疑是类型的问题,但是我对比了定义,我觉得没问题。
谁能告诉我原因吗?
如果您的图像是单通道图像,则通过以下方式将其转换为 CV_8U
:
float* data; // stores pixel gray color
cv::Mat img(h,w,CV_32F,data), 8u_image;
img.convertTo(8u_image,CV_8U);
cv::namedWindow("Display window");
cv::imshow( "Display window", 8u_image );