python opencv实现图像分割(附代码)

您所在的位置:网站首页 opencv图像分割准确率 python opencv实现图像分割(附代码)

python opencv实现图像分割(附代码)

2024-07-17 00:13| 来源: 网络整理| 查看: 265

AI应用开发相关目录

本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群

AI应用开发流程概述Visual Studio Code及Remote Development插件远程开发git开源项目的一些问题及镜像解决办法python实现UDP报文通信python实现日志生成及定期清理Linux终端命令Screen常见用法python实现redis数据存储python字符串转字典python实现文本向量化及文本相似度计算python对MySQL数据的常见使用一文总结python的异常数据处理示例基于selenium和bs4的通用数据采集技术(附代码)基于python的知识图谱技术一文理清python学习路径Linux、Git、Docker常用指令linux和windows系统下的python环境迁移linux下python服务定时(自)启动windows下基于python语言的TTS开发python opencv实现图像分割

文章目录 AI应用开发相关目录需求概述代码效果

需求概述

图片中存在多个铭牌,这样会影响铭牌中信息抽取精度,由此需利用CV技术对图像进行分割。

代码 import cv2 import numpy as np import os from datetime import datetime # 读取图像 image = cv2.imread(r'C:\Users\12258\Desktop\0.png', cv2.IMREAD_GRAYSCALE) # 二值化图像,以便更好地检测轮廓 _, thresholded = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY) # 检测轮廓 contours, _ = cv2.findContours(thresholded, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # 设置轮廓大小的阈值 contour_area_threshold = 5000 # 你可以根据需要调整这个值 # 创建一个与原图同样大小的黑色图像用于绘制轮廓 contour_image = np.zeros_like(image) flag = 0 # 遍历所有检测到的轮廓 for contour in contours: # 计算轮廓的面积 area = cv2.contourArea(contour) # 如果轮廓面积大于阈值,则在图像上绘制轮廓 if area > contour_area_threshold: # 获取轮廓的边界框 x, y, w, h = cv2.boundingRect(contour) # 切割图像 cropped_image = image[y:y + h, x:x + w] # 保存切割后的图像 filename = f'contour_{flag}.png' print(filename) cv2.imwrite(os.path.join('output_folder', filename), cropped_image) cv2.drawContours(contour_image, [contour], -1, (255), 2) flag += 1 # 显示结果图像 cv2.imshow('Contours above threshold', contour_image) cv2.waitKey(0) cv2.destroyAllWindows() 效果

原图

在这里插入图片描述 轮廓提取 在这里插入图片描述

分割结果

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3