数字图像处理课设报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理课程设计报告

细胞识别

目录

第一部分

1、实验课题名称----------------------------------------------------------------------------------3

2、实验目的----------------------------------------------------------------------------------------3

3、实验内容概要----------------------------------------------------------------------------------3 第二部分

1、建立工程文件----------------------------------------------------------------------------------3

2、图像信息获取----------------------------------------------------------------------------------4

3、如何建立下拉菜单----------------------------------------------------------------------------6

4、标记Mark点------------------------------------------------------------------------------------6

5、二值化---------------------------------------------------------------------------------------------9

6、填洞------------------------------------------------------------------------------------------------9

7、收缩------------------------------------------------------------------------------------------------10

8、获取中心点--------------------------------------------------------------------------------------11

9、细胞计数-----------------------------------------------------------------------------------------13

10、All-steps-----------------------------------------------------------------------------------------13

11、扩展功能---------------------------------------------------------------------------------------14 第三部分

12、各步骤结果和错误举例--------------------------------------------------------------------16 第四部分

13、心得体会----------------------------------------------------------------------------------------22 第一部分

1、实验课题:细胞识别

2、实验目的:对血液细胞切片图片进行各种处理,最终得出细胞的数目、面积等信息。

3、实验内容概要:基于VC++6.0软件下的细胞识别,通过细胞的标记、二值化、填洞、收缩、获取中心点、计数等过程完成实验目的。

第二部分——实验具体步骤

1、建立工程文件

①新建MFC工程项目:--MFC AppWizard、工程名

②拷贝cdib.h,cdib.cpp到工程文件夹,再向工程里添加

③doc.h添加变量:m_lpDib 和头文件#include”cdib.h”

④doc.cpp:变量(m_lpDib)的new、delete

⑤doc.cpp: Serialize()

2、图像信息获取

①读取图像参数View.cpp: OnDraw() m_pDib->Draw()

如果图像不为空的话,那么就执行如下主要代码:

②点击键,建立类向导,在messages中添加OnInitialUpdate()函数,添加代码实现对自动打开固定图片。

③通过鼠标右击,点击建立类向导,在messages中添加OnMouseMove()函数,添加代码实现获取所要信息,即实现鼠标在图像任一位置移动时可以直观的读取相对应位置的信息。可以在屏幕上显示鼠标所指点的坐标以及RGB、HSI和灰度值,通过HSI的可以选取合适的阈值来找到细胞以及边界。

④为了RGB图像转化为人眼更容易识别的HSI模型,我们可以通过添加成员函数RgbtoHsi来实现这一功能。

HSI模型与RGB模型的转化关系

(添加函数时,可以右击类窗口中的view.h,选中add member function,之后选择函数的返回值类型和函数描述,其它默认不变)

确定后在里面添加实现函数功能的代码。

3、添加下拉菜单

在resourceview那栏的找到菜单按键设置

双击,后在里面添加所需按键

每个按键的ID号为注意在填写为IDR_加菜单大写。

之后右击按键,建立类向导添加按键所需函数

4、标记mark

分为四步

1.找出mark(red)点和maybemark(blue)点

2.将maybemark(blue)点变成mark(black red)点

3.将mark(black red)点变成edge(yellow(fullred&&fullgreen))点

4.edge点滤波

基本思想:Mark点指的是我们要寻找的细胞内的点。我们先获取每一个像素点的RGB 分量,然后我们将其转化成HSI分量,将H分量进行归一化,因为S的范围是0到1,所以我们要进行尺度的一致,这样才具有可计算性。然后我们通过每个像素点的H分量和S分量的值与细胞内部的H分量和S分量计算欧几里得距离,设定一个Mark门限值(我们这里将MarkDoor设置为0.09,大家可以行设置合适的参数),小于这个门限值我们就当做是细胞的内部,然后对细胞进行标记(Red)。还需要设定一个Maybe Mark门限值(我们这里将Maybe MarkDoor设置为0.15,大家可以行设置合适的参数),我们大于Mark门限值小于Maybe Mark 门限值时,我们暂时看成是细胞,我们进行Maybe Mark的标记(Blue)。否则的话,我们需要考虑,一些不是Mark和Maybe Mark点的*lpSrc==0我们区别一下赋值为1,*lpSrc==255

相关文档
最新文档