【opencv基础】cv::Mat::type() 返回值
前言
opencv中Mat存在各种类型,其中mat有一个type()的函数可以返回该Mat的类型。类型表示了矩阵中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数)。U表示无符号整数,S表示有符号整数,F表示浮点数。
具体的有以下值:
err:
OpenCV Error: Assertion failed (type == B.type()) in gemm, file /home/nvidia/build-opencv/opencv/modules/core/src/matmul.cpp, line 1558 terminate called after throwing an instance of 'cv::Exception' what(): /home/nvidia/build-opencv/opencv/modules/core/src/matmul.cpp:1558: error: (-215) type == B.type() in function gemm Aborted (core dumped)
code:
cv::Mat rot_tmp; rot.convertTo(rot_tmp, CV_32FC1); cv::Mat P = (cv::Mat_<float>(3,4) << 0, lineL, 0, 0, 0, 0, -lineL, 0, 0, 0, 0, -lineL); std::cout << "rot.type: " << rot.type()<< std::endl; std::cout << "rot_tmp.type: " << rot_tmp.type()<< std::endl; std::cout << "P.type: " << P.type()<< std::endl; P = rot_tmp.rowRange(0,2)*P;
注意
矩阵乘法,AB = A * B,
三者中A的列数与B的行数相等,且三者的数据类型必须完全一致, 且只能是CV_32F、 CV_64FC1、 CV_32FC2、 CV_64FC2四种数据类型中其一,否则会出错。
terminate called after throwing an instance of 'cv::Exception' what(): OpenCV(3.4.3) /***/modules/core/src/matmul.cpp:1558: error: (-215:Assertion failed) (type == (((5) & ((1 << 3) - 1)) + (((1)-1) << 3)) || type == (((6) & ((1 << 3) - 1)) + (((1)-1) << 3)) || type == (((5) & ((1 << 3) - 1)) + (((2)-1) << 3)) || type == (((6) & ((1 << 3) - 1)) + (((2)-1) << 3))) in function 'gemm' Aborted
参考
1. OpenCV中Mat的type;
2. opencv_mat;
完
各美其美,美美与共,不和他人作比较,不对他人有期待,不批判他人,不钻牛角尖。
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】