图像各种深度的处理及gvf snake中的CvSepFilter

本文介绍了在实现GVF Snake过程中遇到的图像深度处理问题,特别是从IPL_DEPTH_8U到IPL_DEPTH_32F的转换。通过归一化处理解决了显示异常,并提到优快云上的GVF Snake代码存在不足,无法处理凹区域,并且CvSepFilter在OpenCV 2.1中缺失。作者计划在未来一个月内完成GVF Snake的实现,同时表达了学业压力和个人时间管理的困扰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在实现GVF snake,其中要对读取的图像求解GVF力场。图像以灰度模式读进来之后(IPL_DEPTH_8U),要进行归一化处理,转化成深度为IPL_DEPTH_32F的图像,但是现实不正常。google到了这篇文章 OpenCV对不同图像深度的处理 ,文章中对opencv里面的不同图像深度进行了分析和测试。如下:

 

      测试double型:0.0--1.0之间                           IPL_DEPTH_64F
      测试float型:0.0--1.0之间                              IPL_DEPTH_32F
      测试long型:0--65535之间                             IPL_DEPTH_32S       
      测试short int型:-32768--32767之间                  IPL_DEPTH_16S       
      测试unsigned short int型:0--65535之间              IPL_DEPTH_16U
      测试char型:-128--127之间                            IPL_DEPTH_8S         
      测试unsigned char型:0--255之间                     IPL_DEPTH_8U

 

在进行不同深度图像间进行转换的时候,如果只是调用cvScale()函数的话,用cvShowImage()来显示图像会不正常。调用过cvScale()之后,要将转换过后的图像进行处理,才能正常的用cvShowImage()函数显示。如下代码显示了从IPL_DEPTH_8U转换到IPL_DEPTH_32F后显示。经归一化处理后便可正常显示。也可用其他方法进行处理,这里使用归一化是因为后面要用到图像的归一化,我这里就顺便贴了归一化的代码。

 

ps: 优快云上下载的那个gvf snake c++的代码有点问题,根本不能收敛到凹区域,增加迭代次数后也不能收敛到凹区域。而且CvSepFilter在2.1版本中也找不到,用cvFilter2D()替换了CvSepFilter,问题仍不能得到解决。且cvSobel()处理edge map时会有溢出。

预计GVF snake最近一个月能够实现。

 

小抱怨一下,这学期课多,导师催的也紧,图像处理也是刚刚接触。能逃的课都逃了,逃课都成了习惯,不知最后期末考试成绩会是个什么样。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值