洋葱外表皮细胞计数

2023-11-03 09:10
文章标签 计数 洋葱 细胞 表皮

本文主要是介绍洋葱外表皮细胞计数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先上最后的效果对比图哈哈,我采用了多种滤波方法(中值滤波、直方图统计灰度图然后转换、均值滤波、维纳滤波)最后采用了维纳滤波器。没有采用任何的形态学处理就达到了计数的效果,如果是中值滤波的话在加上形态学运算也能达到理想的细胞计数效果。中值滤波后细胞间存在粘连,腐蚀运算就可以解决,或者使用开运算也行。
图像处理我个人感觉一定要从分析图像的元素特征出发。在这里插入图片描述
图1.1原图
在这里插入图片描述
图1.2维纳滤波后图像
在这里插入图片描述
图1.3维纳滤波标记的细胞数目
在这里插入图片描述
图1.4中值滤波后图像
在这里插入图片描述
图1.5中值滤波标计的细胞数目
代码如下·:

close all
I=imread('细胞图片1.jfif');
imshow(I);title('原图');
I1=rgb2gray(I);
figure;imshow(I1);title('灰度图像');
figure;histogram(I1);
thresh = graythresh(I1); 
thresh
I1=im2bw(I1,thresh );
figure;imshow(I1);title('二值图像');
I1= wiener2(I1,[13 13]);
%I1= medfilt2(I1,[12 12]);
figure;imshow(I1);title('滤波后图像');
se1=strel('disk',2);
I1= imopen(I1,se1);
figure;imshow(I1);title('开运算');
I1=~I1;
[mark_image,num] = bwlabel(I1,4);
%bwlabel 寻找连通区域,    4连通是指,如果像素的位置在其他像素相邻的上、下、左或右,则认为他们是连接着的
%num 表示连通区域的个数
%l是大小和BWing一样的图像数组,里面存放着对bwing图像的标签值(即判定为连通后,在L矩阵中标记出来)%regionprops 介绍
%参考 :https://blog.csdn.net/langb2014/article/details/49886787
%返回值STATS是一个长度为max(L(:))的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量
status=regionprops(mark_image,'BoundingBox');centroid = regionprops(mark_image,'Centroid');figure;
imshow(mark_image);title('标记后的图像');
for i=1:num  rectangle('position',status(i).BoundingBox,'edgecolor','r');   text(centroid(i,1).Centroid(1,1)-15,centroid(i,1).Centroid(1,2)-15, num2str(i),'Color', 'r') 
end
num

这篇关于洋葱外表皮细胞计数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/337119

相关文章

YOLOv8/v10+DeepSORT多目标车辆跟踪(车辆检测/跟踪/车辆计数/测速/禁停区域/绘制进出线/绘制禁停区域/车道车辆统计)

01:YOLOv8 + DeepSort 车辆跟踪 该项目利用YOLOv8作为目标检测模型,DeepSort用于多目标跟踪。YOLOv8负责从视频帧中检测出车辆的位置,而DeepSort则负责关联这些检测结果,从而实现车辆的持续跟踪。这种组合使得系统能够在视频流中准确地识别并跟随特定车辆。 02:YOLOv8 + DeepSort 车辆跟踪 + 任意绘制进出线 在此基础上增加了用户

归并排序/计数排序

1:归并排序 1.1:代码 void _MergeSort(int* arr, int left, int right, int* tmp){if (left >= right){return;}int mid = (left + right) / 2; _MergeSort(arr, left, mid, tmp); _MergeSort(arr, mid+1, righ

牛客小白月赛100(A,B,C,D,E,F三元环计数)

比赛链接 官方讲解 这场比较简单,ABC都很签到,D是个不太裸需要预处理的 B F S BFS BFS 搜索,E是调和级数暴力枚举,F是三元环计数。三元环考的比较少,没见过可能会偏难。 A ACM中的A题 思路: 就是枚举每个边变成原来的两倍,然后看看两短边之和是否大于第三边即可。 不能只给最短边乘 2 2 2,比如 1 4 8 这组数据,也不能只给第二短边乘 2 2 2,比

【CF】C. Glass Carving(二分 + 树状数组 + 优先队列 + 数组计数)

这题简直蛋疼死。。。。。 A了一下午 #include<cstdio>#include<queue>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int maxn = 200005;int h,w,n;int C1[maxn],C2[maxn];int

【自然语言处理 词库建设】怎样将搜狗的细胞词库scel格式转化成txt格式

搜狗词库:https://pinyin.sogou.com/dict/ 1、先下载搜狗词库到本地,文件格式为.scel后缀 2、利用python3 自动转换成txt python3版本: # -*- coding:utf-8 -*-import structimport os# 由于原代码不适用python3且有大量bug# 以及有函数没有必要使用且一些代码书写不太规范或冗余#在原有

CP-Net:用于生物细胞解析的实例感知部分分割网络|文献速递--基于深度学习的医学影像病灶分割

Title 题目 CP-Net: Instance-aware part segmentation network for biological cell parsing CP-Net:用于生物细胞解析的实例感知部分分割网络 01 文献速递介绍 实例分割是计算机视觉中的一个经典任务,用于识别图像中每个像素的对象类别(语义类型)并确定唯一的对象ID(实例索引)(Yi等,201

有temp表包含A,B两列,使用SQL,对B列进行处理,形成C列,按A列顺序,B列值不变,则C列累计技术,B列值变化,则C列重新开始计数

有temp表,使用SQL,对B列进行处理,形成C列,按A列顺序,B列值不变,则C列累计技术,B列值变化,则C列重新开始计数 建表语句如下 CREATE TABLE temp(A STRING ,B STRING );INSERT INTO TABLE temp VALUES('2010','1'),('2011','1'),('2012','1'),('2013','0'),('2014',

基于yolov5的猪只识别计数检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv5的猪只识别计数检测系统是一种创新的农业应用解决方案,它结合了深度学习和计算机视觉技术,专为提高养猪业的管理效率和精确度而设计。该系统利用YOLOv5这一先进的目标检测模型,能够实时、准确地在图像或视频中识别并计数猪只。 YOLOv5以其轻量级、高速和准确的特点著称,特别适合用于复杂多变的农场环境。通过摄像头采集的图像数据,系统能够自动检测并标记出每一头猪的位置和数

算法---计数质数(Java)

题目:计数质数 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 示例 1: 输入:n = 10 输出:4 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 示例 2: 输入:n = 0 输出:0 示例 3: 输入:n = 1 输出:0 提示: 0 <= n <= 5 * 106 解决方法:(埃氏筛) 思路: 算法由希腊数学家厄拉多塞(\rm

leetcode 204:计数质数

int countPrimes(int n) {if(n<=0)return 0;int c=0;for(int i=2;i<n;i++){int flag=0;for(int j=2;j<=std::sqrt(i);j++){if(i%j==0){flag=1;break;}}if(flag==0)c++;}return c;}