python + opencv图像处理——轮廓发现

opencv-python常用函数解析及参数介绍(八)——轮廓与轮廓特征 在前面的文章中我们已经学会了使用膨胀与腐蚀、使用梯度、使用边缘检测的方式获得图像的轮廓,那么在获得轮廓后我们可以对图像进行什么样的操作呢?本文将介绍轮廓的绘制与轮廓特征的使用。 阅读详情

轮廓发现
使基于图像边缘提取的基础寻找对象轮廓的方法,所以便于提取的阈值选定会影响最终轮廓发现的结果
API介绍:
findContours 发现轮廓
drawContours 绘制轮廓

from matplotlib import pyplot as plt 
from cv2 import cv2 as cv
import numpy as np 

# canny边缘提取
def edge_demo(image):
    blurred = cv.GaussianBlur(image,(3,3),0)  # 高斯降噪,适度
    gray = cv.cvtColor(blurred,cv.COLOR_BGR2GRAY)
    # 求梯度
    xgrd = cv.Sobel(gray,cv.CV_16SC1,1,0)
    ygrd = cv.Sobel(gray,cv.CV_16SC1,0,1)

    egde_output = cv.Canny(xgrd,ygrd,50,150)  # 50低阈值,150高阈值
    #egde_output = cv.Canny(gray,50,150)   # 都可使用
    cv.imshow('canny_edge',egde_output)
    return egde_output
'''
    # 输出彩色图
    dst = cv.bitwise_and(image,image,mask=egde_output)
    cv.imshow('color edge',dst)
'''

def contours_demo(image):
    '''
    dst = cv.GaussianBlur(image,(3,3),0) # 高斯模糊  消除外边的噪声
    gray = cv.cvtColor(dst,cv.COLOR_RGB2GRAY) # 转换成二值图像
    ret,binary = cv.threshold(gray,0,255,cv.THRESH_BINARY|cv.THRESH_OTSU)
    cv.imshow('binary image',binary)
    '''
    # 用canny获取二值图像
    binary = edge_demo(image)
    
    #contours, heriachy = cv.findContours(binary, cv.RETR_TREE,cv.CHAIN_APPROX_SIMPLE) # 这个轮廓里面会有噪声,下面则没有
    contours, heriachy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE # 注意 我的版本只有两个返回参数,具体看函数说明是返回几个参数
    for i,contour in enumerate(contours):
        cv.drawContours(image,contours,i,(0,0,255),2)
        #cv.drawContours(image,contours,i,(0,0,255),-1)#轮廓填充
        #print(i)
    cv.imshow('detect image',image)
    #cv.imwrite('C:\\pictures\\Test paper\\5.jpg',image)

if __name__ == "__main__":
    filepath = "C:\\pictures\\others\\measure2.jpg"
    img = cv.imread(filepath)       # blue green red
    cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
    cv.imshow("input image",img)

    contours_demo(img)

    cv.waitKey(0)
    cv.destroyAllWindows()

结果如下:
在这里插入图片描述

Python图像处理:使用OpenCV提取图像轮廓 图像轮廓是图像处理中常用的技术,用于检测和描述图像中物体的边界。在Python中,我们可以使用OpenCV库进行图像处理,并通过它的轮廓函数来提取图像的边界。本文将介绍如何使用Python和OpenCV来提取图像的轮廓,并附上相应的源代码。第一个参数是要绘制轮廓的图像,第二个参数是轮廓列表,第三个参数是要绘制的轮廓索引(-1表示绘制所有轮廓),第四个参数是轮廓线的颜色,第五个参数是轮廓线的粗细。第一个参数是输入图像,第二个参数是轮廓检索模式,指定轮廓的检索方式。函数来提取图像的轮廓。 阅读详情

相关推荐

Python3与OpenCV3.3 图像处理(二十一)--轮廓发现

一、什么是轮廓发现 是基于图像边缘提取的基础,寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓的发现 二、轮廓发现API findContours 发现轮廓 drawContours绘制轮廓 三、示例代码 import cv2 as cv import numpy as np def contours(img): dst=cv.GaussianBlu...

喵叔 4417

python+opencv基础篇——实现提取轮廓

python+opencv简单实现识别图片轮廓

qq_35253875的博客 2201

Altium Designer操作技巧(1)——原理图中如何批量替换元器件?

《AltiumDesigner批量替换元器件技巧分享》摘要:本文介绍了两种在AltiumDesigner中批量替换元器件的实用方法。方法一通过“查找相似对象”功能,可精准匹配并批量修改器件参数;方法二利用ActiveBOM功能,在BOM表中直观操作器件替换,推荐使用第二种方法可使BOM管理更高效。这些技巧能有效减少物料种类、降低贴装成本,特别适用于电阻电容等常用器件的批量替换。关注公众号获取更多电子设计技巧。

u012526819的博客 2590

Python OpenCV提取物体轮廓

【代码】Python OpenCV提取物体轮廓。

qq_52112285的博客 1147

博途 V16(TIA portal V16)安装教程

本文提供了西门子TIA Portal V16软件的完整安装指南。内容包括百度网盘下载链接(提取码kv69)、详细安装步骤(关闭安全保护、典型安装设置)、授权破解方法,以及PLCSIM仿真功能的使用说明。重点演示了S7-1200 PLC程序的仿真过程,解析了仿真界面各元素功能,包括状态指示灯(RUN/STOP/ERROR)、操作按钮(RUN/STOP/MRES)和网络接口状态等。通过图文并茂的方式,完整呈现了从软件安装到PLC程序仿真的全流程操作。

lingchen1906的博客 6776

squidpy 教程 2:利用 Scanpy 和 Squidpy 进行空间数据的可视化分析

本教程详细介绍了如何利用Squidpy和Scanpy对空间转录组数据进行可视化分析。通过将Scanpy处理得到的聚类结果映射回原始组织图像,并结合基因表达与空间邻域信息,帮助研究者直观揭示细胞类型分布、基因表达模式及空间相互作用,从而深入挖掘空间组学数据的生物学意义。

weixin_29081703的博客 446

【OpenCV-Python】:使用OpenCV处理图像并提取轮廓及其矩和面积

学会如何使用OpenCV库来读取图像、转换灰度、二值化、提取轮廓,并计算每个轮廓的矩和面积。

weixin_45477686的博客 5593

MEMS传感器技术深度解析:从原理到未来趋势的全面指南(智能驾驶赛道有戏)

在智能汽车每秒产生1GB数据的今天,在可穿戴设备厚度突破1毫米的极限挑战下,MEMS(微机电系统)传感器正以的三大核心优势,重塑着人类感知世界的方式。作为从业10年的MEMS工程师,我见证了这个领域从实验室走向量产的完整历程——从2005年汽车安全气囊中笨重的压阻式加速度计,到2025年智能手机中集成5种传感器的SoC芯片,MEMS技术正在书写传感器行业的摩尔定律新篇章。本文将带您穿透技术迷雾,深入解析MEMS传感器的技术密码,涵盖,并附独家整理的与。文末更提供,助您把握万亿级市场机遇。

优快云-新能源汽车研发测试专业博主 2301

Python+OpenCV图像处理之轮廓发现

轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。 python实现 import cv2 import numpy as np __author__ = "boboa" def contours_demo(image): dst = cv2.GaussianBlur(image, (3, 3), 0) ...

weixin_30419799的博客 732

tsmc12:via0的spacing问题(Via0.S.1)

12nm有个via0 grid的概念,除了普通fill外,基本都有via0这一层,这一层需要与via0 grid对齐。手动调整cell的位置比较容易出这个drc,比如修m0po max length drc时。解决方法1: 替换EEQV类型cell,这种类型是专门为了修via0 Grid问题存在的。更多学习内容请关注「拾陆楼」知识星球。解决方法2: 翻转或移动。

m0_61544122的博客 1116

AutoSAR实验视频讲解:相关资料下载

AutoSAR实验视频讲解:闪烁一颗LED实验【相关资料下载】 总目录 为了方便大家自己的实验顺利进行,这里我们准备了一些实验中可能用到的资料供大家使用 介绍 这里主要是三个文件: MyApp_Core.0是我们的用户代码,在工程集成那集将会讲解 McalConfig.arxml就是我们的Mcal导出文件,用于导入到DaVinci中生成代码 CAN.dbc文件是我们的通信矩阵文件 以上几个文件都是简单的配置,不具有实际项目的实用性,大家仅供参考 // 顺便吐槽一句:百度网盘的吃相真的难看 下载连接

雪云飞星的博客 6668

pythonopencv编程图_Python+OpenCV图像处理——实现轮廓发现

简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。代码如下:import cv2 as cvimport numpy as npdef contours_demo(image):dst = cv.GaussianBlur(image, (3, 3), 0) #高斯模糊去噪gray = cv.cvtColor(dst, cv.COLOR_RGB2...

weixin_39611666的博客 208

【异常】Milvus 向量数据库字段缺失错误分析与解决 MilvusVectorStoreServiceV2 - Failed to insert batch [0-1]: The field:

本文分析了Milvus向量数据库插入操作中出现的字段缺失错误。错误显示age_mode字段未提供,导致批量插入失败。根本原因是Milvus Schema要求所有定义字段必须存在,但代码中对部分字段采用条件添加方式。解决方案是将条件添加改为始终添加,为可能为null的字段提供空字符串默认值。文章总结了Schema约束、防御性编程等经验,并建议通过Schema变更检查、单元测试覆盖和数据校验层等预防措施避免类似问题。该问题影响product、mac、source等多个字段,修改后确保了数据插入的可靠性。

奶爸的编程之路,也就一周冷个三天 409

python opencv轮廓提取_Python+OpenCV图像处理之轮廓发现

importcv2importnumpy as np__author__ = "boboa"defcontours_demo(image):dst= cv2.GaussianBlur(image, (3, 3), 0)gray=cv2.cvtColor(dst, cv2.COLOR_BGR2GRAY)ret, thresh= cv2.threshold(gray, 0, 255, cv2.THRE...

weixin_39883129的博客 757

目前固态激光雷达在机器人领域的应用难点汇总

固态激光雷达在机器人领域面临性能与成本的双重挑战:探测性能上,动态范围不足(60-80dB)导致高/低反射物体识别困难,近距盲区(30-50cm)与长距精度(±3cm)矛盾突出;结构上视场角与点云密度难以平衡,多雷达拼接又带来同步误差。成本方面,核心元件(SPAD/OPA芯片)良率低(<50%)、校准工序复杂,单机成本超200美元。环境适应性上,粉尘附着、振动偏移(±2°)和光衰(1万小时衰减15%)制约可靠性。

start_up_go的博客 482

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Python opencv图像处理基础总结(六) 直线检测 圆检测 轮廓发现

opencv图像处理,直线检测、圆检测、轮廓发现的基本操作。

叶庭云 成为自己的光 5317

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python+OpenCV图像处理(十六)—— 轮廓发现

简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。 代码如下: import cv2 as cv import numpy as np def contours_demo(image): dst = cv.GaussianBlur(image, (3, 3), 0) #高斯模糊去噪 gray = cv....

aiyizou6070的博客 912

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python图像轮廓识别_Python+OpenCV图像处理(十六)—— 轮廓发现

简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。代码如下:importcv2 as cvimportnumpy as npdefcontours_demo(image):dst= cv.GaussianBlur(image, (3, 3), 0) #高斯模糊去噪gray =cv.cvtColor(dst, cv.COLOR_RGB2GRAY)...

weixin_39702316的博客 1359

Python3+OpenCV3图像处理(十六)—— 轮廓发现

简介:轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果。 代码如下: import cv2 as cv import numpy as np def contours_demo(image): dst = cv.GaussianBlur(image, (3, 3), 0) #高斯模糊去噪 gray = cv.cvtColor...

算法攻城狮 1478

固件逆向实战:从Hex文件到反编译的完整流程

固件逆向工程是嵌入式安全分析的核心技术,涉及从二进制文件中恢复程序逻辑。其原理基于对处理器架构、指令集和文件格式的深入理解,通过静态反汇编和动态模拟技术还原代码功能。在物联网安全、漏洞挖掘和恶意代码分析等场景中,固件逆向能帮助发现硬编码密钥、后门和未授权访问等风险。本文以Intel HEX格式解析为切入点,详细介绍了从固件提取、架构识别到反编译工具选型与实战技巧的全过程,涵盖STM32等常见架构,并分享了动态验证与代码还原的工程经验。

weixin_34245082的博客 251

Python+opencv 对象测量

1、弧长与面积 a、轮廓发现 b、计算每个轮廓的弧长与面积,以像素为单位 2、多边形拟合 a、获取轮廓的多边形拟合效果 b、approxPolyDP(contour,epsilon,close) epsilon越小,折线越逼近真实形状。close决定是否为闭合区域 3、几何矩计算 a、原点矩 b、中心矩 那么图像的重心坐标是, import cv2 as cv i...

Acmer_future_victor的博客 595

【python OpenCV3.3 图像处理教程】边缘保留滤波EFP、直方图均衡化、反向投影、轮廓发现、

1. 边缘保留滤波EFP 高斯双边滤波:cv.bilateralFilter 均值迁移滤波:cv.pyrMeanShiftFiltering 来自这篇博客的定义: 高斯模糊: 基于权重,权重只考虑像素空间的分布,中间的权重大,边缘的权重小。没有考虑像素值之间的差异问题,没有考虑边缘。 边缘保留滤波: 像素之间的差异很大,说明是显著特征,如果直接平滑(滤波),显著特征会消失。像素之间差异大的地方通常是边缘,所以边缘保留滤波处理后的图片,在平滑(滤波)的情况下,依旧能够保留图像的边缘。 边缘保留滤波EF

chairon的博客 4668

轮廓发现(16)

一 函数介绍 findContours 寻找轮廓 cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]]) 参数 第一个参数是寻找轮廓的图像; 第二个参数表示轮廓的检索模式,有四种(本文介绍的都是新的cv2接口): cv2.RETR_EXTERNAL 表示只...

weixin_30838873的博客 202

python opencv轮廓检测_python opencv 来对图片(苹果)的轮廓(最大轮廓进行识别)进行...

import cv2 as cvimport numpy as np# canny边缘检测def canny_demo(image):t = 140canny_output = cv.Canny(image, t, t * 2)cv.imshow("canny_output", canny_output)cv.imwrite("D:tupiancanny_output.png", canny_ou...

weixin_39788960的博客 675
上一篇: python + opencv图像处理——圆检测
下一篇: python + opencv图像处理——对象测量
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值