通过角点进行水果的果梗检测一种新方法

news2024/12/23 13:11:59

一、前言

     在前面的《数字图像处理与机器视觉》案例一(库尔勒香梨果梗提取和测量)中主要使用数学形态学的方法进行果梗提取,下面给出一种提取果梗的新思路。

     众所周知,一般果梗和果实在边缘处角度有较大突变,可以通过合适方法对原始图像进行角点提取,然后再进行果梗的提取和测量。下面直接给出代码和原始图像,大家可以去完善。注:原始图像是给了一个比较理想的水果图像的模拟,大家可以在此算法上进行修改、测试和完善。

二、源程序和参考的资料

clear all;
close all;
clc;
imtool close all;
I=imread('.\Test2.png');
imshow(I);
Igray=rgb2gray(I);
figure,imshow(Igray);
 corners = detectMinEigenFeatures(Igray);
  imshow(I);
  hold on;
  plot(corners.selectStrongest(10));%直接对灰度图像进行角点检测,检测效果不理想
  I_R=I(:,:,1);   %提取R通道分量
  figure,imhist(I_R);%显示R分量的灰度直方图
I_bw=im2bw(I_R,graythresh(I_R));
figure,imshow(I_bw),title('二值图像');
obj_edge=edge(I_bw,'canny');%利用Canny算子进行边缘提取
figure,imshow(obj_edge);
obj_edge2=bwmorph(obj_edge,'thin',Inf);  %使用bwmorph进行细化:
figure,imshow(obj_edge2);   
cornersModified = detectMinEigenFeatures(I_bw);%利用最小特征值算法(Minimum eigenvalue algorithm)检测角点  figure,imshow(I_bw);
  hold on;
  plot(cornersModified.selectStrongest(4));%显示检测到的角点
  cornersModified_harris = detectHarrisFeatures(I_bw);%使用Harris–Stephens算法检测角点
  figure,imshow(I_bw);
  hold on;
  plot(cornersModified_harris.selectStrongest(4));
  M=cornersModified_harris.selectStrongest(4);%找到四个角点坐标
  Cor_Loc=round(M.Location);
  disp('使用Harris–Stephens算法检测角点坐标是;');
  Cor_Loc
 %%参考资料
%https://blog.csdn.net/Meteoraki/article/details/104491537
%https://blog.csdn.net/u010278305/article/details/42618143
%https://blog.csdn.net/qq_36614557/article/details/115315449  Matlab:图像轮廓的曲率计算
%https://www.zhihu.com/question/584665321/answer/2906293834  知道四个点坐标,围成一个四边形区域。这个python代码怎么写?

三、主要运行结果

四、测试图像

      如果大家觉得本文对大家编程有帮助,请点赞、收藏和关注,谢谢!如有好的建议欢迎一起讨论交流。

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

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

相关文章

Kafka介绍及Go操作kafka详解

文章目录 Kafka介绍及Go操作kafka详解项目背景解决方案面临的问题业界方案ELKELK方案的问题日志收集系统架构设计架构设计组件介绍将学到的技能消息队列的通信模型点对点模式 queue发布/订阅 topicKafka介绍Kafka的架构图工作流程选择partition的原则ACK应答机制Topic和数据日志…

亚信安全终端一体化解决方案入选应用创新典型案例

近日,由工业和信息化部信息中心主办的2024信息技术应用创新发展大会暨解决方案应用推广大会成功落幕,会上集中发布了一系列技术水平先进、应用效果突出、产业带动性强的信息技术创新工作成果。其中,亚信安全“终端一体化安全运营解决方案”在…

Jolt路线图

1. 引言 a16z crypto团队2024年7月更新了其Jolt路线图: 主要分为3大维度: 1)链上验证维度: 1.1)Zeromorph:见Aztec Labs团队2023年论文 Zeromorph: Zero-Knowledge Multilinear-Evaluation Proofs from…

iOS——编译链接

编译连接的过程 预处理编译汇编链接 预处理 clang -E main.m -o main.i“#define"删除并展开对应宏定义。处理所有的条件预编译指令。如#if/#ifdef/#else/#endif。”#include/#import"包含的文件递归插入到此处。删除所有的注释"//或/**/"。添加行号和文…

python—爬虫的初步了解

Python 爬虫(Web Scraping)是一种自动化从网站上提取数据的技术。Python 由于其简洁的语法、丰富的库和强大的社区支持,成为了实现网络爬虫的首选语言之一。下面是一些Python爬虫的基本概念和步骤: 1. 爬虫的基本概念 请求&…

JavaEE:Spring Web简单小项目实践三(留言板实现)

学习目的: 1、理解前后端交互过程 2、学习接口传参,数据返回以及页面展示 目录 1、准备工作 2、约定前后端交互接口 1、获取全部留言 2、发表新留言 3、实现服务器端代码 4、调整前端页面代码 5、运行测试 1、准备工作 创建SpringBoot项目&#x…

WebRTC音视频-环境搭建

目录 期望效果 1:虚拟机和系统安装 2:WebRTC客户端环境搭建 2.1:VScode安装 2.2:MobaXterm安装 3:WebRTC服务器环境搭建 3.1:安装openssh服务器 3.2:安装Node.js 3.3:coturn穿透和转发服务器 3.3.1&a…

构建高效Node.js中间层:探索请求合并转发的艺术

🎉 博客主页:【剑九 六千里-CSDN博客】 🎨 上一篇文章:【CSS盒模型:掌握网页布局的核心】 🎠 系列专栏:【面试题-八股系列】 💖 感谢大家点赞👍收藏⭐评论✍ 引言&#x…

阿里云 https证书部署

一.申请证书 二.查看状态 查看状态,已签发是完成了申请证书 三.部署 我在nginx服务器上部署 具体操作链接:阿里云文档 修改前 修改后 四.重启ngnix 五.验证是否成功 在浏览器输入域名查看

maven 私服搭建(tar+docker)

maven私服搭建 一、linux安装nexus1、工具下载 二、 docker 搭建nexus1、镜像下载创建目录2、运行nexus3、访问确认,修改默认密码,禁用匿名用户登录4、创建仓库5、创建hostd仓库6、创建Blob Stores7、创建docker私服1、创建proxy仓库2、创建hotsed本地仓…

Qt自定义下拉列表-可为选项设置标题、可禁用选项

在Qt中,ComboBox(组合框)是一种常用的用户界面控件,它提供了一个下拉列表,允许用户从预定义的选项中选择一个。在项目开发中,如果简单的QComboBox无法满足需求,可以通过自定义QComboBox来实现更复杂的功能。本文介绍一个自定义的下…

144. 字典序最小的 01 字符串(卡码网周赛第二十六期(23年阿里淘天笔试真题))

题目链接 144. 字典序最小的 01 字符串(卡码网周赛第二十六期(23年阿里淘天笔试真题)) 题目描述 小红有一个 01 字符串,她可以进行最多 k 次提作,每次操作可以交换相邻的两个字符,问可以得到的…

C++的STL简介

0.STL简介 C的STL(Standard Template Library,标准模板库)是C标准库的一部分,它提供了一套通用的类和函数模板,用于处理数据结构和算法。STL的主要组件包括: 容器分配器算法迭代器适配器仿函数 容器 容…

制造运营管理系统(MOM系统),企业实现先进制造的关键一步

随着全球制造业的快速发展,企业对于生产效率和成本控制的要求日益增高。在这个背景下,制造运营管理系统(MOM系统)成为了企业提升竞争力的关键工具。盘古信息作为业内领先的智能制造解决方案提供商,其MOM系统更是以其卓…

作为爬虫工程师,在封装API时如何做得更好

在数据驱动的时代,爬虫工程师的角色日益重要。他们不仅是数据的收集者,更是数据的桥梁构建者,通过编写高效、稳定的爬虫程序,将互联网上的海量信息转化为有价值的数据集。而在这一过程中,API(应用程序接口&…

最小二乘求待定位点的位置(三维环境)|MATLAB

前言 之前发过三点法求待测点位置的程序讲解,哪个是二维的,见:基于伪逆的三点法距离求位置,MATLAB源代码(MATLAB函数) 这里给出三维情况下的函数和测试代码。对于函数,输入已知锚点的位置、待…

唐山养老院哪家好---守护晚年幸福,用服务引领老年人高品质养老生活

随着社会的快速发展和人口老龄化趋势的加剧,老年人对养老机构的需求日益增长,选择养老机构作为养老方式已成为许多老年人的必然选择。随着年龄的增长,生理功能的退化和疾病风险的增加,使得老年人更加需要专业的医疗照护和日常生活…

无人机的发展前景大吗?

随着科技的飞速发展,无人机(Unmanned Aerial Vehicle, UAV)作为一种新兴的航空器,已逐渐从军事领域渗透到民用领域。无人机的应用广泛,包括但不限于航拍、物流配送、环境监测、农业植保、应急救援等多个领域。本文旨在…

神经网络之卷积神经网络

目录 一、卷积神经网络概述:1.卷积层:1.1卷积核与神经元:1.2卷积层作用:1.3多通道概念: 2.池化层:2.1池化层作用: 3.隐藏层与卷积层、池化层关系: 一、卷积神经网络概述:…

Nginx部署前端项目尝试 - windows版

前端还是要学一点服务器端的东西,才能更好的理解一些知识 1、项目打包 生成dist 2、下载nginx解压,start nginx 启动 浏览器输入 localhost 显示如下页面表示启动成功 3、配置nginx server {listen 8080;# ip 不要加http 前后不要加 /server_name…