資源簡介
層次聚類.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;????//此類的像元個數(shù)
center()
{
center_r?=?0;?center_g?=?0;?center_b?=?0;
}
};
int?num?=?3;????//聚類數(shù)目
int?main()
{
??//顯示RGB圖像并顯示
IplImage*?rgb?=?cvLoadImage(“1.jpg“?1);
std::cout?<“圖片高像素:“?<height?< std::cout?<“圖片寬像素“?<width?< cvNamedWindow(“RGB“?WINDOW_NORMAL);
cvShowImage(“RGB“?rgb);
//int?**type?=?new?int?*[rgb->height];
//for?(int?i?=?0;?i?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;???//現(xiàn)在分成多少類
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?=?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
評論
共有 條評論