资源简介
实验一包含两个小实验:图像加载和显示、图像合成。用c++、opencv写的。运行代码时注意所选图像的大小和格式
代码片段和文件信息
//#include
//#include
//#include “opencv2/imgcodecs.hpp“
//#include
//#include
//#include
//
//using namespace cv;
//using namespace cv::ml;
//using namespace std;
//
////大端转小端
//int reverseInt(int i);
//
//void main()
//{
// //读取测试样本集
// ifstream if_testImags(“t10k-images-idx3-ubyte“ ios::binary);
// //读取失败
// if (true == if_testImags.fail())
// {
// cout << “Please check the path of file t10k-images-idx3-ubyte“ << endl;
// return;
// }
// int magic_num testImgsNum nrows ncols;
// //读取magic number
// if_testImags.read((char*)&magic_num sizeof(magic_num));
// magic_num = reverseInt(magic_num);
// cout << “测试图像数据库t10k-images-idx3-ubyte的magic number为:“ << magic_num << endl;
// //读取测试图像总数
// if_testImags.read((char*)&testImgsNum sizeof(testImgsNum));
// testImgsNum = reverseInt(testImgsNum);
// cout << “测试图像数据库t10k-images-idx3-ubyte的图像总数为:“ << testImgsNum << endl;
// //读取图像的行大小
// if_testImags.read((char*)&nrows sizeof(nrows));
// nrows = reverseInt(nrows);
// cout << “测试图像数据库t10k-images-idx3-ubyte的图像维度row为:“ << nrows << endl;
// //读取图像的列大小
// if_testImags.read((char*)&ncols sizeof(ncols));
// ncols = reverseInt(ncols);
// cout << “测试图像数据库t10k-images-idx3-ubyte的图像维度col为:“ << ncols << endl;
//
// //读取测试图像
// int imgVectorLen = nrows * ncols;
// Mat testFeatures = Mat::zeros(testImgsNum imgVectorLen CV_32FC1);
// Mat temp = Mat::zeros(nrows ncols CV_8UC1);
// for (int i = 0; i < testImgsNum; i++)
// {
// if_testImags.read((char*)temp.data imgVectorLen);
// Mat tempFloat;
// //由于SVM需要的测试数据格式是CV_32FC1,在这里进行转换
// temp.convertTo(tempFloat CV_32FC1);
// memcpy(testFeatures.data + i*imgVectorLen * sizeof(float) tempFloat.data imgVectorLen * sizeof(float));
// }
// //归一化
// testFeatures = testFeatures / 255;
// //读取测试图像对应的分类标签
// ifstream if_testLabels(“t10k-labels-idx1-ubyte“ ios::binary);
// //读取失败
// if (true == if_testLabels.fail())
// {
// cout << “Please check the path of file t10k-labels-idx1-ubyte“ << endl;
// return;
// }
// int magic_num_2 testLblsNum;
// //读取magic number
// if_testLabels.read((char*)&magic_num_2 sizeof(magic_num_2));
// magic_num_2 = reverseInt(magic_num_2);
// cout << “测试图像标签数据库t10k-labels-idx1-ubyte的magic number为:“ << magic_num_2 << endl;
// //读取测试图像的分类标签的数量
// if_testLabels.read((char*)&testLblsNum sizeof(testLblsNum));
// testLblsNum = reverseInt(testLblsNum);
// cout << “测试图像标签数据库t10k-labels-idx1-ubyte的标签总数为:“ << testLblsNum << endl;
//
// //由于SVM需要输入的标签类型是CV_32SC1,在这里进行转换
// Mat testLabels = Mat::zeros(testLblsNum 1 CV_32SC1);
// Mat readLabels = Mat::zeros(testLblsNum 1 CV_8UC1);
// if_testLabels.read((char*)readLabels.data testLblsNum * sizeof(char));
// readLabels.convertTo(testLabels CV_32SC1);
//
// //载入训练好的SVM模型
// Ptr svm = SVM::load(“mnist.xml“);
// int sum = 0;
// //对每一个测试图像进行SVM分类预测
// for (int i = 0; i <
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4729 2017-12-13 10:30 test.cpp
文件 939 2017-10-01 10:40 test1.cpp
- 上一篇:C++编写的简单仓库管理系统
- 下一篇:最小生成树的源代码(C++实现)
相关资源
- 数字图像处理打开位图并查看其灰度
- 数字图像处理算法C语言实现.
- 数字图像处理原理与实践 基于Visua
- 数字图像处理 邻域平均法 C语言
- 数据结构课设排序算法的可视化演示
- 山东大学图像学实验openGL读取off文件
- C语言实现调度算法源代码-山东大学操
- C语言写的简单均值滤波算法
- 编译原理PL0实验报告
- 功能非常全的数字图像处理程序含源
- 单向空间后方交会实验代码
- Visual C++数字图像处理技术详解 pdf+源
- 基于linux下的图像缩小 c语言
- C++ 数字图像处理源代码
- 数字图像处理 印前输出 rip 数字加
- 山东大学图形学实验三:半边结构,
- 进程同步实验代码c语言
- Visual C++数字图像模式识别典型案例详
- MFC数字图像处理BMP格式读取 保存 DF
- 数字图像处理图像锐化C++实现
- VC++ 数字图像 CDib类
- 《实用数字图像处理与分析(2版)》
- 北邮信通微机原理软件实验代码包
- c++ 数字图像处理小程序
- Visual c++数字图像处理典型算法及随书
- c语言实现 迷宫-2小游戏源码(山东大
- Visual C++ 实践与提高 数字图像处理与
- 进程管理系统
- 山东大学数据结构课设表达式类型 源
- 数字图像处理编程入门 VC++ 有源码
评论
共有 条评论