智能信息处理技术基础实验报告
_2021年__4__月__17_日 第__7__周 星期__四__ 评分
班级 |
信工18-2 |
姓名 |
刘旭 |
学号 |
201823030216 |
指导老师 |
施陈博 |
实验课程 |
图像处理 |
实验项目 |
Homework1 |
||||
一、 实验目的.
1.1自己编写的:bigman.h
#ifndef __BIGMAN_H__ #define __BIGMAN_H__ (bigman.h文件的内容) #endif
1#pragma once :opencv和c++所用的.h/.hpp文件; 2宏定义; 3命名空间cv和std; 4除了main.cpp外其他所有的函数声明; 5类结构体的定义。 1.2库里的:包括opencv和c++所用的.h/.hpp文件、STL容器等
2.1主函数:main.cpp
实现整个项目中所有功能函数的“串联”,输出必要的提示性指导语句;
1 cout输出语句; 2 While(getchar()!=‘\0’)循环实现只要有符合条件的键入, 就可以一直处理问题的功能; 3 Switch-case语句实现检查不同的键入信息产生处理问题的分支; 4 特殊的字符可以让输出界面相对整齐美观。 2.2头文件中声明的函数所在的cpp文件: 1、equalize.cpp //直方图均衡化处理 2、number_bgr2hsi.cpp //已知bgr的值,计算hsi的值 3、objsegment.cpp //简单目标分割 4、recover.cpp //缩放变化,调用第5个方法 5、recover2.cpp //反变换 6、recover3.cpp //对比分析不同的插值方式 7、regular.cpp //直方图增强法之直方图规定化处理 8、rgb2hsi.cpp //rgb到hsi的转换 9、saveimg.cpp //将hsi三通道图像保存到指定文件 10、show.cpp //显示图像及其直方图,调用第1个方法 11、输入bgr求解并输出对应的hsi.main.cpp //调用上述第2个方法 1.1.1.main.cpp //调用上述第4个方法 1.1.2.main.cpp //调用上述第6个方法 1.2.1.main.cpp //调用上述第7、10个方法 1.2.2.main.cpp //调用上述第7、10二个方法 1.3.1.main.cpp //调用上述第8、9个方法 1.3.2.main.cpp //调用上述第3、11个方法
3.1文本文档:color_bgr_number.txt //记录了常用颜色的rgb值 3.2图片资源:
1、resize(src,dst,dsize,fx,fy,interpolation)函数说明: (1)src:输入,原图像,即待改变大小的图像; (2)dst:输出,改变大小之后的图像,这个图像和原图像具有相同的内容,只是大小和原图像不一样而已; (3)dsize:输出图像的大小。如果这个参数不为0,那么就代表将原图像缩放到这个Size(width,height)指定的大小;如果这个参数为0,那么原图像缩放之后的大小就要通过下面的公式来计算: dsize = Size(round(fx*src.cols), round(fy*src.rows)) 其中,fx和fy就是下面要说的两个参数,是图像width方向和height方向的缩放比例。 (4)fx:width方向的缩放比例,如果它是0,那么它就会按照(double)dsize.width/src.cols来计算; (5)fy:height方向的缩放比例,如果它是0,那么它就会按照(double)dsize.height/src.rows来计算; (6)interpolation:这个是指定插值的方式,图像缩放之后,肯定像素要进行重新计算的,就靠这个参数来指定重新计算像素的方式,有以下几种: INTER_NEAREST: 最邻近插值 INTER_LINEAR:双线性插值,如果最后一个参数你不指定,默认使用这种方法 INTER_AREA:则用使用像素面积关系进行重采样,类似于INTER_NEAREST方法 |