int sizeOfChannel = (_width/2) * (_height/2);
double* channel_gr = new double[sizeOfChannel];
// filling the data into channel_gr....
cv::Mat my(_width/2, _height/2, CV_32F,channel_gr);
cv::Mat src(_width/2, _height/2, CV_32F);
for (int i = 0; i < (_width/2) * (_height/2); ++i)
{
src.at<float>(i) = channel_gr[i];
}
cv::imshow("src",src);
cv::imshow("my",my);
cv::waitKey(0);
我不知道为什么我没有在我和src得到相同的图像imshow
更新: 我已经改变了我的阵列为双*还是一样的结果; 我认为这与步骤有关吗?
我的图像输出 OpenCV的CV ::垫不返回相同的结果
SRC图像输出
也许是因为channel_gr是一个int数组,而不是一个float数组。 – isarandi 2015-04-01 09:12:04
使用CV_64F怎么样?或使用int数组的问题可能是? – ha9u63ar 2015-04-01 10:15:35
@ ha9u63ar异常被抛出 – Gilad 2015-04-01 10:17:48