今天柯洁开始对战AlphaGo,虽然对围棋一窍不通,但这种大事我也在关注,知道胜负与最后棋盘上黑白子的数量有关。当我看到结局的棋盘时,黑白棋子那么多,一时也看不出来谁多谁少,就想着编个程序来计算一下。程序很简单,就给大家分享一下,对OpenCV初学者或许有些帮助吧。
先在网上找到了一个围棋图片,图片如下
由于黑白子颜色反差非常明显,只需要将原图转化为灰度图,再用合适的阈值进行二值化就可以。白子的灰度值都在200上以,我就以190为阈值就行二值化,黑子的灰度在80以下,便以90为阈值进行二值化。
以190为阈值进行二值化后,图片变成下图这个样子
这时画面噪点太多,我们需要腐蚀一下,用圆形算子对图片进行腐蚀,代码如下