Zedboard甲诊opencv图像处理(三)_第1页
Zedboard甲诊opencv图像处理(三)_第2页
Zedboard甲诊opencv图像处理(三)_第3页
Zedboard甲诊opencv图像处理(三)_第4页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Zedboard甲诊opencv图像处理(三)整个工程进展到这一步也算是不容易吧,但技术含量也不怎么高,中间乱起八糟的错误太烦人了,不管怎么样,现在面临了最大的困难吧,图像处理算法。算法确实不好弄啊,虽然以前整过,但都不是针对图像的。现在的图像算法太多了,好像谁都在研究,没有一个统一的路线,看论文也是越看越糊涂,无奈之下还是自己好好学学吧,幸好队友以前也搞过,大家也都愿意参与进来了,很开心!首先改变下策略吧,之前一直在linux中直接在QT中利用OpenCV库进行图像处理的尝试,但是效率太差了,每次想要结果,都要用板子,所以,现在改用OpenCV+vs2010现在PC上测试,直到满意了再复制到板子上进行测试。换工具,得先配置啊,还好之前搞过,使用的人也多,所以比较顺利:参考博客

自己写程序,测试结果编译出错:LINK:fatalerrorLNK1123:转换到COFF期间失败:文件无效或损坏百度了,?mod=viewthread&tid=10226这个帖子不错,安装完补丁之后,编译生成解决方案成功。测试了小程序,可以使用了。针对自己的问题吧,现在的问题是月牙提取不出来,所以绞尽脑汁、千方百计要把这月牙给分离出来,找方法一个一个试吧。话说加入OpenCV后编译又出现一个错误:

这个方法解决了。首先我们已经对图像进行了初步的分割,可以将指甲的轮廓提取出来,只是效果不是很理想。可以看到受光照影响明显,需要采取措施解决光照问题。如下图:

现在想要通过对扣取出来的图片进行进一步处理,也就是对第二幅图进行特征提取,从中找到我们所需的月牙,月牙和甲床面积比,月牙颜色,甲床颜色,甲床上是否有斑点、横纹、纵纹,从而为后面的医学诊断理论作依据。既然基于灰度图像已经不能再有任何进展了,不如就用彩色图像分割吧。之前也探索过,发现还是有一定的效果的。RGB颜色空间是图像处理中最基本、最常用、面向硬件的颜色空间。我们采集到的彩色图像,一般就是被分成R、G、B的成分加以保存的。然而,自然环境下获取的果实图像容易受自然光照、叶片遮挡和阴影等情况的影响,即对亮度比较敏感。而RGB颜色空间的分量与亮度密切相关,即只要亮度改变,3个分量都会随之相应地改变。所以,RGB颜色空间适合于显示系统,却并不适合于图像处理。HSL和HSV(也叫HSB)是对RGB色彩空间中点的两种有关系的表示,它们尝试描述比RGB更准确的感知颜色联系,并仍保持在计算上简单。H指hue(色相)、S指saturation(饱和度)、L指lightness(亮度)、V指value(色调)、B指brightness(明度)。色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色、黄色等。

饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值。

明度(V),亮度(L),取0-100%。

根据这幅图就能很好地理解HSV空间了。所以接下来就采用彩色图像进行分析看看效果。,貌似可以先将指甲抠出来。不管怎样,先试试。

首先查论文,看到的好多是聚类方法,kmeans方法首先来,幸好OpenCV也有这函数,先来学学。K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。我的OpenCV的版本是2.3.1.其中Kmean的实现在modulescoresrcmatrix.cpp里面,这里要推荐一个博客,讲得挺清楚:?p=8例子可以看:doublecv::kmeans(InputArray_data,intK,InputOutputArray_bestLabels,TermCriteriacriteria,intattempts,intflags,OutputArray_centers)下面就是分析这个函数了。_data:这个就是你要处理的数据,例如是一个CvMat数据K:你需要最终生成的cluster的数量_bestLabels:当cv::kmeans执行完毕以后,_bestLabels里面储存的就是每一个对应的数据元素所在的cluster的index,这样你就可以更新你的数据,就是标记矩阵。criteria:这个东西是用来告诉cv::kmeans以一个什么样的停止条件来运行,例如criteria.epsilon=0.01f;criteria.type=CV_TERMCRIT_EPS;这个表示centers在两轮cluster运行以后的距离差,如果这个距离小于等于criteria.epsilon就停止返回当前得到的centers,否则继续attempts:最多尝试多少次,文档上说一般设置为2fla

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论