1

我想在 Sikuli 中使用 OpenCV 函数,例如 Hough 变换和角点检测。

我在 Sikuli 上尝试了 CPython 的 OpenCV 安装说明,但没有成功。

我知道 Sikuli 是 Jython,这可能是做事的艰难方式。有哪些更简单的选择?

我仍然想使用 Sikuli 和 Python,因为我编写的代码可以正常工作;但也许我已经达到了 Sikuli 的极限。

4

2 回答 2

3

您可以使用Automa作为 Sikuli 的替代品。它是一个纯 Python 库(因此您可以使用任何其他 Python 库),其图像搜索算法与 Sikuli 完全兼容。事实上,它本身就使用了 OpenCV 的 Python 绑定,因此也附带了它们。

免责声明:我是 Automa 的开发人员之一。

于 2013-07-19T17:36:48.580 回答
2

一般而言:包含基于 C 代码的 Python 模块(Python OpenCV 就是这种情况)不能在 Sikuli 脚本 (Jython) 中使用。

Sikuli 中一些 OpenCV 功能的集成是使用 Java-To-C 接口 (JNI) 实现的,OpenCV 功能本身的使用是用 C++ 编码的。

如果您想使用 Sikuli 不支持的 OpenCV 功能,那么您要么必须使用上述 JNI 方法,要么使用OpenCV 的 Java 实现 (javacv)(可以从 Jython 脚本无缝使用 Java 内容)。

当然,另一种选择是使用 Python/OpenCV 在纯 Python 脚本中实现附加内容,并通过子进程中的 C-Python 解释器调用这些脚本。

于 2012-12-21T10:05:00.030 回答