之前在编写Qt6的程序(运行于Windows 10上)时,出现了下列错误:

OpenCV(4.10.0) Error: Assertion failed ((unsigned)(i1 * DataType<_Tp>::channels) < (unsigned)(size.p[1] * channels())) in cv::Mat::at, file H:\OpenCV\opencv\build\include\opencv2/core/mat.inl.hpp, line 899
OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(4.10.0) Error: Assertion failed ((unsigned)(i1 * DataType<_Tp>::channels) < (unsigned)(size.p[1] * channels())) in cv::Mat::at, file H:\OpenCV\opencv\build\include\opencv2/core/mat.inl.hpp, line 899

检查程序后发现是我Mat对象的类型设置有误,

Mat FalseColor = Mat::zeros(img.rows*4, img.cols, CV_8UC1);

改成

Mat FalseColor = Mat::zeros(img.rows*4, img.cols, CV_8UC3);

即刻运行成功

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐