我不知道使用哪一个.哪个是最好的一个??? 或者,两者都是一样的???
在一些文章中,我读到simpleCV是一种可以访问openCV的接口.我不明白这一点.那我们为什么要分开安装openCV?
任何人都可以描述我如何使用opencv或simplecv在python中实现SWT?
我正试图从游戏板中提取一个项目的信件.目前,我可以检测游戏板,将其分割成各个方块并提取每个方块的图像.
我得到的输入是这样的(这些是单独的字母):






起初,我正在计算每个图像的黑色像素数,并将其用作识别不同字母的方法,这对于受控输入图像效果较好.但是,我遇到的问题是,对于与这些图像略有不同的图像,我无法做到这一点.
我每个字母大约有5个样本用于培训,这应该足够好了.
有谁知道什么是一个好的算法用于此?
我的想法是(在图像标准化后):
任何帮助,将不胜感激!
是否有任何工业计算机视觉相机附带Python接口,或者有一个完善的第三方解决方案?
我一直在使用网络摄像头做一些工作,可以通过OpenCV轻松访问.但是,现在我需要一款更坚固,更灵活的相机.我需要能够设置某些参数,如曝光和增益.我希望尽可能避免使用其他语言而不是Python,因为Python是我最熟悉的.
我已经看过uuye相机的插件,如pyueye,看起来很好,除了这在Windows中不能很好地工作.
我有一个非白色区域的图像(例如段落但不处理OCR).这些区域之间的空间有些规律,观看图像的人将能够看到这些区域之间存在白色空间.
我打算做的是找到所有区域的顶角和底角,从底角开始到下一个区域的顶角,获取每条水平线的熵,以及具有最小值的线并返回该线的Y位置.

[region] <--- maximum corner coordinates identified
[line with lowest entropy] <--- return Y position starting from above region's bottom corner's Y coordinate.
[region]<--- stop at Y coordinate of this region's top corner.
Run Code Online (Sandbox Code Playgroud)
我打算做的是裁剪这些地区.
我想到的另一种方法是使用直方图来识别最低点并以某种方式找到最低点的位置.
我试图使用Media Flow Tracker根据区域跟踪我的手,但是一段时间后边界框会不断增加.它在前10秒左右正常工作.
这是一段代码片段:
def main():
display = SimpleCV.Display()
cam = Kinect()
ts = []
bb = None
img = cam.getDepth().flipHorizontal()
while display.isNotDone():
depth = cam.getDepth().flipHorizontal()
filtered = depth.stretch(0, 180).binarize().dilate(1)
if bb is None:
blobs = filtered.findBlobs()
if blobs:
hand = blobs.filter(abs(7000 - blobs.area()) < 500)
print hand
if hand:
bb = hand[0].boundingBox()
print bb
if bb is not None:
ts = filtered.track("mftrack", ts, img, bb)
if ts:
ts.drawBB()
ts.showPixelVelocityRT()
ts.drawPath()
filtered.show()
Run Code Online (Sandbox Code Playgroud) 我认为sys路径是正确的,cv.pyd和cv.pyd驻留在c:\ OpenCV2.3\build\Python\2.7\Lib\site-packages中.
>>> import sys
>>> sys.path
['', 'C:\\Python27\\Lib\\idlelib', 'C:\\Python27\\lib\\site-packages\\pil-1.1.7-py2.7-win32.egg', 'C:\\Python27\\lib\\site-packages\\cython-0.17-py2.7-win32.egg', 'C:\\Python27\\lib\\site-packages\\pip-1.2-py2.7.egg', 'c:\\OpenCV2.3\\build\\Python\\2.7\\Lib\\site-packages', 'C:\\Python27\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\IPython\\extensions']
Run Code Online (Sandbox Code Playgroud)
导入cv或cv2似乎没问题,但导入cv2.cv没有
>>> import cv
>>> import cv2.cv as cv
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
import cv2.cv as cv
ImportError: No module named cv
>>> import cv2
>>> cv.NamedWindow("camera", 1)
Run Code Online (Sandbox Code Playgroud)
...
可能是ImportError的原因是什么?
在"精简"的失败尝试后安装SimpleCV框架superpack为Windows.我现在正在编写一本手动安装指南(我可以使用它,因为我可以更好地控制安装,并可能最终了解如何在Windows中正确安装Python包!)
而不是盲目地按照指南我试图理解每一步,所以我对此感到困惑..
easy_install pyreadline
easy_install PIL
easy_install cython
easy_install pip
pip install ipython
pip install https://github.com/ingenuitas/SimpleCV/zipball/1.3
Run Code Online (Sandbox Code Playgroud)
为什么不尽快easy_install pip然后点其他包?
easy_install pip {{{I intend to research and probably use get-pip.py here}}}
pip install pyreadline
pip install PIL
pip install cython
pip install ipython
pip install https://github.com/ingenuitas/SimpleCV/zipball/1.3
Run Code Online (Sandbox Code Playgroud)
这样做是否存在陷阱?(我有限的理解是,使用pip而不是easy_install总是更好.)
我知道这个问题与SimpleCV直接相关,但是我想学习正确的方法,以便将来在没有指南的帮助下安装包集合.
我正在开发一个简单的CV项目,在Arch Linux上使用SimpleCV.在各个窗口中通过repl显示图像和提要工作正常,但是使用浏览器进行显示不起作用.
img.show()
Run Code Online (Sandbox Code Playgroud)
作品.
img.show(type="browser")
Run Code Online (Sandbox Code Playgroud)
不行.repl显示以下消息:
/usr/lib/python2.7/site-packages/IPython/html.py:14:ShimWarning:该
IPython.html软件包已被弃用.你应该从中导入notebook.IPython.html.widgets已经搬到了ipywidgets."IPython.html.widgets已经搬到了ipywidgets.",ShimWarning)
在pastebin上的Stacktrace.
奇怪的是,同样的功能在Debian上运行得很好,所以我假设可能存在版本问题.
任何提示都将受到高度赞赏.
我需要让一台uEye相机在Windows上使用python进行拍照并在直播中进行操作.
由于uEye相机是广泛使用的工业相机,我认为有一个标准的解决方案; 但是,我找不到任何东西.该解决方案需要在Windows XP或Windows 7上的python 2.7下运行.
我很感激任何在Windows上成功使用ueye相机的人在这个问题上分享他的知识,或者至少指出我正确的方向.我也觉得确实需要找到一个通用的解决方案,因为我肯定不是唯一有这个要求的人.
到目前为止我尝试过的
有一个python驱动程序可以在Linux下工作 - 根据文档 - "应该在Windows上工作".
我试过了,但安装失败了:
python setup.py install
给了我
ueye\ueye.pyx: cannot find cimported module 'stdlib'
ueye\ueye.pyx: cannot find cimported module 'python_cobject'
Compiling ueye\ueye.pyx because it changed.
Compiling ueye\ueyeh.pyx because it changed.
[1/2] Cythonizing ueye\ueye.pyx
Run Code Online (Sandbox Code Playgroud)
我不知道什么cimported模块是什么,这是否应该工作.因此,了解是否有人在Windows系统上成功安装此驱动程序可能会很好.
OpenCV似乎是图像捕获和处理的某种标准.似乎有些人用它来访问uEye相机,而似乎也有一些共识认为uEye相机不适用于openCV.我还没有找到任何据称有效的示例代码.
无论如何我试过这个(使用openCV版本2.4.13),我可以访问相机并从中检索图片.分辨率最初是480 x 640,但我能够将其更改为传感器分辨率768 x 1024.但是,我无法正确设置曝光时间和增益,如下面的代码所示.
cam = cv2.VideoCapture(0)
width = cam.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH)
height = cam.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT)
exposure = cam.get(cv2.cv.CV_CAP_PROP_EXPOSURE)
print width, height, exposure …Run Code Online (Sandbox Code Playgroud)