实战 | OpenCV两种不同方法实现粘连大米粒分割计数(步骤 + 源码)

news2024/11/28 22:38:49

导  读

    本文主要介绍基于OpenCV的两种不同方法实现粘连大米分割计数,并给详细步骤和源码。源码和图片素材见文末。

背景介绍

    测试图如下,图中有个别米粒相互粘连,本文主要演示如何使用OpenCV用两种不同方法将其分割并计数。

图片

      

方法一:基于分水岭算法

    基于分水岭算法分割步骤如下: 

  【1】高斯滤波 + 二值化 + 开运算

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)gray = cv2.GaussianBlur(gray,(5,5),0)ret, binary= cv2.threshold(gray, 115, 255, cv2.THRESH_BINARY) kernel = np.ones((5, 5), np.uint8)binary = cv2.morphologyEx(binary, cv2.MORPH_OPEN, kernel, iterations=1)cv2.imshow('thres', binary)

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

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

相关文章

c++多态与虚函数

多态是什么? 多态(Polymorphism)是面向对象编程中的一个核心概念,它来源于希腊语,意为“多种形态”。 从字面意思理解,多态是指函数有多种形态(实现)。换句话说,运行阶段…

统计学-R语言-5.1

文章目录 前言随机性和规律性概率变量的分布离散型--二项、泊松、几何二项分布几何分布泊松分布 连续型--均匀、正态均匀分布正态分布 其它统计分布--χ2分布、t分布、F分布χ2分布t分布F分布 练习 前言 从本篇文章开始介绍有关概率与分布的介绍。 随机性和规律性 当不能预测…

2024阿里云服务器常用配置价格表(原价及活动报价)

2024年阿里云服务器租用费用,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、轻量应用服务器2核2G3M带宽轻量服务器一年61元,2核4G4M带宽轻量服务器一年165元12个月,ECS云服务器e系列2核2G配置99元一年、2核4G服务器30元3个月、2核4G配置…

2024年外贸新兴市场有哪些 | 箱讯科技国际贸易平台

当前欧美市场经济增速放缓,通胀持续高位导致物价普遍上涨,进一步引发消费疲软。此外,受原材料价格、劳动力、土地等经营成本上升影响,外贸出口企业利润被进一步压缩。 困顿之中,新兴市场成为破局关键,巨大的…

Quartus 软件界面介绍与部分使用技巧

内容太多,只能慢慢补充完善了~ 对一个软件的熟练掌握,不仅在于完成项目工程,还在于对一个软件的各个功能的位置与使用要熟稔于心(个人看法)。 软件界面 默认打开的软件界面如下: 关掉所有能关闭的窗口&am…

IDEA中启动项目报堆内存溢出或者没有足够内存的错误

1.报错现象 java.lang.OutOfMemoryError: Java heap space 或者 Could not reserve enough space for object heap 2.解决办法 在运行配置中VM选项后加下面的配置: -server -XX:MaxHeapSize256m -Xms512m -Xmx512m -XX:PermSize128M -XX:MaxPermSize256m

模型Model:文件系统模型QFileSystemModel

一、 1、常用函数 QFileSystemModel自带目录变化监听 1)、 QModelIndex setRootPath(const QString &path); 设置检索根目录 2)、 bool isDir(const QModelIndex &index) const; 选中索引是否为目录节点 3)、 QString filePath(const QModelIndex &index) const;…

LabVIEW图像识别检测机械零件故障

项目背景: 在工业生产中,零件尺寸的准确检测对保证产品质量至关重要。传统的人工测量方法不仅耗时费力,精度低,还容易导致零件的接触磨损。为了解决这些问题,开发了一套基于LabVIEW和机器视觉的机械零件检测系统。该系…

新火种AI|程前怼大佬引发闹剧,但更值得关注的,是大佬的AI观点

作者:小岩 编辑:彩云 在2024年开年的一场演讲大会中,知名网红程前直接炮轰了大佬周鸿祎。事件快速发酵,引起了全网的热烈讨论。很多人都在吐槽程前的情商有多低,大佬有多真性情,却全然忘记了周鸿祎此次参…

unity C#什么是线程锁,以及使用案例

文章目录 原理1. **互斥**(Mutual Exclusion):2. **缓存一致性与内存屏障**:3. **操作系统的支持**:4. **编程语言级别的实现**:5. **避免死锁**:图示 实例1实例2 原理 线程锁的原理主要是为了在多线程环境…

美国智库发布《用人工智能展望网络未来》的解析

文章目录 前言一、人工智能未来可能改善网络安全的方式二、人工智能可能损害网络安全的方式三、人工智能使用的七条建议四、人工智能的应用和有效使用AI五、安全有效地使用人工智能制定具体建议六、展望网络未来的人工智能(一)提高防御者的效率&#xff…

如何优雅的实现主机与虚拟机文件共享?

我们在嵌入式开发中使用虚拟机时,经常需要在主机和虚拟机操作系统之间传输文件。以常用的虚拟机软件 Vmware 为例,如果安装了虚拟机工具,我们可以通过直接拖放文件的方式快速实现文件的交互,但这种方式做不到文件的同步、修改&…

华为路由设备DHCPV6配置

组网需求 如果大量的企业用户IPv6地址都是手动配置,那么网络管理员工作量大,而且可管理性很差。管理员希望实现公司用户IPv6地址和网络配置参数的自动获取,便于统一管理,实现IPv6的层次布局。 图1 DHCPv6服务器组网图 配置思路 …

Android 系统启动过程纪要(基于Android 10)

前言 看过源码的都知道,Launcher系统启动都会经过这三个进程 init ->zygote -> system_server。今天我们就来讲解一下这三个进程以及Launcher系统启动。 init进程 准备Android虚拟机环境:创建和挂载系统文件目录;初始化属性服务&…

Halcon基于灰度值的模板匹配

Halcon基于灰度值的模板匹配 基于灰度值的模板匹配是最经典的模板匹配算法,也是最早提出来的模板匹配算法。这种算法的根本思想是,计算模板图像与检测图像之间的像素灰度差值的绝对值总和(SAD方法)或者平方差总和(SSD…

Java NIO (一)简介

1 NIO简介 在1.4版本之前,Java NIO类库是阻塞IO,从1.4版本开始,引进了新的异步IO库,被称为Java New IO类库,简称为Java NIO。New IO类库的目的 就是要让Java支持非阻塞IO。 Java NIO类库包含三个核心组件: …

Vue3中provide,inject使用

一,provide,inject使用: 应用场景:向孙组件传数据 应用Vue3碎片: ref,reactive,isRef,provide, inject 1.provide,inject使用 a.爷组件引入 import {ref,provide} from vue const drinkListre…

LeetCode、2542. 最大子序列的分数【中等,排序+小顶堆】

文章目录 前言LeetCode、2542. 最大子序列的分数【中等,排序小顶堆】题目及类型思路及代码实现 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领…

安泰射频功率放大器的主要的类型及主要参数

射频功率放大器是一种将射频信号放大到更高功率级别的电子设备。根据其工作原理和应用要求,射频功率放大器可以分为不同的类型。下面西安安泰将介绍一些常见的射频功率放大器类型和相关的主要参数。 A类功率放大器:A类功率放大器是一种广泛使用的线性放大…

Navicat教程

下载连接(无限使用版) 链接:https://pan.baidu.com/s/1IprYLRv0bSnW-XKn0trRtw 提取码:j6qx 连接使用 1.1 连接数据库 打开navicat,点击连接,选择数据库 1.2 操作数据库 右键连接,点击新建数…