cv2.imread flags not found

匿名 (未验证) 提交于 2019-12-03 02:56:01

问题:

I recently started working with openCV and python and decided to analyze some sample code to get an idea of how things are done.

However, the sample code I found, keeps throwing this error:

Traceback (most recent call last): File "test.py", line 9, in <module> img = cv2.imread(sys.argv[1],cv2.CV_LOAD_IMAGE_COLOR) ## Read image file AttributeError: 'module' object has no attribute 'CV_LOAD_IMAGE_COLOR' 

The code I was using can be found below:

import cv2 import sys import numpy as np  if len(sys.argv) != 2: ## Check for error in usage syntax     print "Usage : python display_image.py <image_file>"  else:     img = cv2.imread(sys.argv[1], cv2.CV_LOAD_IMAGE_COLOR) ## Read image file  if img == None: ## Check for invalid input     print "Could not open or find the image" else:     cv2.namedWindow('Display Window') ## create window for display     cv2.imshow('Display Window', img) ## Show image in the window     print "size of image: ", img.shape ## print size of image     cv2.waitKey(0) ## Wait for keystroke     cv2.destroyAllWindows() ## Destroy all windows 

Is this a problem with my installation? I used this website as a guide to install python and openCV.

回答1:

OpenCV 3.0 came with some namespace changes, and this might be one of them. The function reference given in the other answer is for OpenCV 2.4.11, and unfortunately there are significant renamings, including enumerated parameters.

According to the OpenCV 3.0 Example here, the correct parameter is cv2.IMREAD_COLOR.

According to the OpenCV 3.0 Reference Manual for C, CV_LOAD_IMAGE_COLOR is still there.

And my conclusion from the above resources and here, they changed it in OpenCV 3.0 python implementation.

For now, the best to use seems like the following:

img = cv2.imread("link_to_your_file/file.jpg", cv2.IMREAD_COLOR)  


回答2:

have you tried this?

import cv2 import sys import numpy as np   cv2.CV_LOAD_IMAGE_COLOR = 1 # set flag to 1 to give colour image #cv2.CV_LOAD_IMAGE_COLOR = 0 # set flag to 0 to give a grayscale one   img = cv2.imread("link_to_your_file/file.jpg", cv2.CV_LOAD_IMAGE_COLOR)    cv2.namedWindow('Display Window') ## create window for display cv2.imshow('Display Window', img) ## Show image in the window print ("size of image: "), img.shape ## print size of image cv2.waitKey(0) ## Wait for keystroke cv2.destroyAllWindows() ## Destroy all windows 

see imread also have a look at this



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!