matlab 形态学 颗粒,使用Matlab进行形态学操作

2023-11-09

Here is the problem:

A camera takes an image I of a penny, a dime, and a quarter lying on a white

background and the coins do not overlap. Suppose that thresholding creates a binary image B successfully

with 1 for the coin regions and 0 for the background.

You are given the known diameters the coins d_p, d_d, and d_q in pixels (note that d_d < d_p < d_q). How do I use morphology operations (dilation, erosion, opening, and

closing) and logical and set operations (AND, OR, NOT, and set difference), to produce three binary output images P, D, and Q, where P should contain just the penny, D should contain just the dime, and Q should contain just the quarter?

Can anyone give the codes or some hints? Thanks in advance!

解决方案

This obviously looks like homework so I won't write any code for you, but I'll give you some hints to push you in the right direction. The situation you described is highly idealized and not reflective of real-world situations.... which is actually great as it makes coding a lot more simpler. I'm going to assume that the picture was taken directly above the surface with the coins and not on an angle.

You already know the diameters of each of the coins, and because the diameters are in pixels, this makes this problem a whole lot easier. As such, you would specify three structuring elements that are circular that have the same diameters for each of the coins.

First do a morphological opening on B using the largest structuring element, which is the quarter. Opening is an erosion, followed by a dilation. One thing you should know about erosion is that any objects that are smaller than the structuring element will disappear while those that are larger will have pixels in the object that remain. As such, by doing a closing, you would remove the penny and dime, while the quarter will be fully reconstructed. One good thing about opening is that if your structuring element is smaller than the object itself, doing an opening should keep the object the same, provided that the structuring element and object follow more or less the same characteristics. Because your structuring element is circular and so are the coins, we're good to go. As such, this is your first image Q.

Next, use the second largest structuring element, which is the penny, and do an opening on the image B. What will happen now is that the dime should disappear while the quarter and the penny should still remain. As such, do a set difference between this image and Q. Our result is just the dime that is left, and so this is P.

Finally for the dime, you actually don't even need to do any morphology. Do a logical OR operation to combine the quarter Q and penny P to get a combined image. After, do a set difference between the original image B and this combined image. You'll then isolate the dime, which is now D.

This should be enough to get you started. Good luck!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab 形态学 颗粒,使用Matlab进行形态学操作 的相关文章

  • house of storm

    一 漏洞利用条件 house of storm是一种结合了unsorted bin attack和large bin attack的攻击技术 其基本原理和large bin attack类似 漏洞发生在unsorted bin的chunk放
  • 【C++碎碎念】C++11新特性(声明、智能指针、右值引用、lambda表达式)

    目录 一 新类型 二 统一的初始化 三 声明 四 智能指针 五 右值引用 六 Lambda表达式 一 新类型 C 11新增了long long和unsigned long long 以支持64位 或更宽 的整型 新增了类型char16 t
  • 数据结构 顺序表的定义

    文章目录 1 2 1 顺序表的定义 1 2 2 顺序表上基本操作的实现 1 顺序表的建立 2 顺序表元素的插入 3 顺序表元素的删除 4 顺序表的查找 1 2 1 顺序表的定义 定义 顺序表是用一组地址连续的存储单元依次存储线性表中的数据元
  • flutter滚动到底部_flutter ScrollController如何滚动到底部?

    flutter ScrollController滚动到底部的示例代码如下 方式一 import package flutter scheduler dart import package flutter material dart void
  • 微信小程序开发全流程记录(从前台到后台,到发布)

    微信小程序开发流程记录 一 代码处理 一 微信小程序 前端显示 微信小程序项目的架构 部分特点说明 二 后台服务器 数据交互 需要的环境 特别注意 二 项目部署 一 Wampserver的设置 二 域名的获取 三 小程序官方网站上的设置 一
  • 阿里大数据之路:数据模型篇大总结

    第1章 大数据领域建模综 1 1 为什么需要数据建模 有结构地分类组织和存储是我们面临的一个挑战 数据模型强调从业务 数据存取和使用角度合理存储数据 数据模型方法 以便在性能 成本 效率之间取得最佳平衡 成本 良好的数据模型能极大地减少不必
  • Linux添加yum源,yum下载速度过慢

    CentOS系统更换yum软件安装源 此处以网易为例 第一步 备份你的原镜像文件 以免出错后可以恢复 mv etc yum repos d CentOS Base repo etc yum repos d CentOS Base repo
  • 英伟达新方法入选CVPR 2023:对未知物体的6D姿态追踪和三维重建

    普通手机 随手 拍的雕像 一下就变成了精细的三维重建图 水杯来回动的动态场景下 细节清晰可见 静态场景效果也同样nice 狗狗突出的肋骨都被还原了出来 对比来看其他方法 效果是酱婶的 这就是英伟达最新提出的方法BundleSDF 这是一种可
  • 什么是JVM

    什么是JVM JVM 内存结构 虚拟机的前世今生 从虚拟机的发展到未来的技术发展 未来的Java技术 JVM整体介绍 JVM各版本内存区域的变化 直接内存 深入分析栈和堆 JVM中的对象 JVM中对象的分配 Java中的泛型 垃圾回收算法与
  • PHP发送邮件详细说明

    这两天琢磨了php得原生发送邮件 发现自带得mail方法不太好用 于是上网查询了好多方法 亲测以下方法能用 源代码都在 我的github 到github上下载 https github com PHPMailer PHPMailer htt
  • 2021年“泰迪杯”数据分析技能赛B 题+肥料登记数据分析数据集

    2021 年 泰迪杯 数据分析技能赛 B 题 肥料登记数据分析 一 背景 肥料是农业生产中一种重要的生产资料 其生产销售必须遵循 肥料登记管 理办法 依法在农业行政管理部门进行登记 各省 自治区 直辖市人民政府 农业行政主管部门主要负责本行
  • vue-$nextTick使用详解

    在vue应用中 我们会碰到 nextTick这个东西 偶尔也会使用 多半是与DOM加载相关 不知道 nextTick为何物 这里搜寻了下资料 做一下总结 nextTick说明 在下次Dom更新循环结束之后执行延迟回调 就是说此次数据变化 在
  • Python自学笔记3-数据类型

    Pytho的数值类型包括 name purpose int 整型 long 长整型 Python3中没有 float 浮点数 complex 复数 代码示例 x 3 整数 f 3 141529 浮点数 name Python 字符串 big
  • 【适合一战成硕的你】考研408笔记(计算机网络)王道+天勤(你再也不用做笔记了)拿捏408.

    考研408笔记系列 提示 点击下面的超链接可以直接到达自己想要的专栏 45分 考研408笔记 数据结构 王道 天勤 45分 考研408笔记 计算机组成原理 王道 天勤 35分 考研408笔记 操作系统 王道 天勤 25分 考研408笔记 计
  • Kali下安装 dvwa 的完整详细教程

    kali之DVWA DVWA共有十个模块 分别是 1 Brute Force 暴力 破解 2 Command Injection 命令行注入 3 CSRF 跨站请求伪造 4 File Inclusion 文件包含 5 File Upload
  • 常用的Dos命令与打开cmd的方式

    打开CMD的方式 开始 系统 命令提示符 Win键 R 输入cmd 打开控制台 推荐 在任意的文件夹下面 按住shift键 鼠标右键点击 在此打开命令行窗口 资源管理器的地址栏前面加上cmd 空格 路径 选择以管理员方式运行 常用的Dos命
  • 符合ISO26262标准的建模规范检查模型静态分析静态测试工具

    符合ISO26262标准的建模规范检查模型静态分析静态测试工具 Model Examiner 功能安全解决方案 以下简称MXAM 测试套件是您进行全面静态模型分析的首选工具 MXAM提供了一种简单的方法来检查建模规范 分析模型结构和评估模型
  • GB2312码表

    转载https blog csdn net oshan2012 article details 79070705
  • 【实践】第一个驱动之自动生成主设备号和设备文件

    1 声明两个变量 static struct class firstdrv class static struct class device firstdrv class dev 2 修改函数first drv init void 和fir

随机推荐

  • 解决同时安装搜狗输入法和谷歌输入法后fcitx无法使用

    问题描述 使用搜狗输入法发现老是出现乱码的问题 然后会提示你删除一个搜狗的文件后重启才能正常使用 因此本人后来听了实验室师兄的建议 又直接安装了谷歌输入法 结果刚开始用着正常 后来突然用着界面右上角的fcitx标志直接消失了 输入法也用不了
  • 【Pytorch】卷积神经网络实现手写数字识别

    Pytorch 卷积神经网络实现手写数字识别 1 加载数据 2 模型构建 3 训练模型 4 模型保存 5 模型加载和使用 1 加载数据 分别构建训练集和测试集 验证集 DataLoader来迭代取数据 import torch import
  • DS内排—2-路归并排序

    目录 题目描述 AC代码 题目描述 输入一组字符串 用2 路归并排序按字典顺序进行降序排序 输入 测试次数t 每组测试数据 数据个数n 后跟n个字符串 字符串不含空格 输出 对每组测试数据 输出2 路归并排序的每一趟排序结果 每组测试数据的
  • 红米10A 12.5.12 root 新版本note11 5G 解锁BL BootLoader无法解锁解决方案红米12C 跳过168小时

    红米10A 12 5 12 root 新版本note11 5G 解锁BL BootLoader无法解锁解决方案红米12C 新版本的红米10A dandelion c3l2 images V12 5 10 0 V12 5 11 0 V12 5
  • QPushButton的简单使用

    Qt的基本控件接口 QPushButton的简单使用 Dialog Dialog QWidget parent QDialog parent ui new Ui Dialog ui gt setupUi this QPushButton b
  • 【mcuclub】单片机-STM32F103C8T6

    一 实物图 二 原理图 1 总电源电路 一个type c的插座 一个自锁按键 一个220uF的电解电容 一个1k的限流电阻和一个LED灯 这个220uF的电解电容选取 为什么要 一是电源本身就有纹波 多加一个滤波电容更好 二是电源线有电阻
  • linux下激活窗口 qt_在Linux上通过插件将Qt窗口嵌入到Firefox中

    So this is a trivial example of what I m trying to accomplish Using QX11EmbedContainer and QX11EmbedWidget I can create
  • Linux基础服务5——rsync

    文章目录 一 基本了解 二 rsync的基本操作 2 1 安装rsync 2 2 同步常用参数 2 3 同步目录示例 三 rsync inotify实时同步 3 1 环境准备 3 2 配置服务端 3 3 配置客户端 3 4 自动同步 一 基
  • 主板中的Win10/win8.1 WHQL支持是否要开启

    在新式的电脑主板上会有Windows 10 8 1 WHQL支持开启的选项 这个选项的开启和关闭分别代表什么意义呢 这其实还要从UEFI和Legacy两种不同BIOS的说起 Legacy是传统的BIOS uefi启动是一种新的主板引导项 它
  • Qt框架分析

    以Qt5 6 0为例 类结构 先分析qt gui程序最常用的两个大类QApplication和QWidget的继承关系 如下 在分析QApplication和QWidget的构造过程 如下 结合继承关系和构造过程分析类结构 以QObject
  • 蓝桥杯之python基础

    蓝桥杯之python基础 一 问题与学习 二 python基础的关键知识点 2 1 Python 标识符 2 2 行和缩进 2 3 多行语句 2 4 python引号 2 5 python注释 2 6 python空行 2 7 等待用户输入
  • Postman添加公用url

    1 点击右上角的这个图标 2 点击Add 3 在Add Environment中输入环境名称 下面输入相关参数 4 用两层大括号即可使用 如 http base url login
  • OpenGL纹理映射总结

    大概步骤 1 创建纹理对象 并为他指定一个纹理 2 确定纹理如何应用到每个像素上 3 启用纹理贴图 4 绘制场景 提供纹理和几何坐标 过滤 由于我们提供的纹理图像很少能和最终的屏幕坐标形成对应 大小不同 所以需要设置过滤项目 允许我们进行插
  • cef支持高分辨率去除黑边

    解决方案 1 在当前电脑的桌面 右键 显示设置 把显示比例调整为100 需要重启电脑生效 这时再看 显示就正常了 2 在当前项目中 添加一个 应用程序清单文件 app manifest 在根节点 assembly 下 添加以下代码 重新运行
  • 【Flutter 问题系列第 74 篇】在 Flutter 中如何对 Uint8List 和 File 类型的图像数据进行压缩

    这是 Flutter 问题系列第 74 篇 如果觉得有用的话 欢迎关注专栏 文章目录 一 问题描述 二 引入 获取依赖 三 根据数据类型指定压缩方式 3 1 Uint8List Uint8List 3 2 File File 3 3 Fil
  • 使用tf.keras实现多层感知器(神经网络)的代码实现(tensorflow2.0基础入门2)

    逻辑回归与交叉熵 1 线性回归预测的是一个连续的值 2 逻辑回归给出的 是 和 否 的回答 3 逻辑回归的激活函数 采用的是 sigmoid激活函数 sigmoid函数是一个概率分布函数 即给定某个输入 它将输出为一个0到1的概率值 4 对
  • C语言入门日记

    参考 C语言入门日记 作者 9art0 发布时间 2020 08 30 16 37 46 网址 https blog csdn net GatoWong article details 108307915 spm 1001 2014 300
  • EOL while scanning string literal问题之谜

    运行以下脚本又遭遇 EOL while scanning string literal问题 coding utf 8 import arcpy import os import os path inWorkspace arcpy GetPa
  • 拓展卢卡斯定理模板完整注释

    define CRT SECURE NO WARNINGS include
  • matlab 形态学 颗粒,使用Matlab进行形态学操作

    Here is the problem A camera takes an image I of a penny a dime and a quarter lying on a white background and the coins