gpt4 book ai didi

arrays - 如何从同一数组的图像中提取二维数组?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:09:52 24 4
gpt4 key购买 nike

是否可以从相同的图像中提取二维矩阵?由于没有这方面的相关经验,我无法进一步推进。

比如数组的图像是this ,对应的二维数组(空格用0表示)如下:

5 3 0 0 7 0 0 0 0
6 0 0 1 9 5 0 0 0
0 9 8 0 0 0 0 6 0
8 0 0 0 6 0 0 0 3
4 0 0 8 0 3 0 0 1
7 0 0 0 2 0 0 0 6
0 6 0 0 0 0 2 8 0
0 0 0 4 1 9 0 0 5
0 0 0 0 8 0 0 7 9

我想知道一些可以帮助我提取数组的算法或软件。由于我之前没有经验,即使是朝着正确的方向插入也会受到赞赏。

背景:我正在使用 Java 开发一个基本的数独解算器,并且我已经使用一个基本的回溯算法实现了相同的解算器。现在,我不想通过输入二维数组来手动输入,而是想从数组的图像中获取相同的内容。

最佳答案

图像识别并不像看起来那么简单。一张低分辨率的低质量图片,带有阴影或有比其他部分更亮的 Shiny 部分是很难处理的。更不用说相机的 3D 角度和图像平面中的 2D 旋转了。在图像识别开始之前,所有这些因素都应该减少或消除。

假设您有一个已知宽度和高度的干净输入图像,您需要将输入图像分成与矩阵条目对应的几个正方形。然后为每个小子图像运行一个数字识别算法。

对于第一部分,很多时候最好将图像从 24 位 rgb 颜色转换为 8 位灰度。这样,在 rgb 空间中具有几乎相同颜色的图像像素将被聚类为在 8 位灰度空间中具有相同的强度。在这种情况下,即使只有两种强度的二值图像也会很有用。有图像处理包可以为您完成。然后切割图像并不比进行二维数组操作更难。

对于第二部分,您可以丢弃所有强度与空方 block 相同的方 block 。对于非空方 block ,您必须调用数字识别算法。

您可以使用许多包进行模式识别,例如 OpenCV 或特定的 OCR(光学字符识别)包。

为此编写自己的前馈神经网络并不难:

https://en.m.wikipedia.org/wiki/Feedforward_neural_network

另见:

Recognize numbers in images

关于arrays - 如何从同一数组的图像中提取二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51338463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com