资源简介
层次聚类.zip

代码片段和文件信息
#include
#include
#include
#include
using namespace cv;
using namespace std;
class center //聚类中心点
{
public:
int center_r;
int center_g;
int center_b;
int center_num; //此类的像元个数
center()
{
center_r = 0; center_g = 0; center_b = 0;
}
};
int num = 3; //聚类数目
int main()
{
//显示RGB图像并显示
IplImage* rgb = cvLoadImage(“1.jpg“ 1);
std::cout << “图片高像素:“ << rgb->height << endl; //33
std::cout << “图片宽像素“ << rgb->width << endl; //50
cvNamedWindow(“RGB“ WINDOW_NORMAL);
cvShowImage(“RGB“ rgb);
//int **type = new int *[rgb->height];
//for (int i = 0; i < rgb->height; i++)
// type[i] = new int[rgb->width];
int height = 33;
int width = 50;
//图像转换:RGB对应三个二维矩阵
double ** r = new double *[33]; //红波段
for (int i = 0; i < 33; i++)
r[i] = new double[50];
double ** g = new double *[33]; //绿波段
for (int i = 0; i < 33; i++)
g[i] = new double[50];
double ** b = new double *[33]; //蓝波段
for (int i = 0; i < 33; i++)
b[i] = new double[50];
//获取图像的颜色值
for (int i = 0; i < 33; i++)
{
for (int j = 0; j < 50; j++)
{
CvScalar s = cvGet2D(rgb i j); //i代表y轴,即height;j代表x轴,即width
b[i][j] = s.val[0]; //将颜色值导入矩阵
g[i][j] = s.val[1];
r[i][j] = s.val[2];
}
}
//将每一个像元存为一个类
center lei[1650];
int k = 0;
for (int i = 0; i < 33; i++)
{
for (int j = 0; j < 50; j++)
{
lei[k].center_r = r[i][j];
lei[k].center_g = g[i][j];
lei[k].center_b = b[i][j];
lei[k].center_num = 1;
k++;
}
}
int dis;//欧氏距离的平方
int tmpr tmpg tmpb;
int tmpi = 0;
int tmpj = 0;
int centernum = 1650; //现在分成多少类
while (centernum > num)
{
int distmp = 300000;
for (int i = 0; i < 1650; i++)//找出类间最短距离
{
for (int j = i + 1; j < 1650; j++)
{
tmpr = (lei[i].center_r - lei[j].center_r)*(lei[i].center_r - lei[j].center_r);
tmpg = (lei[i].center_g - lei[j].center_g)*(lei[i].center_g - lei[j].center_g);
tmpb = (lei[i].center_b - lei[j].center_b)*(lei[i].center_b - lei[j].center_b);
dis = tmpr + tmpg + tmpb;
if (dis < distmp)
{
distmp = dis;
tmpi = i;
tmpj = j;
}
}
}
//合并距离最短的两个类
for (int i = 0;i<)
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-22 17:19 层次聚类\
目录 0 2018-04-20 10:33 层次聚类\.vs\
目录 0 2018-04-20 10:33 层次聚类\.vs\层次聚类\
目录 0 2018-04-20 10:33 层次聚类\.vs\层次聚类\v14\
文件 19456 2018-04-22 17:19 层次聚类\.vs\层次聚类\v14\.suo
目录 0 2018-04-20 13:17 层次聚类\Debug\
目录 0 2018-04-22 15:52 层次聚类\层次聚类\
文件 19595264 2018-04-22 17:19 层次聚类\层次聚类.sdf
文件 1318 2018-04-20 10:33 层次聚类\层次聚类.sln
目录 0 2018-04-20 13:17 层次聚类\层次聚类\Debug\
目录 0 2018-04-20 13:17 层次聚类\层次聚类\Debug\层次聚类.tlog\
文件 7381 2018-04-22 11:25 层次聚类\层次聚类\层次聚类.vcxproj
文件 944 2018-04-22 11:25 层次聚类\层次聚类\层次聚类.vcxproj.filters
文件 2471 2018-04-22 15:52 层次聚类\层次聚类\源.cpp
相关资源
- PID_AutoTune_v0.rar
- vspd7.2.308.zip
- 价值2k的H漫画小说系统
- Pythonamp;课堂amp;笔记(高淇amp;400;集第
- ddos压力测试工具99657
- UML建模大全
- 开源1A锂电池充电板TP4056原理图+PCB
- m1卡 ic卡可选择扇区初始化加密软件
- TSCC.exe
- FTP课程设计(服务端+客户端)
- 计算机图形学 边填充算法实现代码
- 电力系统潮流计算程序集合
- oracle数据迁移项目实施方案
- Web Api 通过文件流 文件到本地
- Visio图标-最新最全的网络通信图标库
- Spire API文档
- OpenGL参考手册
- Python中Numpy库最新教程
- SPD博士V5.3.exe
- 直流无刷电机方波驱动 stm32 例程代码
- layui后台管理模板
- 仿知乎界面小程序源代码
- 云平台-阿里云详细介绍
- photoshop经典1000例
- scratch垃圾分类源码(最终版本).sb
- IAR ARM 7.8破解
- TI CCS V5.4 安装步骤及破解文件
- 松下plc FP-XH的驱动
- 局域网硬件信息收集工具
- 加快Windows XP操作系统开机速度
评论
共有 条评论