通常,如果我的數據是非常量的,我可以在它上面初始化一個cv :: Mat標頭以進行代數操作。爲const數據創建cv :: Mat標頭
float awesome_data[24] = {0};
cv::Mat awesome_mat = cv::Mat(6, 4, CV_32F, awesome_data);
但是,如果我的數據是常量
const float awesome_data[24] = {0};
cv::Mat awesome_mat = cv::Mat(6, 4, CV_32F, awesome_data);
將有一個錯誤:unable to convert from const void * to void *
。我知道我不會改變awesome_mat,那麼做這件事的最好方法是什麼?
目前,我要做一個const投
const float awesome_data[24] = {0};
cv::Mat awesome_mat = cv::Mat(6, 4, CV_32F, const_cast<float *>(awesome_data));
,什麼是你想達到與? – fazo 2011-04-13 19:43:13
如果一個對象是cv :: Mat,我可以執行任何線性代數,圖像處理,...操作。我不能用它做什麼? :-) – 2011-04-13 19:46:14
我不是那個意思。 const_cast的作品 - 有你想要或預期的其他東西嗎? – fazo 2011-04-13 19:53:37