Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

python and videocapture from webcam

Hello,

I'm using different version of OpenCV (2.4.6 to 2.4.9). I try to use videocapture in pyhton.

First I just try to run this code with opencv 2.4.6 binding for python:

import numpy as np import cv2

cap = cv2.VideoCapture(0)

while(True): # Capture frame-by-frame ret, frame = cap.read()

# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
    break

When everything done, release the capture

cap.release()

cv2.destroyAllWindows()

It's working perfectly. But, If I try to run the same code with the last binding of opencv (2.4.9) I see this error message :

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file ........\opencv\modules\imgproc\src\color.cpp, line 3737 Traceback (most recent call last): File "/videoBasis.py", line 11, in <module> gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.error: ........\opencv\modules\imgproc\src\color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

Could somebody help me

python and videocapture from webcam

Hello,

I'm using different version of OpenCV (2.4.6 to 2.4.9). I try to use videocapture in pyhton.

First I just try to run this code with opencv 2.4.6 binding for python:

python :

exemple code :

import numpy as np import cv2

cap = cv2.VideoCapture(0)

while(True): # Capture frame-by-frame ret, frame = cap.read()cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

# Display the resulting frame
cv2.imshow('frame',gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
    break

When everything done, release the capture

cap.release()

cap.release() cv2.destroyAllWindows()

It's working perfectly. But, If I try to run the same code with the last binding of opencv (2.4.9) I see this error message :

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file ........\opencv\modules\imgproc\src\color.cpp, line 3737 Traceback (most recent call last): File "/videoBasis.py", line 11, in <module> gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) cv2.error: ........\opencv\modules\imgproc\src\color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

Could somebody help me

python and videocapture from webcam

Hello,

I'm using different version of OpenCV (2.4.6 to 2.4.9). I try to use videocapture in pyhton.

First I just try to run this code with opencv 2.4.6 binding for python :

exemple code :

import numpy as np
import cv2

cv2 cap = cv2.VideoCapture(0)

cv2.VideoCapture(0) while(True): ret, frame = cap.read() gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame',gray)
 if cv2.waitKey(1) & 0xFF == ord('q'):
     break
cap.release()
cv2.destroyAllWindows()

cap.release() cv2.destroyAllWindows()

It's working perfectly. But, If I try to run the same code with the last binding of opencv (2.4.9) I see this error message :

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file ........\opencv\modules\imgproc\src\color.cpp, ..\..\..\..\opencv\modules\imgproc\src\color.cpp, line 3737
Traceback (most recent call last):
  File "/videoBasis.py", line 11, in <module>
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: ........\opencv\modules\imgproc\src\color.cpp:3737: ..\..\..\..\opencv\modules\imgproc\src\color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

cv::cvtColor

Could somebody help me

python and videocapture from webcam

Hello,

I'm using different version of OpenCV (2.4.6 to 2.4.9). I try to use videocapture in pyhton.

First I just try to run this code with opencv 2.4.6 binding for python :

exemple code :

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

It's working perfectly. But, If I try to run the same code with the last binding of opencv (2.4.9) I see this error message :

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file ..\..\..\..\opencv\modules\imgproc\src\color.cpp, line 3737
Traceback (most recent call last):
  File "/videoBasis.py", line 11, in <module>
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: ..\..\..\..\opencv\modules\imgproc\src\color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

Could somebody Can someone help me

python and videocapture from webcam

Hello,

I'm using different version of OpenCV (2.4.6 to 2.4.9). I try to use videocapture in pyhton.

First I just try to run this code with opencv 2.4.6 binding for python :

exemple code :

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()

It's working perfectly. But, If I try to run the same code with the last binding of opencv (2.4.9) I see this error message :

OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file ..\..\..\..\opencv\modules\imgproc\src\color.cpp, line 3737
Traceback (most recent call last):
  File "/videoBasis.py", line 11, in <module>
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.error: ..\..\..\..\opencv\modules\imgproc\src\color.cpp:3737: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor

Can someone help me

OK :

For who are interesting about the answer please see the code below. It's seems that the last version of OpenCV is less flexible the webcam.

import numpy as np
import cv2

isValid = True

captureLeft = cv2.VideoCapture(0)

if not captureLeft.isOpened()  :
    print("can't open the camera")


while(True):
    # Capture frame-by-frame
    try :
        retLeft, frameLeft = captureLeft.read()

    except:
        print("error the take a image")
        isValid = False


    if isValid == True:
        try:
            # Our operations on the frame come here
            grayLeft = cv2.cvtColor(frameLeft, cv2.COLOR_BGR2GRAY)

            # Display the resulting frame
            cv2.imshow('frameLeft',grayLeft)

            if cv2.waitKey(1) & 0xFF == ord('q'):
                break
        except:
            print("Error during the convertion")


# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()