python opencv实现图像分割(附代码) |
您所在的位置:网站首页 › opencv图像分割准确率 › python opencv实现图像分割(附代码) |
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 |