• 大小: 0M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签: 其他  

资源简介

Transformation.rar

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
#define PI 3.141592
#define WINDOW_wrap_1 “扭曲变换最近邻插值“
#define WINDOW_wrap_2 “扭曲变换双线性插值“
#define WINDOW_wave_1 “波动变换最近邻插值“
#define WINDOW_wave_2 “波动变换双线性插值“
#define WINDOW_spherical_1 “球形变换最近邻插值“
#define WINDOW_spherical_2 “球形变换双线性插值“

//定义Mat
Mat src;
Mat dst_wrap_1 dst_wrap_2;
Mat dst_wave_1 dst_wave_2;
Mat dst_spherical_1 dst_spherical_2;
Mat map_wrap_x_1 map_wrap_y_1;
Mat map_wrap_x_2 map_wrap_y_2;
Mat map_wave_x_1 map_wave_y_1;
Mat map_wave_x_2 map_wave_y_2;
Mat map_spherical_x_1 map_spherical_y_1;
Mat map_spherical_x_2 map_spherical_y_2;


//图像的宽高
int widthheight;
int rmax;//定义扭曲变换的rmax

//滑动条
//扭曲设定alpha值
const int slider_wrap_max = 20;
int slider_wrap;
//波动设定x轴y轴的周期值和幅值
const int slider_wave_Tx_max = 30;
int slider_wave_Tx;
const int slider_wave_Ty_max = 30;
int slider_wave_Ty;
const int slider_wave_ax_max = 20;
int slider_wave_ax;
const int slider_wave_ay_max = 20;
int slider_wave_ay;
//球形设定rho值
const int slider_spherical_max = 100;
int slider_spherical;
//保存为1,初始为0
int slider_save;

//函数定义
void WrapImage(Mat &mapx Mat &mapy int width int height int alpha);
void on_trackbar_wrap_1(int void*);
void on_trackbar_wrap_2(int void*);
void on_trackbar_wrap_save_1(int flag void*);
void on_trackbar_wrap_save_2(int flag void*);

void WaveImage(Mat &mapx Mat &mapy int width int height float axfloat ayfloat Tx float Ty);
void on_trackbar_wave_1(int void*);
void on_trackbar_wave_2(int void*);
void on_trackbar_wave_save_1(int flag void*);
void on_trackbar_wave_save_2(int flag void*);

void SphericalImage(Mat &mapx Mat &mapy int width int height float rho);
void on_trackbar_spherical_1(int void*);
void on_trackbar_spherical_2(int void*);
void on_trackbar_spherical_save_1(int flag void*);
void on_trackbar_spherical_save_2(int flag void*);


int main()
{
//读入图像
src = imread(“D:/Z/5数字图像处理/数字图像处理实验材料/测试图像/baboon.bmp“ 1);
if (!src.data)
{
printf(“Error loading src \n“);
return -1;
}

//取图像长宽
width = src.rows;
height = src.cols;
char str[10];
cout << “Input rmax=“;
cin >> str;
rmax = atoi(str);
//初始化x和y矩阵
//扭曲
map_wrap_x_1.create(src.size() CV_32FC1);
map_wrap_y_1.create(src.size() CV_32FC1);
map_wrap_x_2.create(src.size() CV_32FC1);
map_wrap_y_2.create(src.size() CV_32FC1);
//波动
map_wave_x_1.create(src.size() CV_32FC1);
map_wave_y_1.create(src.size() CV_32FC1);
map_wave_x_2.create(src.size() CV_32FC1);
map_wave_y_2.create(src.size() CV_32FC1);
//球形
map_spherical_x_1.create(src.size() CV_32FC1);
map_spherical_y_1.create(src.size() CV_32FC1);
map_spherical_x_2.create(src.size() CV_32FC1);
map_spherical_y_2.create(src.size() CV_32FC1);

//初始化开始窗口
//扭曲
namedWindow(WINDOW_wrap_11);
imshow(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        988  2018-12-16 12:16  Transformation.sln

     文件      12214  2018-12-20 20:37  Transformation.cpp

----------- ---------  ---------- -----  ----

                13202                    2


评论

共有 条评论