OpenCV报错: cv::Exception,位于内存位置 0x00000078226FEE58 处。

简介: OpenCV报错: cv::Exception,位于内存位置 0x00000078226FEE58 处。

场景:

通过对前面Mat类、imread函数、imshow函数、imwrite函数等的学习,写一个综合项目:把一张logo的图片嵌入到另一张图片中。


问题描述

当我运行的时候:

报出这样的错误,并且自动跳转到mat.inl.hpp这个源码中

0x00007FFF663E4FD9 处(位于 OC.exe 中)引发的异常: 
Microsoft C++ 异常: cv::Exception,
位于内存位置 0x00000078226FEE58 处。


原因分析:

1、首先我就去百度,查看是不是Mat类的用法错误,就去百度了解了一下:

参考,不过对于小白的我看不懂,就又去百度其他的

roi了解

2、我就开始对源码就行一点一点的运行,发现到这行代码就会报错

imageROI = image(Rect(800, 350, logo.cols, logo.rows));

这我当初就纳闷了,明明是看着书写的,怎么会错呢,于是乎我就百度一下,看了一下这个【博主】,按照他的意思就是Rect的矩形坐标设置太大了,logo图跑出去了,下面Rect的具体用法。

Rect(INT,INT,INT,INT):创建一个矩形对象,通过使用四个整数来初始化矩形左上角的横坐标、纵坐标以及右下角的横坐标、纵坐标(不要弄反)(cocos2d中的rect参数是(x, y, width, height),第三第四个参数分别是矩形的宽和高)

这个时候把坐标改一下,我改成如下:

imageROI = image(Rect(300, 10, logo.cols, logo.rows));

3、不过这里还有一个Bug,我参考了另一个【博主】,这个参数如果写199,会把原图缩小很多,同样会造成logo图片超出区域。把它改成1或者不写就可以了。

Mat image = imread("D:\\dota.jpg",199);

成功实现:

相关文章
|
1月前
|
SQL 缓存 DataWorks
DataWorks报错问题之内存溢出错误如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
关系型数据库 MySQL Java
实时计算 Flink版操作报错之整内存和cpu分配之后启动报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
1月前
|
存储 编译器 C语言
C陷阱:数组越界遍历,不报错却出现死循环?从内存解析角度看数组与局部变量之“爱恨纠葛”
在代码练习中,通常会避免数组越界访问,但如果运行了这样的代码,可能会导致未定义行为,例如死循环。当循环遍历数组时,如果下标超出数组长度,程序可能会持续停留在循环体内。这种情况的发生与数组和局部变量(如循环变量)在内存中的布局有关。在某些编译器和环境下,数组和局部变量可能在栈上相邻存储,数组越界访问可能会修改到循环变量的值,导致循环条件始终满足,从而形成死循环。理解这种情况有助于我们更好地理解和预防这类编程错误。
34 0
|
1月前
3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样 4.内存的位置不一样(了解) 局部变量:位于栈内存 成员变量:位于堆内存 5生命周期不一样(了解)
3.默认值不一样【重点】 局部变量:没有默认值,如果要想使用,必须手动进行赋值 成员变量:如果没有赋值,会有默认值,规则和数组一样 4.内存的位置不一样(了解) 局部变量:位于栈内存 成员变量:位于堆内存 5生命周期不一样(了解)
21 0
|
1月前
|
缓存 NoSQL 中间件
redis内存溢出报错--OOM command not allowed when used memory > 'maxmemory'
该内容是关于Redis缓存服务器的使用指南。通过Xshell连接IP地址为25.218.153.193或206的主机,进入/data/iuap/middleware/redis-30001/bin目录,使用`redis-cli`连接到IP为206的30003端口。登录时需`auth yonyou*123`,可运行`info`和`info memory`查看状态,`flushall`清理缓存。在清理前,要备份/data/iuap/middleware/redis-30003/data/下的.aof和.rdb文件,利用tar命令打包并移至/tmp目录。
|
1月前
|
Java Android开发 计算机视觉
报错opencv2:compileDebugJavaWithJavac
报错opencv2:compileDebugJavaWithJavac
29 0
|
1月前
|
关系型数据库 MySQL Java
Flink cdc报错问题之内存不足报错如何解决
Flink CDC报错指的是使用Apache Flink的Change Data Capture(CDC)组件时遇到的错误和异常;本合集将汇总Flink CDC常见的报错情况,并提供相应的诊断和解决方法,帮助用户快速恢复数据处理任务的正常运行。
|
1月前
|
计算机视觉 Python
opencv cv::Range()和cv::Rect()用于crop来获得感兴趣区域
opencv cv::Range()和cv::Rect()用于crop来获得感兴趣区域
58 0
|
1月前
|
微服务
|
5天前
|
算法 计算机视觉
【Qt&OpenCV 图像的感兴趣区域ROI】
【Qt&OpenCV 图像的感兴趣区域ROI】
9 1