cv::Mat 取元素引起的报错

一、定义一个矩阵

方法1:定义的时候,矩阵元素无初始值,需要赋值

cv::Mat intrinsic(3, 3, CV_64F );

cv::Mat distortion(1, 5, CV_64F);

1.矩阵赋值

intrinsic.at<double>(0, 0) = 2400;

intrinsic.at<double>(0, 1) = 0;

intrinsic.at<double>(0, 2) = 960;

intrinsic.at<double>(1, 0) = 0;

intrinsic.at<double>(1, 1) = 2400;

intrinsic.at<double>(1, 2) = 540;

intrinsic.at<double>(2, 0) = 0;

intrinsic.at<double>(2, 1) = 0;

intrinsic.at<double>(2, 2) = 1;

distortion.at<double>(0, 0) = 0 ;

distortion.at<double>(0, 1) = 0;

distortion.at<double>(0, 2) = 0;

distortion.at<double>(0, 3) = 0;

distortion.at<double>(0, 4) = 0;

方法2:定义的时候,矩阵元素初始为0

cv::Mat intrinsic = cv::Mat::zeros(3, 3, CV_64FC1);

cv::Mat distortion = cv::Mat::zeros(1, 5, CV_64FC1);

intrinsic.at<double>(0, 0) = 2400;

intrinsic.at<double>(0, 2) = 960;

intrinsic.at<double>(1, 1) = 2400;

intrinsic.at<double>(1, 2) = 540;

intrinsic.at<double>(2, 2) = 1;

方法3:cv::Mat_ 定义矩阵,直接初始化

cv::Mat distortion = (cv::Mat_<double>(1, 5) << 0, 0, 0, 0, 0);

二、定义的Mat类型,与使用时的类型不一致

使用Mat .at时数据类型的选择错误:如double类型的数据,你写成了float就会报错。

intrinsic.at<float>(0, 0) = 2000;

报错1:OpenCV(4.4.0) Error: Assertion failed (((0x28442211 >> ((traits::Depth<_Tp>::value) & ((1 << 3) - 1))*4) & 15) == elemSize1()) in cv::Mat::at, file D:\Projects\C++\opencv_test\opencv_test\opencv_test\include\opencv2\core\mat.inl.hpp, line 1157

三、Mat.at 取值越界

intrinsic.at<double>(3, 0) = 2000;

报错2:OpenCV(4.4.0) Error: Assertion failed (data) in cv::Mat::at, file D:\Projects\C++\opencv_test\opencv_test\opencv_test\include\opencv2\core\mat.inl.hpp, line 1154

相关推荐
ALex_zry4 小时前
C++中的“虚“机制解析:虚函数、纯虚函数与虚基类
c++
加成BUFF4 小时前
C++入门讲解6:数据的共享与保护核心机制解析与实践
开发语言·c++
AndrewHZ4 小时前
【图像处理基石】VR的眩晕感是如何产生的?
图像处理·算法·计算机视觉·vr·cv·立体视觉·眩晕感
ht巷子4 小时前
Qt:容器类
开发语言·c++·qt
后端小张4 小时前
【AI 学习】深入解析卷积神经网络(CNN):理论、实现与应用
人工智能·深度学习·神经网络·opencv·学习·自然语言处理·cnn
superman超哥4 小时前
仓颉协程调度机制深度解析:高并发的秘密武器
c语言·开发语言·c++·python·仓颉
努力的小帅4 小时前
Linux_进程间通信(Linux入门到精通)
linux·c++·centos·共享内存·进程通信·命名管道·管道的学习
那雨倾城5 小时前
PiscCode基于 YOLO 的人员分割 + PPE 检测绑定:一种工程级安全合规判定方案
图像处理·人工智能·安全·yolo·目标检测·计算机视觉
平常心cyk5 小时前
C++ 继承与派生知识点详解
开发语言·c++
H_BB5 小时前
LRU缓存
数据结构·c++·算法·缓存