資源簡介
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
- 上一篇:基于單片機的電子秤畢設PPT
- 下一篇:OpenGL文件.zip
評論
共有 條評論