如何使用 matlab 正确地细分细胞图像?

2024-02-25

I have the following picture which is a photo of pancreatic cells enter image description here

我想做的是能够获得每个细胞的膜(红色丝),然后进行镶嵌以了解丝的长度。 到目前为止,我已经尝试使用matlab网站上给出的示例,但结果并不是很好......

 I = imread('picture.tiff');
 I_gray = rgb2gray(I);
 [~, threshold] = edge(I_gray, 'sobel');
 fudgeFactor = .5;
 BWs = edge(I_gray,'sobel', threshold * fudgeFactor);
 se90 = strel('line', 3, 90);
 se0 = strel('line', 3, 0);
 BWsdil = imdilate(BWs, [se90 se0]);

我一直在寻找其他方法几个小时,但没有任何令人满意的结果......有没有办法做到这一点?也许除了 matlab 之外的其他软件可能会更有效。提前谢谢您!


我对细胞或镶嵌或其他什么一无所知。但如果你想检测非均匀背景中的那些斑点,那么我可能会有所帮助。由于背景不均匀,您需要单独分析斑点。您不能仅设置固定阈值来一次检测所有斑点。首先,您将单独检测每个斑点,然后使用单独的阈值。这是例子

原始图像

im=imread('gxGkH.jpg');
figure,imagesc(im);axis image;

我只选择蓝色来分析

imb=im(:,:,3);
figure,imagesc(imb);axis image;

1)模糊图像,因为模糊后斑点将具有局部 最大值/最小值在其中心

sigma=7;
kernel = fspecial('gaussian',4*sigma+1,sigma);
im2=imfilter(imb,kernel,'symmetric');

figure,imagesc(im2);axis image;

2)使用分水岭变换来分离每个blob区域

% L = watershed(im2);
L = watershed(max(im2(:))-im2);
[x,y]=find(L==0);

划定界限

figure,imagesc(im2),axis image
hold on, plot(y,x,'r.')

3)在这里,我单独分析每个斑点并找到一个大津阈值 每个斑点,然后我检测斑点并合并所有检测

tmp=zeros(size(imb));

for i=1:max(L(:))
  ind=find(L==i);
  mask=L==i;
  [thr,metric] =multithresh(imb(ind),1);
  if metric>0.7
    tmp(ind)=imb(ind)>thr;
  end
end

去除一些噪音

tmp=imopen(tmp,strel('disk',1));
figure,imagesc(tmp),axis image

如果背景的对比度高于斑点,则无需在分水岭变换中反转图像。

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

如何使用 matlab 正确地细分细胞图像? 的相关文章

  • 如何在Matlab中绘制网络?

    我有一个矩阵AMatlab中的维数mx2每行包含两个节点的标签 显示网络中的直接链接 例如 如果网络有4矩阵的节点A可能A 1 2 1 3 2 1 2 4 3 2 4 1 4 2 其中第一行表示有一个链接来自1 to 2 第二行表示有一个链
  • 在 MATLAB 中模拟 C++ 模板

    我试图找出创建 C 模板或 Java 通用对象的替代方案的最佳方法 出于多种不同的原因 我过去曾多次想这样做 但现在我想做的是为几个相关的类创建 saveobj 和 loadobj 函数 我的想法是 我想要一组通用的例程来创建默认结构 然后
  • 我如何编写一个名为 dedbi 的 MATLAB 函数,它将输入 xtx 作为字符串并返回另一个字符串 xtxx 作为输出。

    dedbi 反转单词 即 a 将被 z 替换 b 将被 y 替换 c 将被 x 替换 依此类推 dedbi 将对大写字母执行相同的操作 即将字符串 A 替换为 Z 将 B 替换为 Y 将 C 替换为 X 依此类推 如果我给函数这个字符串 a
  • 在 JavaScript 函数中加载图像

    我有获取图像像素颜色的功能 function getImage imgsrc var img img src imgsrc var imageMap new Object img load function var canvas
  • 如何在PHP中将图像从内存上传到AWS S3?

    所以我目前有一个使用 AWS S3 上传图像的上传系统 这是代码 Upload image to S3 s3 Aws S3 S3Client factory array key gt mykey secret gt myskey try s
  • 如何使用 Perl CGI 脚本提供图像?

    我的 Google fu 让我失望了 如何使用 Perl 提供已生成的图像 Example img src getimage pl getimage pl 里有什么 干得好 usr bin perl w my file inner nav
  • 以 2 为底的矩阵对数

    Logm 取矩阵对数 并且log2 取矩阵每个元素以 2 为底的对数 我正在尝试计算冯 诺依曼熵 它涉及以 2 为底的矩阵对数 我该怎么做呢 如果将 以 2 为底 的矩阵指数定义为B expm log 2 A 或者如果您类似地通过特征分解直
  • matlab中无限while嵌套在for循环中

    我想做一个while循环 嵌套在for在 Matlab 中循环以查找数据中不同对之间的距离 我的数据具有以下形式 ID lon lat time 1 33 56 40 89 803 2 32 45 41 03 803 3 35 78 39
  • React App 中的图像损坏

    我正在尝试访问 React 应用程序中的图像 当我运行代码时 我在网页上看到一个损坏的图像图标 我不确定我是否正在访问图像的正确路径 我的代码如下 import React Component from react class Header
  • PIL - 需要抖动,但限制调色板会导致问题

    我是 Python 新手 正在尝试使用 PIL 来执行 Arduino 项目所需的解析任务 这个问题涉及到Image convert 方法以及调色板 抖动等选项 我有一些硬件能够一次仅显示 16 种颜色的图像 但它们可以指定为 RGB 三元
  • 禁止 MATLAB 自动获取焦点[重复]

    这个问题在这里已经有答案了 我有以下问题 在我的 MATLAB 代码中 我使用如下语句 figure 1 更改某些数据的目标数字 问题是 在此 MATLAB 之后 系统将焦点集中在具有该图形的窗口上 当我在后台运行一个大脚本并尝试在计算机上
  • 加载位图图像至特定尺寸

    我正在尝试使用 allegro 将位图加载到特定大小 al crate bitmap x y 创建特定大小的位图 al load bitmap filename 加载我需要的图像 但为其原始大小 我需要将位图加载到我设置的大小 有任何想法吗
  • 正在使用 PIL 保存损坏的图像

    我遇到一个问题 操作图像像素导致保存损坏的图像 因此 我使用 PIL 打开图像 然后将其转换为 NumPy 数组 image Image open myimage png np image np asarray image 然后 我转置图像
  • 在 Matlab 中保存 Kinect 深度图像?

    通过使用 Kinect 我可以获得深度图像 其中每个深度图像像素存储相机和物体之间的距离 以毫米为单位 现在我想保存它们以便以后使用 最好的推荐是什么 我正在考虑将深度图像保存为图像 jpg png等 然而 该值通常是从50毫米到10000
  • 使用简单矩阵乘法时出错

    我在一次简单的乘法运算中偶然发现了一个错误 这让我感到非常惊讶 我一直以为这里发生了什么 只为矩阵乘法 http www mathworks nl help matlab matlab prog operators html x 2 y z
  • 如何使用 winforms 在 C# 中从网络下载显示下载进度的图像?

    我使用 WebRequest 从 URL 异步下载图像 如下所示 public void Download string url byte buffer new byte 0x1000 WebRequest request HttpWebR
  • 图像梯度角计算

    我实际上是按照论文的说明进行操作的 输入应该是二进制 边缘 图像 输出应该是一个新图像 并根据论文中的说明进行了修改 我对指令的理解是 获取边缘图像的梯度图像并对其进行修改 并使用修改后的梯度创建一个新图像 因此 在 MATLAB Open
  • Deploytool for MATLAB R2013b 不起作用,发生了什么变化?

    多年来我一直在使用集成deploytool为我的同事创建易于分发的 exe 文件 我几天前安装了R2013b 但无法使用deploytool不再了 尝试打包时的日志文件给出了以下内容 ant
  • React Native:加载图像后应用程序性能不佳

    加载图像似乎没有问题 但是加载完毕后就出现问题了 在我的应用程序中 我在整个游戏中一张一张地加载卡片图像 一旦我加载了 40 张卡片图像 整个应用程序就会变得很慢 它总是发生在第 40 个图像处 当我在第 40 个图像之后继续加载更多卡片图
  • 保存符号方程以供以后使用?

    From here http www mathworks com help releases R2011a toolbox symbolic brvfu8o 1 html brvfxem 1 我正在尝试求解这样的符号方程组 syms x y

随机推荐

  • PDF - 删除白边

    我想知道如何从 PDF 文件中删除白边距 就像 Adob e Acrobat X Pro 一样 据我所知 它并不适用于每个 PDF 文件 我猜想做到这一点的方法是获取文本边距 然后裁剪掉该边距 PyPdf 是首选 iText 根据以下代码查
  • 为嵌入式系统编写常量参数的最佳实践

    这是一个案例C 中的 static const 与 define https stackoverflow com questions 1674032 static const vs define in c对于嵌入式系统 在具有 传递 代码和
  • 如何在 rake 任务中渲染 Rabl 视图?

    我正在尝试在 Rails 3 2 rake 任务中将 Rabl 视图渲染为字符串 我将其渲染为字符串 以便通过 Pusher 从后台任务发送一些 JSON 我已经从 rake 任务答案中查看了各种 render to string 但它们似
  • Python 使用 Pandas 读取 Google 电子表格

    我在 Google 表格中有文件 我想将其读入 Pandas Dataframe 但给了我一个错误 我不知道它是什么 这是代码 import pandas as pd sheet id 1HUbEhsYnLxJP1IisFcSKtHTYlF
  • Chrome 不会在身份验证处理后重定向回 URL

    至少几年来 我一直在我的 MVC 解决方案中使用与此类似的代码 Authorize public class HomeController Controller HttpGet public ActionResult Index 然后在我的
  • 从列表中形成随机对(有点......)

    跳到最后一次编辑 我有一个清单Person对象 我需要将它们随机配对randomize pairs函数 每个Person对象有一个属性target他们与谁配对 我的限制是没有人可以与自己配对 废话 并且他们不应该与同一个人配对两次 我通过制
  • RSS 和 ATOM 如何通知客户端有关更新的信息?长轮询还是轮询还是其他什么?

    我读到 RSS 和 ATOM 是基于 HTTP 的 使用 XML 格式 那么 如果 HTTP 不支持连接 RSS 或 Atom 阅读器如何获知内容更新呢 他们需要定期轮询服务器吗 我有兴趣在实时网络应用程序中使用它 但我听说 轮询无法扩展
  • 为什么这个 get_index 实现在 VS2017 上失败?

    巴里给了我们这华丽的get index对于变体 https stackoverflow com a 52303687 560648 template
  • 远程编程

    我在 Windows 机器上进行开发工作 但在远程 Linux 机器上进行编译 我目前所做的是在 Windows 上启动 X 服务器 通过 ssh 进入 Linux 机器 然后进行远程开发 我想做的是在 Windows 计算机上编辑源代码
  • 反应输入焦点事件以显示其他组件

    我读过一些关于此的教程 他们告诉我应该使用 ref 来做到这一点 但它非常一般 这是我的问题 基本上在Header组件包括NavBar SearchBar and ResultSearch成分 const Header gt return
  • JSON 对象与窗口变量,用于使用 ReactJS 传递服务器端渲染的初始状态

    在使用 Reactjs 的同构应用程序中 您需要将服务器上呈现的相同初始状态传递给客户端 然后客户端将通过事件绑定等 补充 应用程序 我见过两种传递初始状态的方法 为窗口设置全局变量 或者将其作为 JSON 对象传递 两者都可以从应用程序中
  • Drupal 5:自定义内容类型中的 CCK 字段

    我有通过 NodeAPI 挂钩实现自定义内容类型的模块 hook insert hook updateETC 我想将 CCK 字段添加到此内容类型 并通过 hook nodeapi 调用 如创建或更新 填充它 以在视图中显示内容节点 问题是
  • 使用 iOS6 社交框架将视频上传到 Facebook

    我想将视频文件发布到 Facebook 之前我使用过Facebook iOS SDK3 0 它可以工作 然而 对于iOS6 Social Framework 存在问题 block ACAccount facebookAccount ACAc
  • 强制布局(),请求布局()

    我对android文档的阅读发现了方法forceLayout 用于在下一个布局请求时生成布局显示 和requestLayout 应该立即发布布局请求 但我无法让它们表现出来正如广告所言 特别是 如果我在 Thread Sleep 之前设置一
  • Firebase 允许用户使用密钥进行访问

    我想通过电子邮件向用户发送一个提交反馈的链接 该链接具有每个用户唯一的访问密钥 如果访问密钥有效 用户应该能够提交 这在 Firebase 上怎么可能 最简单的方法是 为每个用户生成密钥 已创建一个 可能为空 文档 并将密钥作为文档 ID
  • Django Rest Framework:在 ViewSet 中注册多个序列化器

    我正在尝试创建一个自定义 API 不使用模型 但它没有在架构中显示请求定义 因此 没有以 swagger 的方式显示它 我当前的代码是 views py class InfoViewSet viewsets ViewSet list rou
  • 如何修复 InnoDB 表?

    昨晚我们的 Solaris MySQL 数据库引擎 显然 执行得很差 至少有一些 InnoDB 表已损坏 事务日志中出现时间戳无序错误 以及有关索引损坏的特定错误 我们知道可用于 MyISAM 表修复的工具 但找不到任何适用于 InnoDB
  • Python:手动输入运行shell脚本

    例如 shell 脚本在提示符处获取一个整数并返回它 Enter an integer gt 3 3 我在用着subprocess check call myScript 运行 shell 脚本 我怎样才能自动发送 3 如上例所示 到目前为
  • 为什么java需要双等号?

    为什么java在比较整数时需要双等号 if陈述 例如 if x 3 141 System out println x is equal to pi 不正确 应该是 if x 3 141 System out println x is equ
  • 如何使用 matlab 正确地细分细胞图像?

    I have the following picture which is a photo of pancreatic cells 我想做的是能够获得每个细胞的膜 红色丝 然后进行镶嵌以了解丝的长度 到目前为止 我已经尝试使用matlab网