假设你有一个如下矩阵:
var map =
[
[0,0,0,0,0,0],
[0,1,1,1,1,0],
[0,1,0,0,1,0],
[0,1,1,1,1,0],
[0,0,0,0,0,0],
[0,0,0,0,0,0],
];
可以使用哪些方法来确定1
s矩阵内有0
个正方形?那么多个正方形/矩形相互偏移(不重叠,可能是并排)?
我确信已经为这些事情制定了方法,我很想了解它们。
答案 0 :(得分:0)
首先,这是一种广泛的图像处理问题,
该概念可以命名为 shape numbers
, shape numbering
, object detection
, OCR
等....,
您可以使用 OpenCV
库来检测形状。
试试这个问题How to detect simple geometric shapes using OpenCV
<强> - EDIT --- 强>
最终的数值解决方案是使用数字边缘检测和线条细化方法,例如 Canny
, Robert Cross
, {{1} , Prewitt
运营商和 Sobel
, kernel
方法可以为您提供帮助。
以上所有操作符都可以用 Matlab , OpenCV 等软件执行。
对于JavaScript,您可以尝试使用以下库
FabricJS http://fabricjs.com/
Orcad http://antimatter15.com/ocrad.js/demo.html
形状检测器 https://github.com/MathieuLoutre/shape-detector
神经网络库
大脑 https://github.com/harthur/brain
大脑演示http://katspaugh.github.io/whiteboard/examples/brain/#rect
我认为大脑在矩阵中使用类似的1和0,这可能更具体到整数数组