今天開始給大家分享一個基於影象識別的AI五子棋專案,基於c語言開發,使用了opencv影象識別庫,sdk使用vs2015。該文章是該系列的第一篇文章。透過該系列文章,你可以進階opencv影象識別,熟悉影象識別與處理的大致流程,熟悉AI智慧……
在開始第一章節前,先做一個整體的預覽,程式碼思路以及每個過程的效果圖:
原圖
二值化影象
尋找棋盤最外邊輪廓1
尋找棋盤最外邊輪廓2
尋找棋盤角點
尋找棋盤角點
尋找棋盤角點
識別最終效果圖
有了整體思路的瞭解,我們進入今天正題,先進行影象的預處理,方便檢測棋盤輪廓。
效果圖
首先讀取原圖
Mat srcImage0 = imread(“1。jpg”);//讀取圖片
灰度化
cvtColor(srcImage0, srcImage1, CV_BGR2GRAY);
二值化
srcImage = srcImage1 > 150; // 二值化
經過上述三個步驟處理,我們基本完成了影象的預處理。下面放一下效果圖:
灰度化
二值化
原始碼
/*****************************************************************************************1、五子棋棋盤棋子識別檢測——灰度化,二值化*****************************************************************************************/#include#include #include #include //srand()和rand()函式 #include