资源简介
基于OpenCV的图像分类技术,非监督分类中常用方法,简单实用

代码片段和文件信息
// Classify.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include “opencv2/core/core.hpp“
#include “opencv2/imgproc/imgproc.hpp“
#include “opencv2/highgui/highgui.hpp“
#include “opencv2/ml/ml.hpp“
#include
using namespace std;
using namespace cv;
int main(int argc _TCHAR* argv[])
{
char * path = _T(“lena.jpg“);
int i = _access(path 0);
Mat src_img = imread(path CV_LOAD_IMAGE_UNCHANGED);//读图像
int width_src = src_img.cols;
int height_src = src_img.rows;
Mat samples = Mat::zeros(width_src*height_src 1 CV_32FC3);//创建样本矩阵,CV_32FC3代表32位浮点3通道(彩色图像)
Mat clusters;//类别标记矩阵
int k = 0;
for (int i = 0; i {
for (int j = 0; j {
//将像素点三通道的值按顺序排入样本矩阵
samples.at(k 0)[0] = (float)src_img.at(i j)[0];
samples.at(k 0)[1] = (float)src_img.at(i j)[1];
samples.at(k 0)[2] = (float)src_img.at(i j)[2];
}
}
int nCuster = 10;//聚类类别数,自己修改。
//聚类,KMEANS PP CENTERS Use kmeans++ center initialization by Arthur and Vassilvitskii
kmeans(samples nCuster clusters TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER 10 1.0) 1 KMEANS_PP_CENTERS);
//显示聚类结果
Mat result = Mat::zeros(height_src width_src CV_8UC1);
k = 0;
int val = 0;
float step = 255 / (nCuster - 1);
for (int i = 0; i {
for (int j = 0; j {
val = 255 - clusters.at(k 0)*step;//int
result.at(i j) = val;
}
}
imshow(“原始图像“ src_img);
imshow(“聚类结果“ result);
waitKey(0);
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 87040 2019-01-05 16:43 ImageClassify\Debug\ImageClassify.exe
文件 558420 2019-01-05 16:43 ImageClassify\Debug\ImageClassify.ilk
文件 2101248 2019-01-05 16:43 ImageClassify\Debug\ImageClassify.pdb
文件 416 2019-01-05 16:04 ImageClassify\ImageClassify\Debug\ImageClassify.Build.CppClean.log
文件 1822 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.log
文件 289376 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.obj
文件 606 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog\cl.command.1.tlog
文件 32548 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog\CL.read.1.tlog
文件 568 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog\CL.write.1.tlog
文件 170 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog\ImageClassify.lastbuildstate
文件 1368 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog\li
文件 2940 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog\li
文件 528 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog\li
文件 871424 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\vc120.idb
文件 708608 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\vc120.pdb
文件 1699 2019-01-05 16:43 ImageClassify\ImageClassify\ImageClassify.cpp
文件 3942 2019-01-05 16:38 ImageClassify\ImageClassify\ImageClassify.vcxproj
文件 1278 2019-01-05 16:07 ImageClassify\ImageClassify\ImageClassify.vcxproj.filters
文件 91814 2010-12-05 06:13 ImageClassify\ImageClassify\lena.jpg
文件 2010624 2010-12-05 10:38 ImageClassify\ImageClassify\opencv_core220.dll
文件 3589632 2010-12-05 10:37 ImageClassify\ImageClassify\opencv_core220d.dll
文件 776192 2010-12-05 10:38 ImageClassify\ImageClassify\opencv_highgui220.dll
文件 1716224 2010-12-05 08:45 ImageClassify\ImageClassify\opencv_highgui220d.dll
文件 80 2019-01-05 16:04 ImageClassify\ImageClassify\stdafx.h
文件 234 2019-01-05 16:04 ImageClassify\ImageClassify\targetver.h
文件 37552128 2019-01-05 17:09 ImageClassify\ImageClassify.sdf
文件 985 2019-01-05 15:59 ImageClassify\ImageClassify.sln
..A..H. 23040 2019-01-05 17:09 ImageClassify\ImageClassify.v12.suo
目录 0 2019-01-05 16:43 ImageClassify\ImageClassify\Debug\ImageClassify.tlog
目录 0 2019-01-05 16:43 ImageClassify\ImageClassify\Debug
............此处省略6个文件信息
相关资源
- 基于OpenCV的数字识别468815
- 使用opencv去掉二值化图像中黑色面积
- opencv环境配置
- win10 64位下编译的opencv4.5.5库,opencv
- NVIDIAOpticalFlowSDK-79c6cee80a2df9a196f20afd6
- opencv_contrib-3.4.0.zip
- opencv2.4.9源码分析——SIFT
- 用两个摄像头实现,双目标定,双目
- opencv_traincascade训练分类器,手势识别
- opencv3.0交叉编译用parallel.cpp
- 基于opencv的图像识别识别图像中的色
- 基于openCV的识别特定颜色区域
- 基于OpenCV的分水岭算法实现
- QT+opencv+OCR 身份证号码,银行卡号识别
- opencv视频特定颜色区域识别
- 把RGB转换为HSV和HSI然后根据黄色和蓝
- opencv视觉测距
- 基于Qt和opencv的身份证号码识别系统
- opencv_ffmpeg249.dll
- SfM稀疏三维点云重建--完整工程文件
- 基于opencv的数人头程序源代码
- 利用OpenCV中的Stitcher类实现全景图像拼
- opencv实现的sift算法源码,包含了图像
- openCV 上的小波变换
- 基于OPENCV的车牌识别系统设计
- 617张国内车牌60-17bmp图片用于OpenCV正样
- hog特征提取,c版本代码
- 基于Qt5.8+OpenCV3.2的Basler多相机触发开
- 基于Opencv实现的图像纠偏
- ImageWatch2019.vsix
评论
共有 条评论