关于opencv中Mat类型转换的一个问题

来源:互联网 发布:linux替换命令 编辑:程序博客网 时间:2024/05/20 11:22

在Opencv的Mat转换函数converto(),当将<unsigned int>或<unsigned >类型进行转换时,总是会提示“opencv error: assertion failed (func != 0) in unknown function, file..\..\..\src\opencv\modules\core\src\convert.cpp”

示例:

   Mat a = Mat_<unsigned int>(10,3);//或Mat a = Mat_<unsigned> (10,3)

   Mat_<float> b;

   a.ConvertTo(b, CV_32F);

cout<<"a type"<<endl<<a.depth()<<endl<<"b type"<<endl<<b.depth()<<endl;

运行时会提示上述错误;


正确示例

   Mat a = Mat_<unsigned short> (10, 3);//或Mat a = Mat_<unsigned char> (10, 3)

   Mat_<float> b;

   a.ConvertTo(b, CV_32F);

cout<<"a type"<<endl<<a.depth()<<endl<<"b type"<<endl<<b.depth()<<endl;

原创粉丝点击