• 大小: 89KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-08-04
  • 语言: 其他
  • 标签: GVF  

资源简介

能够实现,希望谁能在此基础上添加一个有效外力。是的算法的速度更快。

资源截图

代码片段和文件信息

/*==================================================================
=  代码内容:GVF Snake                                      
=  修改日期:2009-3-12                                                                                                         
=  作者:crond123 
=  博客:http://blog.csdn.net/crond123/
=   E_Mail:crond123@163.com                                                      
====================================================================*/

#include “stdafx.h“

#include “SnakeDeform.h“
#include “SnakeInterp.h“
#include “gvfc.h“

std::vector   InitContour; 
//用于显示的图像
IplImage* temp;  //= cvCreateImage(cvGetSize(img) IPL_DEPTH_8U 1);
/*
* 将迭代的点显示在窗口中
*/
void showContent(IplImage * img)
{
if(temp==NULL)
temp= cvCreateImage(cvGetSize(img) IPL_DEPTH_8U 1);
cvCopyImage(imgtemp);
//在原始图像上划线
for (int i=0;i {
cvCircle(temp InitContour[i] 2 cvScalarAll(155));
int j = (i+1)%InitContour.size();
cvLine( temp  InitContour[i]InitContour[j]  cvScalarAll(100) 1);           
}
// cvSaveImage(“sef.jpg“temp);
cvShowImage( “srcImage“ temp );

}

void on_mouse( int event int x int y int flags void* ptr)
{
//鼠标点击时添加轮廓点
if( event == CV_EVENT_LBUTTONDOWN )
{
InitContour.push_back(cvPoint(xy));
showContent((IplImage *)ptr);
}
}


int main(int argc char* argv[])
{
IplImage * srcimage = NULL;
if ( argc == 2 &&
(srcimage = cvLoadImage((char *)argv[1] CV_LOAD_IMAGE_GRAYSCALE))!=0 );
else
{
srcimage = cvLoadImage(“test.jpg“ CV_LOAD_IMAGE_GRAYSCALE);    //载入工作目录下文件名为“tiger.jpg”的图片。
}

if(srcimage==NULL)
{
std::cout<<“error file name“< return -1;
}

CvSize size = cvGetSize(srcimage);

//为 uvedge 申请空间 

CvMat * u =   cvCreateMat(size.heightsize.widthCV_32FC1);
CvMat * v =   cvCreateMat(size.heightsize.widthCV_32FC1);
IplImage * edge =   cvCreateImage(sizeIPL_DEPTH_8U1 );

cvCopyImage(srcimageedge);
//图像平滑
  cvSmooth( edge edge CV_MEDIAN);
  cvSmooth( edge edge CV_GAUSSIAN);
// 求取图像梯度
cvSobel(edgeedge115);

cvNamedWindow(“srcImage“);
cvShowImage(“srcImage“ srcimage);
cvSetMouseCallback(“srcImage“ on_mousesrcimage);
/*
* 通过点击采样获得初始轮廓
*/
char c;
while(c = cvWaitKey(0))
if( c == ‘s‘||c == ‘S‘ )
break;

//定义snake参数

float alpha=0.5;
float beta=0.3;
float gamma=0.3;
float kappa =1.0;

int itetime =20;
/*
* 计算GVF场
*/
GVFC_W(edgeuv0.160);

for(int ite=0;ite {
//清除可疑点

std::vector old(InitContour) ; 
int len = InitContour.size();
InitContour.clear();
for (int i=0;i {
if(old[i].x<0||old[i].x>=size.width)
continue;
if(old[i].y<0||old[i].y>=size.height)
continue;
InitContour.push_back(old[i]);
}
//对所有点进行插值

snakeInterp(InitContourInitContour);

//点太少表示失败
if(InitContour.size()<5)
break;
CvPoint*  pts = new  CvP

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6188  2009-03-12 19:18  GVF_Snake_plus\GVFC.CPP

     文件       1085  2009-03-12 18:47  GVF_Snake_plus\GVFC.H

     文件       8986  2009-03-12 16:26  GVF_Snake_plus\GVFC_XU.CPP

     文件       3541  2009-03-12 19:21  GVF_Snake_plus\GVF_Snake_plus.cpp

     文件       5130  2009-03-12 18:21  GVF_Snake_plus\GVF_Snake_plus.dsp

     文件        551  2009-03-12 16:06  GVF_Snake_plus\GVF_Snake_plus.dsw

     文件      98304  2009-03-12 19:21  GVF_Snake_plus\GVF_Snake_plus.exe

     文件      50176  2009-03-12 19:26  GVF_Snake_plus\GVF_Snake_plus.ncb

     文件      51712  2009-03-12 19:26  GVF_Snake_plus\GVF_Snake_plus.opt

     文件       3791  2009-03-12 19:21  GVF_Snake_plus\GVF_Snake_plus.plg

     文件       1256  2009-03-12 16:06  GVF_Snake_plus\ReadMe.txt

     文件       4900  2009-03-12 19:17  GVF_Snake_plus\SnakeDeform.cpp

     文件        970  2009-03-12 18:59  GVF_Snake_plus\SnakeDeform.h

     文件       1573  2009-03-12 18:30  GVF_Snake_plus\SnakeInterp.cpp

     文件        770  2009-03-12 18:59  GVF_Snake_plus\SnakeInterp.h

     文件        301  2009-03-12 16:06  GVF_Snake_plus\StdAfx.cpp

     文件       1029  2009-03-12 16:26  GVF_Snake_plus\StdAfx.h

     文件      18604  2009-03-06 19:50  GVF_Snake_plus\test.jp1g

     文件       5548  2009-03-12 18:24  GVF_Snake_plus\test.jpg

     文件      10726  2009-03-12 18:28  GVF_Snake_plus\分析结果.JPG

     目录          0  2009-03-12 19:26  GVF_Snake_plus

----------- ---------  ---------- -----  ----

               275141                    21


评论

共有 条评论