資源簡介
運行環境: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 工資管理系統 不錯哦
評論
共有 條評論