Skip to content
Advertisement

OPENCV – !ssize.empty()

THIS IS MY CODE:

import cv2 as cv
import numpy as np


cap = cv.VideoCapture(0)
imgTarget = cv.imread('photosTargetImage.jpg') #bu resmimiz
Vid = cv.VideoCapture('photosvideo.mp4')


detection = False
frameCounter = 0

success, Video = Vid.read()
h,w,c = imgTarget.shape #burada resmimizin yüksekliğini, kalınlığını genişliğini falan alıyoruz.
Video = cv.resize(Video, (w, h))

Guys, this is the part of my code. I am trying to resize my image but ıt gives the following error:

error: OpenCV(4.0.1) C:ciopencv-suite_1573470242804workmodulesimgprocsrcresize.cpp:3784: error: (-215:Assertion failed) !ssize.empty() in function ‘cv::resize’

Do you have any suggestions to solve this?

Advertisement

Answer

If I’m not mistaken, you want to resize the video frames with the same size of imgTarget

You can solve with two-steps


    1. Check whether the video is opened
    1. If the video is opened then resize

First you should be checking whether your video can be opened

h,w,c = imgTarget.shape #burada resmimizin yüksekliğini, kalınlığını genişliğini falan alıyoruz.

while Vid.isOpened():
    success, Video = Vid.read()

Now you need to check whether the current frame returns

h,w,c = imgTarget.shape #burada resmimizin yüksekliğini, kalınlığını genişliğini falan alıyoruz.

while Vid.isOpened():
    success, Video = Vid.read()
    if success:

Now resize

h,w,c = imgTarget.shape #burada resmimizin yüksekliğini, kalınlığını genişliğini falan alıyoruz.

while Vid.isOpened():
    success, Video = Vid.read()
    if success:
        Video = cv.resize(Video, (w, h))

If you want to display you can use imshow

h,w,c = imgTarget.shape #burada resmimizin yüksekliğini, kalınlığını genişliğini falan alıyoruz.

while Vid.isOpened():
    success, Video = Vid.read()
    if success:
        Video = cv.resize(Video, (w, h))
        cv2.imshow("Video")
        key = cv2.waitKey(1) & 0xFF

        # if the `q` key was pressed, break from the loop
        if key == ord("q"):
            break

Make sure to release the cap and Vid variables at the end of the code.

h,w,c = imgTarget.shape #burada resmimizin yüksekliğini, kalınlığını genişliğini falan alıyoruz.

while Vid.isOpened():
    success, Video = Vid.read()
    if success:
        Video = cv.resize(Video, (w, h))
        cv2.imshow("Video")
        key = cv2.waitKey(1) & 0xFF

        # if the `q` key was pressed, break from the loop
        if key == ord("q"):
            break

Vid.release()
cap.release()
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement