我正在尝试通过指针遍历cv::Mat
。
因此,我在函数中执行了以下操作:
template<typename Tin=uchar,typename Tout=float>
inline cv::Mat_<Tout> dct(const cv::Mat_<Tin>& oBlock) {
cv::Mat_<Tout> oOutput(oBlock.size());
Tout *pointeurOut= oOutput.data;
//...
}
但是,我在最后一行(
Tout *pointeurOut= oOutput.data;
)遇到了错误。那是哪里来的
最佳答案
data
是always a uchar*
。
你应该用
oOutput.ptr<Tout>();
获取指向第i行的
Tout
指针(默认为第0行,即图像的开头)关于c++ - 浮点矩阵上的指针被视为* uchar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39964263/