问题是这样的:
平时我们读取与显示图片用:Mat srcImage=imread("..\A002.tif");
显示图片用:imshow("srcImage",srcImage);
便可以看到图像了!
但在做傅立叶变换时:
输出结果是CV__32F,设输出结果保存在resImage里面,
直接调用imshow("resImage",resImage);
显示的是空白。
但在显示前将resImage进行归一化 normalize(resImage,resImage,0,1,CV_MINMAX),
便可以得到正常显示的图像。
后来我试了下:
Mat srcImage=imread("..\A002.tif");
cvtColor(srcImage,srcImage,CV_BGR2GRAY);
normalize(srcImage,srcImage,0,1,CV_MINMAX);
imshow("srcImage",srcImage);
也能正常显示。
请问,不归一化与归一化显示的图像有什么区别吗?比如,某图像像素值从0到255都包含,某个像素点值为253,归一值253/255=0.9922,这样发生舍入后的图像显示时会不会与原图像像素值不同?
Mat srcImage=imread("..\A002.tif");
cvtColor(srcImage,srcImage,CV_BGR2GRAY);
normalize(srcImage,srcImage,0,1,CV_MINMAX);
imshow("srcImage",srcImage);
你的这个srcImage 多次作为输入 有做为输入 没有问题么?
建议你 再建一个临时Mat 去做转换