当前位置: 首页 > 知识库问答 >
问题:

OpenCV错误:matrix.cpp第522行断言失败,/matrix.cpp:522:错误:(-215)

毛淳
2023-03-14

我试图创建一个ROI以上的脸检测到放置一顶帽子,如图所示:Plz点击这里:ROI以上的脸创建放置一顶帽子

    if (0<=face.x && 0<=face.x-face.width*0.08<=image.cols && 0<=face.x+face.width+face.width*0.08<=image.cols 
         && 0<=face.y && 0<=face.y-face.height*0.28<=image.rows)
    {
      Mat ROI_hat = image(Rect(abs(face.x-face.width*0.08),abs(face.y-face.height*0.28),abs(face.x+face.width+face.width*0.08),abs(face.y)));
      rectangle(image,Point(abs(face.x-face.width*0.08),abs(face.y-face.height*0.28)),Point(abs(face.x+face.width+face.width*0.08),abs(face.y)),Scalar(255, 0, 0), 1, 4);

      cout<<"Within the bounds of Image"<<endl;
    }
    else{
     cout<<" Out of bounds of Image "<<endl;
        }

OpenCV错误:断言失败(0<=ROI.X&&0<=ROI.Width&&ROI.X+ROI.Width<=M.cols&&0<=ROI.Y&&0<=ROI.Y&&0<=ROI.Y&&0<=ROI.Height&&ROI.Y+ROI.Height<=M.rows)在Mat中,文件/home/user/opencv_installed/opencv-3.2.0/modules/core/src/ma trix.cpp,第522行在抛出'CV::exception“what():ROI.X+ROI.Width<=M.cols&&0<=ROI.Y&&0<=ROI.Height&&ROI.Y+ROI.Height<=M.函数Mat中的行中止(核心转储)

谁能告诉我哪里出了问题吗?

共有1个答案

弓磊
2023-03-14

错误意味着你的ROI在图像之外,所以你的条件是错误的。

因为很容易混淆,所以我通常应用这个小技巧,它基于roi与包含所有图像的虚拟roiROIIMG的交集:

Rect roiImg(0, 0, image.cols, image.rows);
Rect roi = ... // Very complex way of setting up the ROI

if( (roi.area() > 0) && ((roiImg & roi).area() == roi.area()) ) {
    // roi is inside the image, and is non-empty
    // VALID roi
} else {
    // roi is at least partially outside of the image, or it's empty
    // INVALID roi
}
 类似资料:
  • 我试图用Hibernate创建MySQL表, 错误[org.hibernate.tool.hbm2ddl.schemaupdate](ServerService线程池--12)HHH000388:失败:create table parcel_parcels(id bigint不为null,说明文本,从varchar(255)到varchar(255),成本双精度,路由varchar(255),主键

  • 我正在用java开发一个程序,该程序使用opencv库获取一个图像文件夹并裁剪人脸。它使用了OpenCV中的人脸识别。我使用了它,但当我尝试使用更大的图像文件夹时,它会出现以下错误: OpenCV错误:Cv::OutOfMemoryError中内存不足(无法分配411068928字节),文件C:\builds\master_packslaveAddon-Win32-VC12-static\Open

  • 我正在尝试编写一个android静态编程语言应用程序,但我得到了以下错误。我哪里出错了? 这是我如何声明我的HashMap: 错误: 类型推断失败。没有足够的信息来推断构造函数HashMap中的参数K。请明确说明

  • 我是Python和OpenCV的初学者。我正在尝试一段代码,它从网络摄像头获取输入图像。下面是一段代码。 我同时使用Python2.7和Python3.4来执行此操作。在这两方面,我都面临一个奇怪的问题。代码给出了如下断言错误 OpenCV错误:cv::cvtColor,文件中的断言失败(scn==3 | | scn==4)。。。。。。。。\opencv\modules\imgproc\src\c