相关疑难解决方法(0)

如何使用pip安装opencv?

我需要安装cv2一个为我编写的脚本.我试过 pip install cv2并且pip install open_cv遇到了同样的问题 - 一条警告信息dist.py并抱怨zlib未被发现.没有安装cv2.我也试过pyopenvcpip install opencv-python.

所以,我去了opencv网站并下载了相关的exe.跑吧 - 生成一堆子目录和一个make文件和东西.

现在我该怎么做?

python windows-7 python-2.7 cv2

26
推荐指数
9
解决办法
8万
查看次数

OpenCV-Python接口,cv和cv2的性能比较

几天前,我开始使用新的OpenCV-Python界面cv2.

我的问题是关于比较cvcv2界面.

关于易用性,新cv2界面的改进程度要大得多,而且使用起来非常简单有趣cv2.

但速度怎么样?

我制作了两个小码密码,一个在cv另一个cv2,用于检查性能.两者都具有相同的功能,访问图像的像素,测试它,进行一些修改等.

以下是代码:


cv2 interface:

import time
import numpy as np
import cv2

gray = cv2.imread('sir.jpg',0)
width = gray.shape[0]
height = gray.shape[1]
h = np.empty([width,height,3])
t = time.time()
for i in xrange(width):
    for j in xrange(height):
        if gray[i,j]==127:
            h[i,j]=[255,255,255]
        elif gray[i,j]>127:
            h[i,j]=[0,0,255-gray[i,j]]
        else:
            h[i,j]=[gray[i,j],0,0]
t2 = time.time()-t
print "time taken = ",t2
Run Code Online (Sandbox Code Playgroud)

================================================== ===

结果是:

所用时间= 14.4029130936

================================================== ====

cv界面:

import cv,time …
Run Code Online (Sandbox Code Playgroud)

python performance opencv computer-vision

25
推荐指数
1
解决办法
1万
查看次数

在python中读取图像

我试图png在python中读取图像.该imread函数scipy弃用,他们建议使用imageio图书馆.

但是,我宁愿限制我的外部库的使用 scipy,numpymatplotlib图书馆.因此,使用imageioscikit image不是我的好选择.

python中是否有任何方法scipy,numpy或者matplotlib读取图像,这些方法都没有被弃用?

python image scipy

22
推荐指数
4
解决办法
6万
查看次数

OpenCV 2.4.3和Python

几天前,我开始寻找一种制作简单计算机视觉系统的好方法.OpenCV库是我需要的东西,但事实证明用Python学习很难,特别是在OpenCV 2.4.3更新之后,它有非常纤薄的Python相关文档.所以我现在明白OpenCV中有很多变化,例如excmple

import cv
Run Code Online (Sandbox Code Playgroud)

就是现在

import cv2
Run Code Online (Sandbox Code Playgroud)

并且有许多模块缺失.我的意思是,是的,有新的python-opencv语法的例子,但它非常狭窄,并且被证明很难理解.例如:Python代码的官方文档中的示例

cv2.cvtColor(src, code[, dst[, dstCn]])
Run Code Online (Sandbox Code Playgroud)

我知道这段代码意味着什么,以及如何使用它,至少我想我知道.但是编写源代码和颜色代码并没有给我带来任何好处:

    Traceback (most recent call last):
  File "C:\FILEFOLDER\tut.py", line 11, in <module>
    cv.cvtColor('proba.jpg', 'CV_RGB2GRAY')
TypeError: an integer is required
Run Code Online (Sandbox Code Playgroud)

或者,如果我尝试编写变量代码:

Traceback (most recent call last):
  File "C:\FILEFOLDER\tut.py", line 11, in <module>
    cv.cvtColor('proba.jpg', CV_RGB2GRAY)
NameError: name 'CV_RGB2GRAY' is not defined
Run Code Online (Sandbox Code Playgroud)

那么有没有任何与Python相关的参考文档/教程/书籍/指南以及最新的OpenCV,其中有一些基本的解释,不会让像我这样的新手与C++或Java的不需要的代码示例混淆?

python opencv

13
推荐指数
1
解决办法
2万
查看次数

OpenCV Python单个(而不是多个)blob跟踪?

我一直试图通过Python上的OpenCV获得单色blob跟踪.下面的代码工作正常,但它找到了所有跟踪像素的质心,而不仅仅是最大blob的质心.这是因为我正在拍摄所有像素的时刻,但我不确定如何进行色彩跟踪.我有点困惑于我需要做什么才能使这个单一的blob跟踪器而不是多blob平均值.

这是代码:

#! /usr/bin/env python 

#if using newer versions of opencv, just "import cv"
import cv2.cv as cv

color_tracker_window = "Color Tracker" 

class ColorTracker: 

def __init__(self): 
    cv.NamedWindow( color_tracker_window, 1 ) 
    self.capture = cv.CaptureFromCAM(0) 

def run(self): 
    while True: 
        img = cv.QueryFrame( self.capture ) 

        #blur the source image to reduce color noise 
        cv.Smooth(img, img, cv.CV_BLUR, 3); 

        #convert the image to hsv(Hue, Saturation, Value) so its  
        #easier to determine the color to track(hue) 
        hsv_img = cv.CreateImage(cv.GetSize(img), 8, 3) 
        cv.CvtColor(img, hsv_img, cv.CV_BGR2HSV) 

        #limit all …
Run Code Online (Sandbox Code Playgroud)

python opencv blob color-tracking

12
推荐指数
1
解决办法
2万
查看次数

Python OpenCV Box2D

我试图从python中调用OpenCV函数MinAreaRect2.我使用OpenCV 2.4.2与python 2.7和numpy 1.6.我走了这么远:

import cv

def nda2ipl(arr, dtype=None):
    return cv.fromarray(np.ascontiguousarray(arr, dtype=dtype))

def min_area_rect2(points):
    storage = cv.CreateMemStorage()
    cv_points = nda2ipl(points.reshape((-1, 1, 2)))
    out = cv.MinAreaRect2(cv_points, storage)
return out
Run Code Online (Sandbox Code Playgroud)

我可以用形状的ndarray(N x 2)来调用这个函数.我得到了这样的结果:

((476.5, 604.5), (951.0, 1207.0), -0.0)
Run Code Online (Sandbox Code Playgroud)

我假设第一个元组是盒子的中心,第二个元素是宽度和高度,最后一个是角度.

问题是我无法得到明确的参考说明.实际上,opencv文档告诉我函数在Python中返回什么.

我找到了关于这个功能官方文档,但这不是很有用.

python中MinAreaRect2的输出究竟是什么?更一般地说,在哪里可以获得有关OpenCV python包装器的精确文档?

python opencv image-processing

8
推荐指数
1
解决办法
1万
查看次数

OpenCV 2.3.1 Python with Eclipse显示了synatx错误但仍在运行

我按照本指南使用Eclipse在Python 2.7中设置了OpenCV 2.3.1.

我还将库复制到我的python文件夹中:

http://i.snag.gy/J9RrC.jpg

这是我的Hello World程序,它正确运行(创建一个命名窗口并显示图像),但Eclipse仍显示语法错误

Eclipse显示语法错误

每个错误都说"导入的未定义变量"

以下是此项目的python设置:

http://i.snag.gy/KBXiB.jpg http://i.snag.gy/KfTpF.jpg

我是否错误地设置了PythonPath?如何让Eclipse正常工作?

谢谢

python eclipse opencv image image-processing

7
推荐指数
2
解决办法
4016
查看次数

没有名为cv的模块

我正在尝试运行此脚本:

https://github.com/openalpr/train-detector/blob/master/crop_plates.py

我以前从未处理过python。首先,我在打印行中有一些语法错误。他们没有括号...但是我不确定是否由于安装的Python版本而收到此错误,或者这确实是语法错误。修复语法错误后,我收到以下错误:

C:\>py crop_plates.py
Traceback (most recent call last):
File "crop_plates.py", line 7, in <module>
import cv2, cv
ImportError: No module named cv
Run Code Online (Sandbox Code Playgroud)

我做了以下工作:

已安装Python 2.7.5 32位。

已安装numpy 1.9.1 32位(也尝试过其他版本)

安装了matplotlib 1.3.0。

已安装的OpenCv

从复制cv2.pyd

C:\Users\Me\Downloads\opencv\build\python\2.7\x86
Run Code Online (Sandbox Code Playgroud)

C:\Python27\Lib\site-packages
Run Code Online (Sandbox Code Playgroud)

但是我找不到我所缺少的cv.pyd文件。

我找到了有关安装Opencv的指南的参考,但无法正常使用 http://opencv.willowgarage.com/documentation/python/

非常感谢你,

编辑:我正在Windows 7中运行Python。

python opencv numpy

7
推荐指数
1
解决办法
2万
查看次数

在OpenCV 2.4上找不到GaussianBlur模块

我正在尝试使用Python OpenCV对视频流进行gussian过滤,但是我得到了错误:

blur = cv.GaussianBlur(dst, (5, 5), 0)
AttributeError: 'module' object has no attribute 'GaussianBlur'
Run Code Online (Sandbox Code Playgroud)

我很确定高斯模糊应该适用于openCV 2.4,所以我一定做错了.如果我注释掉高斯模糊线,否则代码会按照我的要求执行.

这是整个事情:

import sys
from math import sin, cos, sqrt, pi
import cv2.cv as cv
import urllib2

if __name__ == '__main__':
    try: fn = sys.argv[1]
    except: fn = 0

def nothing(*args):
    pass

cv.NamedWindow("Source", 1)
cv.NamedWindow("Hough", 1)
cv.CreateTrackbar("rho","Hough",1,10, nothing)
cv.CreateTrackbar("thresh","Hough",1,1000, nothing)
cv.CreateTrackbar("cThresh1","Hough",0,500, nothing)
cv.CreateTrackbar("cThresh2","Hough",0,500, nothing)

while True:
    url = 'http://192.168.5.1:8080/shot.jpg'
    filedata = urllib2.urlopen(url).read()
    imagefiledata = cv.CreateMatHeader(1, len(filedata), cv.CV_8UC1)
    cv.SetData(imagefiledata, filedata, len(filedata))
    src = cv.DecodeImageM(imagefiledata, cv.CV_LOAD_IMAGE_GRAYSCALE) …
Run Code Online (Sandbox Code Playgroud)

python opencv

3
推荐指数
1
解决办法
9744
查看次数