相关疑难解决方法(0)

OpenCV错误:函数imshow中的(-215)size.width> 0 && size.height> 0

我正在尝试制作一个结合Haar Cascade Classification和Lucas Kanade良好特征检测的人脸跟踪器.但是,我不断收到一个错误,我无法弄清楚它的含义以及如何解决它.

有人能帮我一下吗?

错误:

line 110, in <module>
cv2.imshow('frame',img)
error: /build/buildd/opencv-2.4.8+dfsg1/modules/highgui/src/window.cpp:269: 
error: (-215)size.width>0 && size.height>0 in function imshow
Run Code Online (Sandbox Code Playgroud)

码:

from matplotlib import pyplot as plt
import numpy as np

import cv2

face_classifier = cv2.CascadeClassifier('haarcascades/haarcascade_frontalface_default.xml')


cap = cv2.VideoCapture(0)


# params for ShiTomasi corner detection
feature_params = dict( maxCorners = 200,
                       qualityLevel = 0.01,
                       minDistance = 10,
                       blockSize = 7 )

# Parameters for lucas kanade optical flow
lk_params = dict( winSize  = (15,15),
                  maxLevel = 2,
                  criteria = (cv2.TERM_CRITERIA_EPS …
Run Code Online (Sandbox Code Playgroud)

python opencv image computer-vision opencv3.0

35
推荐指数
5
解决办法
12万
查看次数

断言失败(size.width> 0 && size.height> 0)

2.4.7按照本教程使用Visual Studio Express 2013和OpenCV .

我花了几个小时在网上搜索解决方案,包括所有相关的SO问题.我试过了:

  • 返回值为VideoCapture::open 1

  • 将waitKey()延迟延长到50ms,然后延迟500ms

  • 设置窗口的尺寸

  • 在Visual C++上创建另一个项目

  • 打开现有图像而不是从相机读取(相同的错误)

但没有运气,请帮忙!

这是我的代码:

#include <opencv/cv.h>
#include <opencv/highgui.h>
#include <iostream>

using namespace std;
using namespace cv;

int main() {
    Mat image;

    VideoCapture cap;
    int camOpen = cap.open(CV_CAP_ANY);

    namedWindow("window", CV_WINDOW_AUTOSIZE);

    while (true) {
        cap >> image;

        imshow("window", image);

    // delay 33ms
    waitKey(33);        
    }

}
Run Code Online (Sandbox Code Playgroud)

当我编译并运行它时,我收到以下错误:

OpenCV错误:cv :: imshow中的断言失败(size.width> 0 && size.height> 0),文件........\opencv\modules\highgui\src\window.cpp,第261行

该行发生错误 imshow("window", image);.当我评论它时,没有任何抱怨.


更新:

这个错误发生原因的合理解释是我的网络摄像头需要时间来启动,这就是为什么image.empty()最初是真的,因此调用abort()函数来退出程序.

随着代码

if (!image.empty()) {
    imshow("window", image);
} …
Run Code Online (Sandbox Code Playgroud)

c++ opencv visual-studio visual-c++

18
推荐指数
1
解决办法
5万
查看次数

断言失败:函数imshow中的size.width> 0 && size.height> 0

我在raspberry pi上使用opencv2和python.我是python和opencv的新手.我试图读取jpeg图像并显示图像,它显示以下错误:

/home/pi/opencv-2.4.9/modules/highgui/src/window.cpp:269: \
  error: (-215) size.width>0 &&  size.height>0 in function imshow.
Run Code Online (Sandbox Code Playgroud)

而代码是:

import cv2
# windows to display image
cv2.namedWindow("Image")
# read image
image = cv2.imread('home/pi/bibek/book/test_set/bbb.jpeg')
# show image
cv2.imshow("Image", image)
# exit at closing of window
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

python opencv raspberry-pi

8
推荐指数
3
解决办法
3万
查看次数