胎儿头围测量

给定一张B超图像,如何自动测量出胎儿头围

区域生长算法:http://www.baidu.com/s?wd=%E5%8C%BA%E5%9F%9F%E7%94%9F%E9%95%BF%E7%AE%97%E6%B3%95&rsv_spt=1&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&bs=%E8%83%8E%E5%84%BF%20%E5%A4%B4%E9%A2%85%20%E5%8C%BA%E5%9F%9F%E7%94%9F%E9%95%BF%E7%AE%97%E6%B3%95

经过几天的研究发现区域生长算法更多的是用于图像分割。


初步计划是先将图像进行灰度化,然后求图像感兴趣区域的梯度变化值,变化值大的点即可能是胎儿头围边缘。对变化大的点进行椭圆拟合。

在这贴几个matalb函数:

在图像处理中,B=double(A),B=im2double(A),B=mat2gray(A)这三个函数有什么不同啊,在进行数据类型转换时应该用哪个呢?

matlab中的运算一般都要使用double型,即使它只是普通的整数,因此常常用第一个函数转化,第二个就是把图像数据转化为double型。

double函数只是将读入图像的uint8数据转换为double类型,一般不使用,常用的是im2double函数,将uint8图像转为double类型,范围为0-1,如果是255的图像,那么255转为1,0还是0,中间的做相应改变。

mat2gray是将最终获得的矩阵转化为灰度图像。常用的为
A = im2uint8(mat2gray(result))
这样就将result矩阵转化为uint8类型的图像。

 
>> A = randint(5, 5, [0 255])
A =
   208    24    40    36   167
   231    71   248   107     9
    32   140   245   234   217
   233   245   124   202   239
   161   247   204   245   173
>> mat2gray(A)
ans =
    0.8326    0.0628    0.1297    0.1130    0.6611
    0.9289    0.2594    1.0000    0.4100         0
    0.0962    0.5481    0.9874    0.9414    0.8703
    0.9372    0.9874    0.4812    0.8075    0.9623
    0.6360    0.9958    0.8159    0.9874    0.6862
>> im2double(A)
ans =
   208    24    40    36   167
   231    71   248   107     9
    32   140   245   234   217
   233   245   124   202   239
   161   247   204   245   173
mat2gray 是把一个double类的数组转换成取值范围为[0,1]的归一化double类数组。

im2double将输入转换为double类。若输入是unit8,unit16或logical类,则输出转换成范围为[0,1]的double类;
                                若输入已经是double,则输出将返回一个与输入相同的数组。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值