Python - Opencv应用实例之树叶自动分割、标签及统计分析系统

news2024/11/25 23:37:55

Python - Opencv应用实例之树叶自动分割、标签及统计分析系统

  • 本文通过Python+opencv 实现这样的需求:输出位置和角度(x, y, r),并标记出轮廓
  • 基于传统图像处理算法实现,算法原理:输入图像 -> 灰度化 -> 二值化 -> 形态学处理 -> 轮廓提取 -> 树叶中心定位 -> 树叶倾斜角度计算 -> 统计分析
  • 本文算法核心在于树叶的分割,单个树叶分割很好实现,但是要保证整幅图像中所有树叶都能有一个好的分割效果,还是在中间做了一些补充处理,另一个就是树叶倾斜角度的计算,本文算法将参考基准0角度设为树叶横放时的角度,其他树叶角度计算均依靠基准角度进行变换。
  • 算法效果图如下:
    在这里插入图片描述
  • 图像皆来自正规渠道,如有维权,可私信我删除
  • 下边详细讲述一下算法流程

1. 辅助函数

  • 导入库
'''
time:20230713
writer:明月醉窗台(CSDN)
func:opencv实现树叶图像自动分割
'''

import numpy as np

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/780808.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

docker系列5:docker安装nginx

传送门 前面介绍了docker的安装:docker系列1:docker安装 还有docker镜像加速器:docker系列2:阿里云镜像加速器 以及docker的基本操作: docker系列3:docker镜像基本命令 以及容器的基本命令:…

DRL(自用)

RL学习算法 基于策略的算法:这是最通用的优化类型。策略将状态映射到操作。学习策略的 RL 代理可以创建从当前状态到目标状态的动作轨迹 REINFORCE 是一种基于策略的算法。基于策略的算法,优势在于它们可以应用于各种强化学习问题;但是其样…

1 js嵌入html使用

1.1 直接在html内部使用js代码 使用script标签&#xff0c;在前后标签内部写的代码即为js代码。 <body><p id"p1">初始段落</p> <!--id是为了定位需要更改内容的标签--><button type"button" onclick"showNum()">…

App测试中ios和Android的区别

1、Android长按home键呼出应用列表和切换应用&#xff0c;然后右滑则终止应用&#xff1b; 2、多分辨率测试&#xff0c;Android端20多种&#xff0c;ios较少&#xff1b; 3、手机操作系统&#xff0c;Android较多&#xff0c;ios较少且不能降级&#xff0c;只能单向升级&…

【Spring MVC】Spring MVC的功能使用和相关注解介绍

Spring MVC主要有三个功能&#xff1a; 连接获取参数输出数据 对于 Spring MVC 来说&#xff0c;掌握了以上 3 个功能就相当于掌握了Spring MVC。 1.连接 连接的功能&#xff1a;将⽤户&#xff08;浏览器&#xff09;和 Java 程序连接起来&#xff0c;也就是访问⼀个地址能…

Docker 续2

Docker 续2 一、Docker 的数据管理1.1 数据卷1.2 数据卷容器 二、容器操作2.1 端口映射2.2 容器互联&#xff08;使用centos镜像&#xff09;2.3 Docker 镜像的创建2.3.1 基于已有镜像创建2.3.2 基于本地模板创建2.3.3 基于Dockerfile创建2.3.3.1 联合文件系统&#xff08;Unio…

【项目 进程5】 2.10 进程间通信简介 2.11匿名管道概述 2.12父子进程通过匿名管道通信

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 2.10 进程间通信简介(IPC iner process communication)Linux进程间通信的方式&#xff08;记&#xff09; 2.11匿名管道概述匿名管道管道的特点&#xff08;记&…

第一天 运维高级 MySQL备份与还原

1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) );CREATE TABLE score ( id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO…

a-tree 实现父级节点禁用,通过子级节点勾选状态控制

a-tree 组件实现折叠选择&#xff1b;使其父级节点禁用&#xff0c;通过子级节点的勾选状态来控制是否勾选&#xff1b;如果子级节点勾选任一个&#xff0c;父级节点就勾选中&#xff0c;如果子级节点全部不勾选则父节点不勾选&#xff0c;否则勾选 &#xff0c;效果如下&#…

Vue中TodoList案例_总结

完整项目&#xff1a; App.vue <template><div id"root"><div class"todo-container"><div class"todo-wrap"><MyHeader :addTodo"addTodo"/><MyList :todos"todos" :checkTodo"che…

LeetCode226. 翻转二叉树

226. 翻转二叉树 文章目录 [226. 翻转二叉树](https://leetcode.cn/problems/invert-binary-tree/)一、题目二、题解方法一&#xff1a;层序遍历迭代方法二&#xff1a;前序遍历(递归)方法三&#xff1a;中序遍历&#xff08;递归&#xff09;方法四&#xff1a;后序遍历&#…

c++ visual studio opencv配置

项目属性表配置方式&#xff1a; 1、新建项目后&#xff0c;在属性管理器中&#xff0c;创建一个项目属性表&#xff1a; 注&#xff1a;根据需求创建。 2、双击项目属性表 依次修改包含目录、库目录、附加包含目录、附加依赖项。 2.1【包含目录】中加入 OpenCV 的 include …

为harbor仓库添加https,新增DigiCert 免费版SSL证书

完成效果&#xff1a; 前言&#xff1a;在本地搭建好docker的镜像仓库harbor后&#xff0c;当我们登录docker login时&#xff0c;会提示证书问题x509: cannot validate certificate 登录本地报错X509 无法登录仓库也无法上传和拉取镜像&#xff0c;虽然有本机的解决方法&…

android studio 新建项目没有R文件

android studio 新建项目没有R文件&#xff0c;处理步骤 1&#xff0c;找一个能打开的项目替换根目录下的settings.gradle 2,改app 目录下的build.gradle文件 3&#xff0c;改gradle版本 4&#xff0c;改AndroidManifest.xml 5&#xff0c;改theme 改为&#xff0c;ok.

gtest测试用例注册及自动化调度机制源代码流程分析

gtest的入门参见&#xff1a; 玩转Google开源C单元测试框架Google Test系列(gtest) gtest源码分析流程参见&#xff1a; gtest流程解析 测试用例注册流程分析要点&#xff1a;TEST_F宏替换、C静态成员的动态初始化。 自动化调度流程分析要点&#xff1a;UnitTest、UnitTestIm…

CRM系统的排名?都有哪些特点?

在当今商业世界中&#xff0c;CRM客户管理系统是每一家企业所必不可少的工具。它们能够帮助企业管理客户信息&#xff0c;跟进销售机会以及提高客户体验。众多的CRM中&#xff0c;哪个CRM性价比高&#xff0c;企业该如何选择&#xff1f; 在比较CRM软件时&#xff0c;除基本功…

90道渗透测试面试题(附答案)

2023年已经快过去一半了&#xff0c;不知道小伙伴们有没有找到自己心仪的工作呀。最近后台收到不少小伙伴说要我整理一些渗透测试的面试题&#xff0c;今天它来了&#xff01;觉得对你有帮助的话记得点个赞再走哦~ 1、什么是渗透测试&#xff1f; 渗透测试是一种评估计算机系统…

HCIA练习2

目录 第一步 启动eNSP&#xff0c;搭建如图所示的拓扑结构 第二步 进行子网的划分 ​第三步 从第二步划分的16个网段中&#xff0c;选择14个网段进行使用 第四步 对路由器各个端口进行IP配置 第五步 对每个路由器的环回接口进行配置 第六步 对路由器进行静态路由配…

QT designer的安装+PyUIC 和 PyRCC

PyQt5的安装 整个环境的搭建&#xff0c;主要内容为&#xff1a;Python PyCharm PyQt5 学习pyqt5制作界面的视频推荐网址&#xff1a; https://www.bilibili.com/video/BV1YT4y1r7tK?spm_id_from333.999.0.0&vd_sourceda469f8dadbc58a00f885b3f7be5ef05 配置工具&…

java项目之文物管理系统(ssm+mysql+jsp)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的文物管理系统。技术交流和部署相关看文章末尾&#xff01; 开发环境&#xff1a; 后端&#xff1a; 开发语言&#xff1a;Java 框架&…