资源简介
运行环境:vs2012+opencv3.0.0
应用kmeans算法对图像进行量化处理。
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
using namespace cv;
int main()
{
Mat img=imread(“e:/test-pic/pic12.jpg“);
Mat r(img.rowsimg.colsCV_8U);
Mat g(img.rowsimg.colsCV_8U);
Mat b(img.rowsimg.colsCV_8U);
Mat D[]={bgr};
imshow(“source“img);
//分离img的三个通道
split(imgD);
//对三个通道分别K-mean聚类--r
Mat temp=Mat::zeros(img.rows*img.cols1CV_32F);
Mat temp2;
int num=4;
Mat center(num1CV_8U);
imshow(“聚类前的r分量“r);
for(int i=0;i {
for(int j=0;j {
temp.at(i*img.cols+j0)=r.at(ij);
}
}
kmeans(tempnumtemp2TermCriteria (TermCriteria::COUNT + TermCriteria::EPS 10 0.1)3KMEANS_RANDOM_CENTERScenter);
int aaa;
for(int i=0;i {
for(int j=0;j {
aaa=temp2.at(i*img.cols+j0);
r.at(ij)=(uchar)center.at(aaa0);
}
}
imshow(“聚类后的r分量“r);
//-g分量
imshow(“聚类前的g分量“g);
for(int i=0;i {
for(int j=0;j {
temp.at(i*img.cols+j0)=g.at(ij);
}
}
kmeans(tempnumtemp2TermCriteria (TermCriteria::COUNT + TermCriteria::EPS 10 0.1)3KMEANS_RANDOM_CENTERScenter);
for(int i=0;i {
for(int j=0;j {
aaa=temp2.at(i*img.cols+j0);
g.at(ij)=(uchar)center.at(aaa0);
}
}
imshow(“聚类后的g分量“g);
//-b分量
imshow(“聚类前的b分量“b);
for(int i=0;i {
for(int j=0;j {
temp.at(i*img.cols+j0)=b.at(ij);
}
}
kmeans(tempnumtemp2TermCriteria (TermCriteria::COUNT + TermCriteria::EPS 10 0.1)3KMEANS_RANDOM_CENTERScenter);
for(int i=0;i {
for(int j=0;j {
aaa=temp2.at(i*img.cols+j0);
b.at(ij)=(uchar)center.at(aaa0);
}
}
imshow(“聚类后的b分量“b);
//聚类后的rgb分量合成彩色图
merge(D3img);
imshow(“聚类后的彩色图片“img);
waitKey();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 460 2015-03-15 16:58 k-mean\Debug\cl.command.1.tlog
文件 12262 2015-03-15 16:58 k-mean\Debug\CL.read.1.tlog
文件 252 2015-03-15 16:58 k-mean\Debug\CL.write.1.tlog
文件 3011 2015-03-15 16:24 k-mean\Debug\k-mean.Build.CppClean.log
文件 85504 2015-03-15 16:58 k-mean\Debug\k-mean.exe
文件 690112 2015-03-15 16:58 k-mean\Debug\k-mean.ilk
文件 62 2015-03-15 16:58 k-mean\Debug\k-mean.lastbuildstate
文件 1238 2015-03-15 16:58 k-mean\Debug\k-mean.log
文件 1420288 2015-03-15 16:58 k-mean\Debug\k-mean.pdb
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 2 2015-03-15 16:58 k-mean\Debug\li
文件 1100 2015-03-15 16:58 k-mean\Debug\li
文件 2306 2015-03-15 16:58 k-mean\Debug\li
文件 370 2015-03-15 16:58 k-mean\Debug\li
文件 470016 2015-03-15 16:58 k-mean\Debug\vc110.idb
文件 880640 2015-03-15 16:58 k-mean\Debug\vc110.pdb
............此处省略12个文件信息
- 上一篇:通杀UltraEdit各版本的dll替换文件
- 下一篇:VFP 工资管理系统 不错哦
相关资源
- Data Clustering 50 years beyond kmeans 翻译
- 基于聚类Kmeans算法实现客户价值分析
- K-Means 算法demo
- Kmeans的opencv实现
- 基于聚类(Kmeans)算法实现的客户价
- 基于Hadoop的Kmeans算法实现
- hadoop并行化和非并行化的kmeans算法.
- 基于 K-means 聚类算法的图像区域分割
- kmeans聚类案例
- Kmeans方法做点的聚类分析,并且画图
- K_means随机赋初值.rar
- R语言的Kmeans实现
- Kmeans.zip
- 用kmeans得到二值分割后,再用svm进行
- kmeans聚类
- 快速K-均值(kmeans)聚类图像分割算法
- Kmeans.rar
- kmeans图像聚类程序
- Kmeans++算法对图像进行分割
- 基于SIFT+Kmeans+SVM的场景识别报告
- KMeans GMM
- 用MapReduce实现KMeans算法
- 机器学习Kmeans实验报告
- synthetic_control.data
- Opencv Kmeans聚类进行图像颜色聚类分割
- kmeans+PSO
- spark平台scala语言自己实现的kmeans算法
- k-means算法实现代码和数据
- kmeans
评论
共有 条评论