网站首页 > 技术文章 正文
今天开始给大家分享一个基于图像识别的AI五子棋项目,基于c语言开发,使用了opencv图像识别库,sdk使用vs2015。该文章是该系列的第一篇文章。通过该系列文章,你可以进阶opencv图像识别,熟悉图像识别与处理的大致流程,熟悉AI智能......
在开始第一章节前,先做一个整体的预览,代码思路以及每个过程的效果图:
有了整体思路的了解,我们进入今天正题,先进行图像的预处理,方便检测棋盘轮廓。
效果图
首先读取原图
Mat srcImage0 = imread("1.jpg");//读取图片
灰度化
cvtColor(srcImage0, srcImage1, CV_BGR2GRAY);
二值化
srcImage = srcImage1 > 150; // 二值化
经过上述三个步骤处理,我们基本完成了图像的预处理。下面放一下效果图:
源码
/*****************************************************************************************
1、五子棋棋盘棋子识别检测——灰度化,二值化
*****************************************************************************************/
#include<opencv2/opencv.hpp>
#include <iostream>
#include <fstream>
#include <stdlib.h> //srand()和rand()函数
#include <time.h> //time()函数
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect/objdetect.hpp>
#include <opencv2/ml/ml.hpp>
#include<opencv2\opencv.hpp>
#include <opencv2\imgproc\types_c.h>
#include<windows.h>
using namespace std;
using namespace cv;
using namespace ml;
int main()
{
float ret = 0;
Mat srcImage0 = imread("1.jpg");//读取图片
//Mat srcImage0 = imread("app/1.jpg");//读取图片
if (srcImage0.empty())
{
cout << " 待预测图像不存在: " << endl;
printf("[ALG ERROR][函数:%s][行号:%d],图片未正常读取,请检查输入路径十分正确 \n", __FUNCTION__, __LINE__, 1);
cout << " 待预测图像不存在: " << endl;
}
Mat srcImage,srcImage1;
resize(srcImage0, srcImage0, Size(1920, 1080));
cvtColor(srcImage0, srcImage1, CV_BGR2GRAY);
namedWindow("灰度化", 0);
imshow("灰度化", srcImage1);
waitKey(2);
srcImage = srcImage1 > 150; // 二值化
namedWindow("二值化", 0);
imshow("二值化", srcImage);
waitKey(2);
waitKey(0);
return 0;
}
猜你喜欢
- 2024-09-30 OPENCV-python 第一天 python opencv教程
- 2024-09-30 Python帮您十步搞定人脸检测 人脸检测 python
- 2024-09-30 OpenCV学习笔记(一)之图像金字塔-上采样与降采样与DOG
- 2024-09-30 Ubuntu18.04LTS下OpenCV的配置 ubuntu opencv4
- 2024-09-30 计算机视觉之Opencv(1)——基本操作
- 2024-09-30 OpenCV系列教程_03 opencv官方教程
- 2024-09-30 CV之 HOG特征描述算子-行人检测 卜算子 黄州定慧院寓居作
- 2024-09-30 OpenCV SURF特征点检测和匹配 opencv特征提取方法
- 2024-09-30 Opencv从零开始 - [启蒙篇] - 读取、几何变换
- 2024-09-30 密码忘记了?没事,我早就用Python给你监听了
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)