画像処理について…
Posted: 2013年5月01日(水) 16:25
C言語で#include <math.h>を使って、画像中心を回転中心として時計回りに任意の角度回転するプログラムを作りたいんですが、どうしたらいいですか?
途中なんでコンパイルすらできてないんですが…
int x,y,k,p,x1,y1;
printf("何度で画像を回転させますか?");
scanf("%d",&p);
pXdim2 = pXdim1; //横画素数
pYdim2 = pYdim1; //縦画素数
for(y=0; y<pYdim2; y++)
for(x=0; x<pXdim2; x++)
for(k=0; k<3; k++){
x1 = ((x-pXdim2)*cos(-p) - (y-pYdim2)*sin(-p)) + pXdim2;
y1 = ((x-pXdim2)*sin(-p) + (y-pYdim2)*cos(-p)) + pYdim2;
}
if( x1>=0 && x1<pXdim2 && y1>=0 && y1<pYdim2 ) {
pimage2[k][y][x] = pimage1[k][y1][x1];
}
この上は全然違ってますか?
それともおしいとこまで来てますか?
途中なんでコンパイルすらできてないんですが…
int x,y,k,p,x1,y1;
printf("何度で画像を回転させますか?");
scanf("%d",&p);
pXdim2 = pXdim1; //横画素数
pYdim2 = pYdim1; //縦画素数
for(y=0; y<pYdim2; y++)
for(x=0; x<pXdim2; x++)
for(k=0; k<3; k++){
x1 = ((x-pXdim2)*cos(-p) - (y-pYdim2)*sin(-p)) + pXdim2;
y1 = ((x-pXdim2)*sin(-p) + (y-pYdim2)*cos(-p)) + pYdim2;
}
if( x1>=0 && x1<pXdim2 && y1>=0 && y1<pYdim2 ) {
pimage2[k][y][x] = pimage1[k][y1][x1];
}
この上は全然違ってますか?
それともおしいとこまで来てますか?