我有以下代码使用OpenCV API中的cv::Mat.convertTo()函数转换矩阵的“类型” 。
但是当我使用imshow()显示它时,图像完全不同。
转换后的图像是完全灰色的。
但是,这些图像(cv::Mat)中的值是相同的。
我想我在这里遗漏了一些非常微不足道的东西。
Mat x = imread("/home/jason/Desktop/1.png",0);
Mat y = Mat(x.rows,x.cols,CV_16S,Scalar(0));
x.convertTo(y,CV_16SC1, 1,0);
imshow("x",x);
imshow("y",y);
waitKey(0);
cout<<x.type()<<endl;
cout<<y.type()<<endl;
//verifying the values in the image.
cout<<"rows 10"<<x.row(10)<<endl;
cout<<"rows 10"<<y.row(10)<<endl;