OpenCVAPIの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;