OpenCV 为什么CV_32F图像显示异常?

Hope_f 2013-08-27 04:42:54
c++ code

Mat src = imread("D:\\cvImg\\lin.JPG");
Mat d(src.rows, src.cols, CV_32F);
src.convertTo(d, CV_32F);
imshow("src", d);
cvWaitKey(0);


看到Matlib中有一句代码,改成C++形式是不是应该像上面那样啊?

matlib code:

img=double(img); %转换成浮点数矩阵



这个是c++执行后的结果,原图是张彩图.
...全文
574 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jj574435561 2013-12-14
  • 打赏
  • 举报
回复
楼主你好,由于double/float数据类型图像的显示范围是0~1,所以先要将图像归一化,加上 normalize(d, d, 1.0, 0.0, NORM_MINMAX); 就可以正常显示了。

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧