图像各种深度的处理及gvf snake中的CvSepFilter
2010-10-15 12:57
190 查看
最近在实现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: CSDN上下载的那个gvf snake c++的代码有点问题,根本不能收敛到凹区域,增加迭代次数后也不能收敛到凹区域。而且CvSepFilter在2.1版本中也找不到,用cvFilter2D()替换了CvSepFilter,问题仍不能得到解决。且cvSobel()处理edge map时会有溢出。
预计GVF snake最近一个月能够实现。
小抱怨一下,这学期课多,导师催的也紧,图像处理也是刚刚接触。能逃的课都逃了,逃课都成了习惯,不知最后期末考试成绩会是个什么样。
测试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后显示。经归一化处理后便可正常显示。也可用其他方法进行处理,这里使用归一化是因为后面要用到图像的归一化,我这里就顺便贴了归一化的代码。
g_pSrcImage = cvLoadImage( g_strImageFileName,CV_LOAD_IMAGE_GRAYSCALE ); if ( !g_pSrcImage ) { cout << "Load image error." << endl; return -1; } g_ImageSize = cvGetSize( g_pSrcImage ); g_edge = cvCreateImage( g_ImageSize, IPL_DEPTH_32F, 1 ); cvScale( g_pSrcImage, g_edge, 1, 0 ); double min, max; cvMinMaxLoc( g_edge, &min, &max, NULL, NULL, NULL ); cvScale( g_edge, g_edge, 1 / ( max - min ), - 1 * min / ( max - min ) );
ps: CSDN上下载的那个gvf snake c++的代码有点问题,根本不能收敛到凹区域,增加迭代次数后也不能收敛到凹区域。而且CvSepFilter在2.1版本中也找不到,用cvFilter2D()替换了CvSepFilter,问题仍不能得到解决。且cvSobel()处理edge map时会有溢出。
预计GVF snake最近一个月能够实现。
小抱怨一下,这学期课多,导师催的也紧,图像处理也是刚刚接触。能逃的课都逃了,逃课都成了习惯,不知最后期末考试成绩会是个什么样。
相关文章推荐
- 图像处理中的各种微分算子
- 深度学习框架Tensorflow学习与应用 图像数据处理之二
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- 深度学习常用的数据集,包括各种数据跟图像数据。
- 深度学习在医学图像处理中的应用
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- linux强大的convert命令(可以对图像做各种处理!)
- 数字图像处理:各种变换滤波和噪声的类型和用途总结
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- 深度学习图像处理(分类or检测)中结果的评价方法-mAP简介
- [Android] 图像各种处理系列文章合集
- OpenCV 图像处理 计算机视觉 深度学习 优秀博主推荐
- PHP----图像处理类,可以完成对各种类型的图像进行缩放、加图片水印和剪裁的操作
- 黄聪:C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果) (转)
- C/C++ 图像处理(13)------双目图像の深度图生成
- C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
- 一个视觉高手图像处理和深度学习方面的博文目录
- javascript图像处理―仿射变换深度理解
- 深度学习FPGA实现基础知识15(Matlab图像处理“卷积”运算)
- [Other]数字图像处理:各种变换滤波和噪声的类型和用途总结