使用cv2.imread进行屏幕捕获和语法错误

时间:2016-01-15 08:54:58

标签: python opencv

我是python和OPENCV的新手,我需要编写一个读取的python代码 一个图像。 我使用了一些我在网上找到的例子,得到了一些奇怪的结果。

我正在运行ubuntu12.04和opencv2.4.9
首先,当我运行文件时,我的鼠标转向交叉等待我的输入(4次点击) 其次,我得到了语法按摩,我找不到代码中的错误。
最后一个,当我查看py文件的文件夹时,我看到2个新文件:
“cv2” - 我第一次点击的截图和“np” - 其他3个截图(其他3个点击)

以下是代码:

!在/ usr / bin中/ Python的

import cv2
import numpy as np

阅读图片

img = cv2.imread('clutter.jpg')

Yellow_MIN = np.array([20, 50, 45],np.uint8)
Yellow_MAX = np.array([30, 255, 255],np.uint8)

hsv_img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)

frame_threshed = cv2.inRange(hsv_img, Yellow_MIN, Yellow_MAX)
cv2.imwrite('output2.jpg', frame_threshed)

- 代码结束 -

语法错误

./color_find_et.py: line 9: syntax error near unexpected token `('
./color_find_et.py: line 9: `img = cv2.imread('clutter.jpg')'

2 个答案:

答案 0 :(得分:0)

您需要添加Flags specifying the color type of a loaded image

  

使用函数cv2.imread()读取图像。图像应该在工作目录中,或者应该给出完整的图像路径。

     
    

第二个参数是一个标志,指定图像的方式     读取。

  
cv2.IMREAD_COLOR : Loads a color image. Any transparency of image will be neglected. It is the default flag.
cv2.IMREAD_GRAYSCALE : Loads image in grayscale mode
cv2.IMREAD_UNCHANGED : Loads image as such including alpha channel
     

请注意

     

您可以简单地传递整数1,0或-1,而不是这三个标志   分别

具体来说,您的代码必须是:

 img = cv2.imread('clutter.jpg', 0)

答案 1 :(得分:-2)

代替编写“ import cv2” 你必须写

“从cv2导入*”