资源简介
实验一包含两个小实验:图像加载和显示、图像合成。用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语言进行数字图像处理
- Visual+C++数字图像处理-谢凤英-源代码
- VC++数字图像处理典型算法及实现
- 面向对象编程MFC综合实验代码
- OpenGL迷宫山东大学图形学实验三
- Visual C++数字图像实用工程案例精选源
- 数字图像处理扑克牌识别程序
- 数字图像处理与机器视觉——Visual
- 山东大学编译原理实验源代码c++版
- 中值滤波_均值滤波c语言实现_工程文
- 直方图均衡化_c语言实现_源代码+实验
- (VC++ 数字图像处理典型算法及实现源
- c语言实用数字图像处理
- 数字图像处理软件源代码三个资源集
- 数字图像处理实验源代码中值滤波,
- 数字图像处理的课程设计,图像处理
- 数字图像处理-基于内容的图像分类
- Visual C++数字图像识别技术典型案例
- 数据结构课程设计 山东大学版 文件
- 数字图像处理 MFC bmp格式图片打开与保
- Visual C++数字图像处理中文教程
- C++数字图像处理典型算法及实现--图像
- C语言实用数字图像处理(日本的,看
- Visual C++数字图像获取、处理及实践应
- [毕业分享] MFC实现数字图像处理软件
- 书中-part2-1
- vc++ 数字图像处理典型算法及实现 源
- Visual C++数字图像处理谢凤英版源代码
- VC C++数字图像处理实验程序
- C语言实用数字图像处理_源代码code
评论
共有 条评论