当前位置: 首页 > news >正文

未来软件网站建设财经网站直播系统建设

未来软件网站建设,财经网站直播系统建设,广州我要做网站,学传媒以后能干什么【1】引言 前序学习进程中,已经初步探索了对图像轮廓的矩形标注和圆形标注: python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注-CSDN博客 但实际上,这两种标注方法都是大致的&#x…

【1】引言

前序学习进程中,已经初步探索了对图像轮廓的矩形标注和圆形标注:

python学opencv|读取图像(六十五)使用cv2.boundingRect()函数实现图像轮廓矩形标注-CSDN博客

但实际上,这两种标注方法都是大致的,不够精细,且在图像颜色稍微复杂的时候,就因为轮廓层数太多就无法画出合适的矩形或者圆形。

本次学习的目的,就是尽可能沿着图像的轮廓来画这个标注的包络线,也就是调用cv2.convexHull()函数进行凸包标注。

凸包标注画的标注线彼此之间都是钝角,相比于矩形或者圆形标注,对图像的包络更近了一些。

【2】官网教程

点击下方链接,直达cv2.convexHull()函数的官网教程:

OpenCV: Structural Analysis and Shape Descriptors

官网页面对 cv2.convexHull()函数的说明为:

图1  官网页面对 cv2.convexHull()函数的说明

具体的,官网页面对 cv2.convexHull()函数的参数说明为:

cv.convexHull     (     

        InputArray     points,            #输入点阵数据
        OutputArray     hull,             #输出凸包数据
        bool     clockwise = false,    #如果为True,按照顺时针画凸包,为False则逆时针画凸包,可选参数
        bool     returnPoints = true ) #返回值类型,为True时返回坐标值,可选参数

【3】代码测试

和之前一样,cv2.convexHull()函数要想用凸包作为标签标注图形的轮廓,需要提前知晓图像的轮廓位置,所以依然要调用 cv2.findContours()函数来找到轮廓。

cv2.boundingRect()函数和cv2.findContours()函数有一个共同点,就是必须要对灰度图像才有效,所以必须提前调用cv2.cvtColor()函数转换灰度图,而为了更进一步突出灰度图,有时候需要调用cv2.threshold()函数进行阈值处理。

如果对上述函数不熟悉,可以通过下述链接回忆:

python学opencv|读取图像(六十四)使用cv2.findContours()函数+cv2.drawContours()函数实现图像轮廓识别和标注-CSDN博客

python学opencv|读取图像(十一)彩色图像转灰度图的两种办法_识别图像输出灰度图-CSDN博客

按照上述分析的逻辑,代码设置为:引入必要模块和图像,图像灰度处理,图像阈值处理,给灰度图像找边界轮廓,然后是绘制凸包标注。

此处直接给出完整代码:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
src = cv.imread('df.png') #读取图像srcx.png
gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY) #将图像转化为灰度图#图像处理
t,dst=cv.threshold(gray,127,255,cv.THRESH_BINARY) #阈值处理
con,hierarchy=cv.findContours(dst,cv.RETR_LIST,cv.CHAIN_APPROX_SIMPLE) #读取边界
x=cv.convexHull(con[0]) #获取轮廓的凸包
cv.polylines(src,[x],True,(0,100,255),12)
#cv.imshow('ini-image ', dst) #显示原始图像
cv.imshow('ini-image-con', src) #显示带轮廓线图像
#cv.imshow('ini-image-gon', gray) #显示带轮廓线图像
cv.imwrite('ini-image-tb.png', src)
cv.waitKey()  # 图像不关闭
cv.destroyAllWindows()  # 释放所有窗口

代码运行的相关图像有:

图2 初始图像

图3 加凸包图像 

由图2和图3可见,图像识别成功,并且画上了凸包标注框。

【4】细节说明

在使用纯黑白图像时,顺利获得了如图3所示的凸包标注效果。

如果图像稍微复杂一些,是否效果依旧显著。

将输出图像更换进行测试:

图5 新初始图像

图6 实际运行效果-标注了一个点

实际上,如果在代码中继续读取图像的轮廓层,会发现新图像的轮廓层数很多,因此无法选取合适的轮廓层来进行凸包点阵选择,最后也就无法勾勒出好的凸包边框。

和矩形。圆形标注一样,凸包标注也是在处理简单的纯黑白图像时效果更好。

【5】总结

掌握了python+opencv通过使用cv2.convexHull()函数对图像轮廓进行凸包标注的技巧。

http://www.dtcms.com/a/558037.html

相关文章:

  • 预测海啸:深入探索地震模式(2001-2022年)
  • 【AutoHotkey】(解决记录)AHK安装后脚本显示运行实际没执行(最简单的测试用脚本)
  • 智慧教室解决方案(3)PPT(48页)
  • 个人作品集网站wordpress置顶重复
  • 【模拟面试|豆包模拟面试-2 Java基础】
  • 长沙网站维护外贸做什么产品出口好
  • VBA数据库解决方案第二十四讲:把提供的数据在数据表中删除
  • 大模型数据集的深入认识和微调数据集的构建流程
  • 怎么在欧美做网站推广网站通栏广告代码
  • 网站建设 永灿 竞争娱乐网站建设公司
  • 百度开放云搭建网站中学加强校园网站内容建设
  • 【智能体】之从战场到厅堂
  • 《云存储服务》
  • C#中通过get请求获取api.open-meteo.com网站的天气数据
  • 策划方案免费网站中国建设银行官网版本
  • wordpress如何添加关键词和描述杭州百度快照优化公司
  • 网站模板修改工具有赞商城官网
  • LLMs之RAG:Morphik的简介、安装和使用方法、案例应用之详细攻略
  • 商城建设网站策划苏州网站排名优化
  • 阿里云网站建设视频科普网站建设的支持力度
  • 安徽省住房城乡建设厅网站官网自己做网站视频教程
  • 从10小时到1小时!开源网页工具Protologger让细菌命名自动化
  • deepseek api 灵活使用
  • 网站改版十气象网站建设的自查报告
  • 网站开发所需硬件知识库wordpress插件
  • 【计算机网络】408考研核心考点:物理层设备(中继器/集线器)深入解析
  • 做订单管理网站用什么软件南通通州住房和城乡建设网站
  • 3.2.1.常见Web开发框架
  • (108页PPT)某国字头某著某省市场化与数字化转型(附下载方式)
  • 大浪网站建设网站克隆 有后台登录