基于scikit图像的数独库提取

sudokuextract的Python项目详细描述


数独提取物

https://travis-ci.org/hbldh/sudokuextract.svg?branch=masterhttp://img.shields.io/pypi/v/sudokuextract.svghttp://img.shields.io/pypi/dm/sudokuextract.svghttp://img.shields.io/pypi/l/sudokuextract.svghttps://coveralls.io/repos/github/hbldh/sudokuextract/badge.svg?branch=master

用于使用scikit-image从图像中提取数独的库。

要求

  • numpy>=1.9.2
  • scipy>=0.15.1
  • scikit-image<0.12.0
  • Pillow>=3.1.0
  • pyefd>=0.1.2
  • dlxsudoku>=0.10.0

使用量

通过pip

安装
$ pip install sudokuextract

sudokuextract是一个从图像中解析sudokus的工具,主要是 能够将它发送给某种解算器。它适用于 对输入图像进行图像分析,然后使用k近邻 分类器以确定哪个框中存在的数字。

SudokuExtract可以用作命令行工具:

parse-sudoku -p /path/to/sudoku_image.jpg

它在终端上打印解析的数独。也可以称为 使用图像的URL:

parse-sudoku -u http://www.domain.com/sudoku.jpg

它还可以用作常规python包:

In [1]: from sudokuextract.extract import extract_sudoku, load_image, predictions_to_suduko_string

In [2]: img = load_image('/path/to/sudoku_image.jpg')

In [3]: predictions, sudoku_box_images, whole_sudoku_image = extract_sudoku(img)

In [4]: print(predictions_to_suduko_string(predictions))
800603001
057401630
000000000
006109800
400000007
001805400
000000000
072504310
900302004

当 预测数字;有关详细信息,请参阅文档。

测试

使用pytest

运行测试
$ py.test tests.py

文件

待定。

参考文献

这个库包括用mnist数据集中的数据训练的分类器。 (此数据也包含在sudokuextract中)。

[1]LeCun et al. (1999): The MNIST Dataset Of Handwritten Digits

sudokuextract包的当前解析策略是 灵感来源于此博客:

[2]AI: SuDoKu Grabber with OpenCV

V0.8.6(2016-04-16)

  • sudokuextract.extract的主函数改为print和 不退还任何东西。

V0.8.5(2016-03-10)

  • 用二元腐蚀替换ndi.binary_fill_holes,并将要测试的blob数量增加到2。

V0.8.4(2016-03-10)

  • 新的分类器。
  • 附加数据为1:s的新数据。

V0.8.3(2016-03-09)

  • 再次禁用角解析解决方案。
  • 扭曲图像现在可以创建更小的图像以防止内存问题。
  • 这也提高了速度,至少是4倍。
  • apply_gaussian现在首先对整个图像应用高斯。
  • 测试现在可以使用一个tar图像文件,该文件可以从web上下载。
  • 还删除了lambda函数以支持functools.partial

V0.8.2(2016-03-07)

  • 将scikit映像版本限制为<;0.12。

V0.8.1(2016-03-06)

  • 新的分类与sudokuextract和mnist数据。
  • 新数据。
  • mnist数据与sudokuextract数据分开存储。
  • 由于训练数据增加,最近的邻居增加到10个。
  • 为v0.8.0中添加的新功能修复了几个小错误。

v0.8.0(2016-03-05)

  • 具有mnist数据的新分类器。
  • 数独句法分析的新方法。
  • 使用dlxsudoku尝试分类正确解析数独。
  • 删除了很多不推荐使用的代码。

v0.7.0(2016-02-26)

  • 两种不同的提取方法:
    • 局部阈值
    • 整个图像的自适应阈值
  • 广泛重构和更新分类器。

V0.6.1(2016-02-20)

  • python 3中的测试补丁。

v0.6.0(2016-02-19)

  • 简化的blob提取。
  • to_binary_adaptive添加了自适应块大小。
  • 增加了从元上都取数独的测试。

v0.5.0(2016-02-18)

  • 消除了对scikit学习的依赖。
  • 默认情况下包括一个自己的k近邻分类器。

v0.4.0(2016-02-17)

  • 在硫醇释放量为pypi

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序