资源简介
使用FCM算法的通用图像分割程序,效果很不错 编译需要OpenCV
代码片段和文件信息
// FCM2.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include “FeatureMatrix.h“
#include “PartitionMatrix.h“
#include
#include “FuzzyCMeansCluster.h“
#include “FCMImageSegmentation.h“
#include “cv.h“
#include
int main2(int argc char* argv[])
{
printf(“Hello World!\n“);
CFeatureMatrix cfm(3);
double aa[3] = {1.525.025.7};
cfm.AddFeatureVec(aa31);
cfm.AddFeatureVec(aa31);
cfm.AddFeatureVec(aa31);
cfm.AddFeatureVec(aa31);
// cfm.ToString(cout);
//
// cfm.Clone()->ToString(cout);
int ij;
PartitionMatrix cpm(35);
for( i =0;i<3 ;i++)
for(int j=0;j<5;j++)
cpm.SetElement(jii);
// cpm.ToString(cout);
//
// cpm.Clone()->ToString(cout);
double bb[3] = {1.525.025.7};
double cc[3] = {2.525.026.7};
CFeatureVector* vecA = new CFeatureVector(bb31);
CFeatureVector* vecB = new CFeatureVector(cc31);
// double dis = FuzzyCMeansCluster::EuclideanDistance(vecAvecB);
// printf(“%f“dis);
CFeatureMatrix cfm1(1);
double saa[] = {123567};
double wei[] = {111111};
for(i=0;i<6;i++)
{
cfm1.AddFeatureVec(saa+i1wei[i]);
}
// cfm1.ToString(cout);
double sbb[] = {0.53.5};
CFeatureMatrix cfm1cnt(1);
for(i=0;i<2;i++)
{
cfm1cnt.AddFeatureVec(sbb+i11);
}
// cfm1cnt.ToString(cout);
PartitionMatrix* mx = new PartitionMatrix(26);
// FuzzyCMeansCluster::CaculatePartitonMatrix(&cfm1&cfm1cntmx2.0);
// mx->ToString(cout);
// FuzzyCMeansCluster::CaculateCenter(&cfm1&cfm1cntmx2.0);
// cfm1cnt.ToString(cout);
//
// double matrixD = FuzzyCMeansCluster::MaxtrixDistanceNorm(&cfm1cnt&cfm1cnt);
//
// printf(“%f“matrixD);
// PartitionMatrix* rmx = FuzzyCMeansCluster::FCM(&cfm1&cfm1cnt21000.001) ;
IplImage * test = cvCreateImage(cvSize(55)IPL_DEPTH_8U1) ;
for(i =0;i<5 ;i++)
for(int j=0;j<5;j++)
CV_IMAGE_ELEM(testucharij) = i*10+j;
IplImage* lena = cvLoadImage(“b-2.jpg“CV_LOAD_IMAGE_GRAYSCALE);
IplImage* lena2 = cvCloneImage(lena);
IplImage* lenaseg = cvCloneImage(lena);
cvSmooth(lenalena2);
vector image;
// CFeatureMatrix * mx1= FCMImageSegmentation::ConvertImageDirectToVec(image);
double cn1[] = {00};
double cn2[] = {8080};
image.push_back(lena);
image.push_back(lena2);
CFeatureMatrix cen(2);
cen.AddFeatureVec(cn121);
cen.AddFeatureVec(cn221);
// image.push_back(lena);
// CFeatureMatrix cen(1);
// cen.AddFeatureVec(cn111);
// cen.AddFeatureVec(cn211);
// FCMImageSegmentation::SegmentImage(image&cenlenaseg);
FCMImageSegmentation::SegmentImageBy2DHist(image&cenlenaseg);
cvSaveImage(“seg.jpg“lenaseg);
cen.ToString();
// mx1->ToString();
system(“pause“);
return 0;
}
int seg_by_1feature(IplImage* src)
{
int ij;
int dim = 1;
IplImage* dst = cvCloneImage(src);
vector
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 80984 2008-11-09 14:08 FCM2\b-2-1.jpg
文件 39770 2007-06-26 17:28 FCM2\b-2.jpg
文件 425 2008-11-09 12:03 FCM2\FCM.H
文件 5446 2008-12-23 17:44 FCM2\FCM2.cpp
文件 5174 2008-11-09 20:38 FCM2\FCM2.dsp
文件 531 2008-11-08 15:46 FCM2\FCM2.dsw
文件 118784 2008-12-23 17:44 FCM2\FCM2.exe
文件 82944 2009-02-10 10:57 FCM2\FCM2.ncb
文件 58880 2009-02-10 10:57 FCM2\FCM2.opt
文件 716 2008-12-26 10:00 FCM2\FCM2.plg
文件 6971 2008-11-10 11:25 FCM2\FCMImageSegmentation.cpp
文件 1095 2008-11-09 19:58 FCM2\FCMImageSegmentation.h
文件 2926 2008-11-09 20:50 FCM2\FeatureMatrix.cpp
文件 1152 2008-11-08 21:29 FCM2\FeatureMatrix.h
文件 2669 2008-11-09 13:43 FCM2\FeatureVector.cpp
文件 1140 2008-11-08 20:45 FCM2\FeatureVector.h
文件 5760 2008-11-11 21:50 FCM2\FuzzyCMeansCluster.cpp
文件 1726 2008-11-09 14:40 FCM2\FuzzyCMeansCluster.h
文件 11006 2008-11-09 13:37 FCM2\lena.jpg
文件 630054 2006-05-15 11:17 FCM2\lena11.jpg
文件 2267 2008-11-09 14:45 FCM2\PartitionMatrix.cpp
文件 972 2008-11-09 13:30 FCM2\PartitionMatrix.h
文件 1196 2008-11-08 15:46 FCM2\ReadMe.txt
文件 118784 2008-11-10 11:06 FCM2\Release\FCM2.exe
文件 13376 2008-11-10 11:06 FCM2\Release\FCM2.obj
文件 204108 2008-11-10 11:05 FCM2\Release\FCM2.pch
文件 11725 2008-11-10 11:05 FCM2\Release\FCMImageSegmentation.obj
文件 12300 2008-11-10 11:05 FCM2\Release\FeatureMatrix.obj
文件 46099 2008-11-10 11:05 FCM2\Release\FeatureVector.obj
文件 49395 2008-11-10 11:05 FCM2\Release\FuzzyCMeansCluster.obj
............此处省略13个文件信息
相关资源
- 基于K-means聚类的图像分割
- 谱聚类算法对图像进行分割
- ncut图像分割
- 边缘检测图像边缘检测
- 基于小波变换的彩色图像分割
- 最小误差法阈值分割
- OpenCV基于分水岭图像分割算法
- meanshift图像分割代码
- Graphcut-源码及实现
- 利用基于直方图的自适应阈值方法实
- 基于改进PSO算法的最大熵阈值图像分
- 基于Mumford-Shah模型的水平集图像分割
- 基于交叉熵阈值法的快速迭代算法
- PSO算法的最大熵阈值图像分割
- FCM文档详解资料含视频链接
- 几种图像分割算法在CT 图像分割上的
- 三种方法实现图像的分割含程序源码
- 图像分割+GUI
- 实现图像分割的grabcut代码
- 图像分割的源代码资源
- FCM算法及其推导过程
- 三维Otsu图像分割算法
- 基于遗传算法的改进FCM算法GA-FCM
- 经典fcm算法程序+详细解释
- U-Net:用于生物医学图像分割的卷积网
- 改进的细菌觅食优化算法用于双阈值
- Normalized Cut图像分割
- 图像分割算法研究综述
- 3.25 基于脉冲耦合神经网络的图像分割
- 基于边缘和区域信息的水平集SAR图像
评论
共有 条评论