Python Opencv任意形状目标检测并绘制框图
作者:xiaoxifei 时间:2023-06-06 19:03:43
opencv 进行任意形状目标识别,供大家参考,具体内容如下
工作中有一次需要在简单的图上进行目标识别,目标的形状不固定,并且存在一定程度上的噪声影响,但是噪声影响不确定。这是一个简单的事情,因为图像并不复杂,现在将代码公布如下:
import cv2
def otsu_seg(img):
ret_th, bin_img = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY+cv2.THRESH_OTSU)
return ret_th, bin_img
def find_pole(bin_img):
img, contours, hierarchy = cv2.findContours(bin_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
area = 0
for i in range(len(contours)):
area += cv2.contourArea(contours[i])
area_mean = area / len(contours)
mark = []
for i in range(len(contours)):
if cv2.contourArea(contours[i]) < area_mean:
mark.append(i)
return img, contours, hierarchy, mark
def draw_box(img,contours):
img = cv2.rectangle(img,
(contours[0][0], contours[0][1]),
(contours[1][0], contours[1][1]),
(255,255,255),
3)
return img
def main(img):
ret, th = otsu_seg(img)
img_new, contours, hierarchy, mark = find_pole(th)
for i in range(len(contours)):
if i not in mark:
left_point = contours[i].min(axis=1).min(axis=0)
right_point = contours[i].max(axis=1).max(axis=0)
img = draw_box(img, (left_point, right_point))
return img
if __name__ =="__main__":
img = cv2.imread('G:/test.png')
img = main(img)
cv2.imwrite('G:/test_d.png', img)
结果图如下:
来源:https://blog.csdn.net/xiaoxifei/article/details/85064217
标签:python,opencv,目标检测
0
投稿
猜你喜欢
Python 解析简单的XML数据
2021-03-19 11:58:58
python中的global关键字的使用方法
2023-07-15 13:26:50
python机器学习基础线性回归与岭回归算法详解
2021-03-09 07:29:43
Python循环实现n的全排列功能
2022-08-15 21:04:08
Centos 6.4 安装Python 2.7 python-pip的详细步骤
2023-12-01 10:21:03
document.getElementById的简写方式
2010-06-21 10:44:00
关于reduce的介绍及用法说明
2024-04-18 10:49:34
由 IE8 User-Agent 更新想到的
2009-01-12 18:33:00
python中rc1什么意思
2023-10-24 13:01:38
pytorch常见的Tensor类型详解
2022-10-25 19:34:01
Django 状态保持搭配与存储的实现
2021-05-10 04:16:00
Python3实现获取图片文字里中文的方法分析
2023-09-19 09:31:34
Java面试题冲刺第十二天--数据库(2)
2024-01-21 18:34:27
python单链路性能测试实践
2021-07-02 09:03:44
利用Python自制一个批量图片水印添加器
2023-12-31 15:47:55
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2022-01-08 13:53:58
Python 字符串处理特殊空格\\xc2\\xa0\\t\\n Non-breaking space
2022-03-09 19:20:16
php7性能提升的原因详解
2024-05-03 15:34:19
Python 使用 docopt 解析json参数文件过程讲解
2021-06-30 21:44:00
Python实现的寻找前5个默尼森数算法示例
2023-05-15 17:34:29