資源簡介
使用c++,通過一次二次三次插值和函數(shù)映射,實(shí)現(xiàn)圖像的扭曲,球面化,TPS變形。

代碼片段和文件信息
#include?“cv.h“???
#include?“highgui.h“???
using?namespace?cv;?//下面的所有cv相關(guān)類型不用加上前綴了?
#include?
#include?
#include?
using?namespace?std;
#include?
#define?pi?3.1415926
#define?x_center?207
#define?y_center?207
/*void??sphere(?Mat?&img)
{
int?ij=0i1=0j1=0;
int?i0=img.cols/2;
int?j0=img.rows/2;
for(i=1;i1 for(?j=0;j1 //int?i1=0j1=0;
i1?=?cos(atan(j/i))?*?sin((π*sqrt(i*i?+j*j))?/?(2*R))?*?R;
j1?=?sin(atan(j/i))?*?sin((π*sqrt(i*i?+j*j))?/?(2*R))?*?R;
img.at(j1+j0i1+i0)[0]=img.at(ij)[0];
img.at(j1+j0i1+i0)[1]=img.at(ij)[1];
img.at(j1+j0i1+i0)[2]=img.at(ij)[2];
img.at(-j1+j0i1+i0)[0]=img.at(ij)[0];
img.at(-j1+j0i1+i0)[1]=img.at(ij)[1];
img.at(-j1+j0i1+i0)[2]=img.at(ij)[2];
img.at(j1+j0-i1+i0)[0]=img.at(ij)[0];
img.at(j1+j0-i1+i0)[1]=img.at(ij)[1];
img.at(j1+j0-i1+i0)[2]=img.at(ij)[2];
img.at(-j1+j0-i1+i0)[0]=img.at(ij)[0];
img.at(-j1+j0-i1+i0)[1]=img.at(ij)[1];
img.at(-j1+j0-i1+i0)[2]=img.at(ij)[2];
}
j1=0;
}
};*/
void?near(double?xxdouble?yyint?xint?yMat?imgMat&?img1){
int?x1=int?(xx);
double?u=xx-double(x1);
if(u>=0.5)?x1+=1;
int?y1=int?(yy);
double?v=yy-double(y1);
if(v>=0.5)?y1=y1+1;
img1.at(xy)[0]=img.at(x1y1)[0];
img1.at(xy)[1]=img.at(x1y1)[1];
img1.at(xy)[2]=img.at(x1y1)[2];
}
void?bilinear(double?xxdouble?yyint?xint?yMat?imgMat&?img1){
int?x1=int?(xx);
double?u=xx-double(x1);
int?y1=int?(yy);
double?v=yy-double(y1);
img1.at(xy)[0]=(1-u)*(1-v)*img.at(x1y1)[0]+(1-v)*u*img.at(x1+1y1)[0]+(1-u)*v*img.at(x1y1+1)[0]+u*v*img.at(x1+1y1+1)[0];
img1.at(xy)[1]=(1-u)*(1-v)*img.at(x1y1)[1]+(1-v)*u*img.at(x1+1y1)[1]+(1-u)*v*img.at(x1y1+1)[1]+u*v*img.at(x1+1y1+1)[1];
img1.at(xy)[2]=(1-u)*(1-v)*img.at(x1y1)[2]+(1-v)*u*img.at(x1+1y1)[2]+(1-u)*v*img.at(x1y1+1)[2]+u*v*img.at(x1+1y1+1)[2];
}
double?S(double?x){
double?Sx;
x=fabs(x);
if(x<1)
Sx=1-2*x*x+x*x*x;
else?if(x<2)
Sx=4-8*x+5*x*x-x*x*x;
else?
Sx=0;
return?Sx;
}
void?bicubic(double?xxdouble?yyint?xint?yMat?imgMat&?img1){
int?x1=int?(xx);
double?u=xx-double(x1);
int?y1=int?(yy);
double?v=yy-double(y1);
double?e;
double?temp1=S(1+u)*img.at(x1-1y1-1)[0]+S(u)*img.at(x1y1-1)[0]+S(u-1)*img.at(x1+1y1-1)[0]+S(u-2)*img.at(x1+2y1-1)[0];
double?temp2=S(1+u)*img.at(x1-1y1)[0]+S(u)*img.at(x1y1)[0]+S(u-1)*img.at(x1+1y1)[0]+S(u-2)*img.at(x1+2y1)[0];
double?temp3=S(1+u)*img.at(x1-1y1+1)[0]+S(u)*img.at(x1y1+1)[0]+S(u-1)*img.at(x1+1y1+1)[0]+S(u-2)*i
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????10555??2014-11-21?11:10??011935171448086.jpg
?????文件??????489218??2014-11-21?10:27??example.png
?????目錄???????????0??2014-11-23?23:55??image\
?????目錄???????????0??2014-11-23?21:53??image\Debug\
?????文件??????102400??2014-11-23?22:05??image\Debug\image.exe
?????文件??????731068??2014-11-23?22:05??image\Debug\image.ilk
?????文件?????2190336??2014-11-23?22:05??image\Debug\image.pdb
?????目錄???????????0??2014-11-20?11:58??image\image\
?????文件????????3061??2014-11-21?10:29??image\image.psess
?????文件????18546688??2014-11-23?23:55??image\image.sdf
?????文件?????????977??2014-11-21?10:29??image\image.sln
?????文件???????43008??2014-11-23?23:55??image\image.v11.suo
?????目錄???????????0??2014-11-23?22:05??image\image\Debug\
?????文件?????????482??2014-11-23?22:05??image\image\Debug\cl.command.1.tlog
?????文件???????13572??2014-11-23?22:05??image\image\Debug\CL.read.1.tlog
?????文件?????????192??2014-11-23?22:05??image\image\Debug\CL.write.1.tlog
?????文件??????????48??2014-11-23?22:05??image\image\Debug\image.lastbuildstate
?????文件????????2524??2014-11-23?22:05??image\image\Debug\image.log
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
?????文件???????????2??2014-11-23?22:05??image\image\Debug\li
............此處省略130個(gè)文件信息
評(píng)論
共有 條評(píng)論