【发布时间】:2012-06-21 00:15:16
【问题描述】:
我有以下代码使用 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;
【问题讨论】:
标签: c++ image-processing opencv