一.实现目标
手绘简单几何图形,拍照后处理可识别并标记图形相应关键点。
- 直线:识别并标记始末点
- 三角形:识别并标记三个角点
- 矩形:识别并标记四个角点
二.实现流程
通过Python与OpenCV进行编程,采用了获取图形角点数量的方式来识别图形,两个点为直线,三个点为三角形,四个点为矩形。
对于形状的识别与点的标记,编写了ShapeDetection函数进行处理,通过OpenCV的相关函数,首先使用cv2.findContours寻找图形轮廓点,接着通过cv2.approxPolyDP函数获取轮廓角点坐标,并对其数目进行统计,以此来判断图形形状,若识别为直线、三角形或矩形,则在获取的角点坐标位置上用蓝色圆点进行标记,完成对不同图形相应点的标记。
具体过程为:先使用 cv2.cvtColor函数将需要识别的图片转为灰度图,再使用cv2.GaussianBlur函数对其进行高斯模糊处理,接着使用cv2.Canny函数进行边缘检测,最后将输出的图片传入ShapeDetection函数进行识别与标记。
三.代码实现
im