基于OpenCV的图像颜色与形状识别设计与实现实验指导书

基于OpenCV的图像颜色与形状识别设计与实现实验指导书

一、实验目的:

通过本实验,学生将了解图像颜色与形状的基本概念,并掌握使用OpenCV进行图像颜色与形状识别的方法。具体操作包括图像剪裁、颜色识别、轮廓检测。

二、实验器材:

  • 计算机
  • 安装了Python和OpenCV库的开发环境
  • 彩色图像

三、实验步骤:

1、导入必要的库:

import cv2 as cv

import numpy as np

import math

from PIL import Image, ImageDraw, ImageFont

2、设定颜色阈值: 根据需要识别的颜色,设定相应的颜色阈值。例如:

lower_red = np.array([0, 120, 100])

upper_red = np.array([10, 255, 255])

3、定义计算角度和距离的函数:

def calculating_angle(p1, p2, p0):

计算角度

def calculating_distance(p0, p1):

计算距离

4、定义形状识别函数:

def getShape(cnt):

根据轮廓获取形状

5、定义添加文本和矩形框的函数:

def cv2ImgAddText(img, shapes, textColor=(255, 0, 0)):

添加文本

def cv2ImgAddRect(img, shapes):

添加矩形框

6、定义颜色分割函数:

def colorDivision(name, roi_bgr, lowerb, upperb):

根据颜色阈值进行图像分割

7、加载图像:

roi_bgr = cv.imread('Shape1.png')

8、分割图像并进行形状识别:

每次分割一种颜色

colorDivision("红色", roi_bgr, lower_red, upper_red)

其他颜色的分割类似

添加文本和矩形框

roi_bgr = cv2ImgAddText(roi_bgr, shape_list)

roi_bgr = cv2ImgAddRect(roi_bgr, shape_list)

9、显示结果图像:

cv.imshow('roi_bgr', roi_bgr)

cv.waitKey()

cv.destroyAllWindows()

10、保存结果图像:

cv.imwrite("result.png", roi_bgr)

四、注意事项:

  • 实验中使用的图像应包含需要识别的颜色和形状。
  • 可根据需要自定义颜色阈值和形状判断条件。
  • 实验过程中可根据需要调整参数和算法以获得更好的识别效果。

五、实验扩展:

可以尝试在实验中添加其他功能,例如:添加图像预处理步骤,如高斯模糊、边缘检测等,以提高识别效果。在图像中绘制轮廓线、角点等标记,以更直观地展示识别结果。

对于无法识别的形状,尝试使用机器学习算法进行分类和识别。

通过以上实验,可以了解到图像颜色与形状识别的基本原理和方法,并掌握使用OpenCV进行相关操作的能力。同时,通过实际操作,学生可以加深对图像处理和计算机视觉的理解,为进一步的研究和应用打下基础。

六、 实验报告:

撰写一个简单的实验报告,包括实验目的、步骤、结果和总结。报告中应包含实验过程中的所有数据、参数调整的观察和分析,以及对实验结果的讨论。

相关推荐
xinlianyq20 分钟前
2026企业流量破局:四大主流短视频矩阵获客系统深度解析与选型指南
人工智能·矩阵
workflower2 小时前
用硬件换时间”与“用算法降成本”之间的博弈
人工智能·算法·安全·集成测试·无人机·ai编程
chushiyunen2 小时前
python中的@Property和@Setter
java·开发语言·python
禾小西2 小时前
Java中使用正则表达式核心解析
java·python·正则表达式
yoyo_zzm2 小时前
JAVA (Springboot) i18n国际化语言配置
java·spring boot·python
Cx330❀2 小时前
一文吃透Linux System V共享内存:原理+实操+避坑指南
大数据·linux·运维·服务器·人工智能
OPHKVPS2 小时前
Anthropic 为 Claude Code 推出“自动模式”:AI 编码工具迈向更高自主性
网络·人工智能·安全·ai
Allen_LVyingbo2 小时前
斯坦福HAI官网完整版《2025 AI Index Report》全面解读
人工智能·数学建模·开源·云计算·知识图谱
金融小师妹2 小时前
基于AI通胀预期建模与能源冲击传导机制的政策分析:高频信号下的风险再评估
人工智能·svn·能源
胡摩西2 小时前
当大模型遇上毫米级定位:机器人将拥有“空间思维”?
人工智能·机器人·slam·gps·室内定位·roomaps