won*_*ng2 5 javascript canvas image-processing html5-canvas
说我有这个图像:
我想知道图像中红球的位置,我可以测量前方球的大小(以像素为单位).
我知道我可以将图像绘制到画布上,然后我可以获得像素颜色数据context.getImageData
,但那我该怎么办?我应该使用哪种算法?我是图像处理的新手,非常感谢.
好吧,我会去聚类该颜色的像素。例如,您可以有一个查找表,其中存储红色(或在阈值范围内)像素(坐标是查找键),并且每当您遇到没有任何已知红色邻居的像素时,都会将整数值作为簇 ID它启动一个新的簇,所有其他红色像素都获得它们相邻的红色像素的簇 ID。取决于你的算法内核:
A) XXX B) X
XOX XOX
XXX X
Run Code Online (Sandbox Code Playgroud)
您可能需要处理(情况 B)连接两个先前未连接的簇的像素。您必须替换其中一个集群的集群 ID。
之后你就有了像素簇。这些你可以分析一下。如果是圆形,我会查找每个簇的 x 和 y 的中值,并检查该簇的所有像素是否都在半径内。
如果红球(或其一部分)位于另一个红色物体的前面,则此操作将会失败。您将需要更复杂的算法。
归档时间: |
|
查看次数: |
851 次 |
最近记录: |