Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper' #6

Open
Dinesh317 opened this issue Aug 24, 2018 · 23 comments

Comments

@Dinesh317
Copy link

Traceback (most recent call last):
File "demo.py", line 132, in
result = find_strawberry(image)
File "demo.py", line 63, in find_strawberry
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
cv2.error: OpenCV(3.4.2) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'

@xaggi
Copy link

xaggi commented Sep 3, 2018

Hi, did you solve it? I am having the same issue here :(

@hollowstrawberry
Copy link

I'm pretty sure it just means the image doesn't exist. I fixed the path when opening the image and it worked for me.

@pblxptr
Copy link

pblxptr commented Sep 4, 2018

I have the same issue, but fixing the path does not work for me.

@hollowstrawberry
Copy link

Due to the cause of the error in my case, you might want to double check that the image isn't None, or in an otherwise invalid state I suppose (though about that I wouldn't know)

@pblxptr
Copy link

pblxptr commented Sep 4, 2018

The image isn't None. I can show it. It occurs when I'm trying to convert image from RGBA to GRAY.

@ArmoredReaper
Copy link

ArmoredReaper commented Sep 5, 2018

I'm getting the same error, even when using the full path to the image. Someone else I know had the same problem and fixed it by moving the pictures, but I can't get it to work no matter what I try. (FYI working on a Mac, not sure if that changes anything)

@hollowstrawberry
Copy link

hollowstrawberry commented Sep 5, 2018

When I next got this error (or a very similar one at least) it was because I was trying to make my own image with a numpy array. It probably doesn't help in your cases, but I realized each pixel has to be on its own sublist, like so: [[[a,b,c]], [[a,b,c]], [[a,b,c]]]

Try printing your image to the console to see if it makes sense

@Hitsaa
Copy link

Hitsaa commented Sep 20, 2018

I also had the same issue. Actually I had mistakenly typed wrong name of image file in my code that I was trying to import. But when I typed the right name of file then this issue was solved.

@shravankumar9892
Copy link

shravankumar9892 commented Oct 9, 2018

Even I had the same problem, and the solution was quiet easy. Remember 1 thing, if the RGB values of your image lie in the range of 0-255, make sure the values are not of data type 'float'. As OpenCV considers float only when values range from 0-1. If it finds a float value larger than 1 it clips off the value thinking floats only exsist between 0-1. Hence such errors generated. So convert the data type to uint8 if values are from 0-255.
image = image.astype('uint8')
Check this Kaggle Kernal

@Sannndy0000
Copy link

I met the same problem and found that this occurred to me simply because I commented out 2 lines:

if cv2.waitKey(1) & 0xFF == ord('q'):
        break

Getting them back made it work.

williamfzc added a commit to williamfzc/findit that referenced this issue Dec 27, 2018
@JH-Xie
Copy link

JH-Xie commented Mar 12, 2019

I solved this problem by use x = np.asarray(x, dtype=np.uint8) before do the conversion

@INF800
Copy link

INF800 commented May 14, 2019

I solved this problem by use x = np.asarray(x, dtype=np.uint8) before do the conversion

for this code, i used your instruction :

cap = cv2.VideoCapture(0)

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

frame = np.asarray(frame, dtype=np.uint8)


# 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()

i am getting error : int() argument must be a string, a bytes-like object or a number, not 'NoneType'

@Soumyatrivedi3099
Copy link

error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'
i have this same error and i dont know how to remove it.

@shubhambagwari
Copy link

Try this once,
cap = cv2.VideoCapture(0) #O is for internal camera.
cap = cv2.VideoCapture(1) #1 is for external camera.

@ZP-Guo
Copy link

ZP-Guo commented Nov 2, 2019

I get this error because of a stupid bug. I use LSP dataset to train some nets recently and this bug that you discuss comes. What something wrong. I find it for two days. And I find "im00001.jpg" was changed into "img00001.jpg" by myself.
So maybe it is just a little bug that I can not get it as soon as I can.

@Mahdidrm
Copy link

Mahdidrm commented Nov 5, 2019

Try this once,
cap = cv2.VideoCapture(0) #O is for internal camera.
cap = cv2.VideoCapture(1) #1 is for external camera.

Yeeees... thank you ! I am working on a code that wrote on labtop and I am running it on my PC... I use 1 and it works !!!! thanks a lot

@Dhurub007
Copy link

get the same error while using trackbar in opencv but after this method it resolved
img = np.full((512,512,3), 12, np.uint8)

@SCF-byter
Copy link

I had exactly the same error.
Basically, it happend because I accidentally put Greyscale images into cv2.cvtColor(image, cv2.COLOR_BGR2RGB). So make sure you are definitively putting in color images (i.e. images with three channels)

@14-purva
Copy link

error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'cv::CvtHelper<struct cv::Set<3,4,-1>,struct cv::Set<1,-1,-1>,struct cv::Set<0,2,5>,2>::CvtHelper'
can somebody help me out with this error....

@Faguilar-V
Copy link

I have the same issue, but fixing the path does not work for me.

Yes, only change the path work

@Zaniyar
Copy link

Zaniyar commented Aug 13, 2020

Non of the above solved my problem.

What I noticed is, when I use pyCharm or Code I get those errors.
In pyCharm:

  rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2BGRA)
cv2.error: OpenCV(3.4.2) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'

in Code:
Abort trap: 6

I tested: I have everywhere the same env and same python version.

Solution for me:

When I run the code in the standalone terminal, it works fine.

I tried also to run Code as admin (with sudo on the terminal, but got same errors).

@Michal2207
Copy link

I've got the same error. I fixed it by using two '\' in the file path instead of one ''.

@rafaelmsales27
Copy link

I had the same problem, I was sure the path was right.

My problem was in the cv2.imread I had before the color conversion.

Since I am getting the image from a file instead of cv2.VideoCapture.

My code was as follows:

# x is my path
for x in list_of_paths:
        raw_img = cv2.imread(x)
        raw_img_colored = cv2.cvtColor(raw_img, COLOR_BayerRG2RGB)

The solution was to put the cv2.IMREAD_UNCHANGED (or -1) inside the cv2.imread method as follows:

# x is my path
for x in list_of_paths:
        raw_img = cv2.imread(x, -1)
        raw_img_colored = cv2.cvtColor(raw_img, COLOR_BayerRG2RGB)

Hope it helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests