使用 CV2.imRead 的屏幕截图和语法错误



我是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')'

您需要添加指定加载图像颜色类型的标志

使用函数 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)

而不是写"import cv2"你必须写

"从 CV2 导入 * "

最新更新