codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <math.h> #define PI 3.14159265358979 int _tmain(int argc, _TCHAR* argv[]) { int x=0,y=0; float b=1.5,c=0.5,h; int d=20,e=30,g=10; double f; unsigned char image1[256][256]; unsigned char image_out[256][256]; unsigned char image2[256][256]; unsigned char image_out2[256][256]; unsigned char image_out3[512][512]; unsigned char image_out4[512][512]; int i,j; int head,m,s,t,u,v,w; char a[512]; FILE *fp1,*fp2,*fp3,*fp4,*fp5; fp1 = fopen("lena.pgm","r"); fp2 = fopen("out-file1.pgm","w"); fp3 = fopen("out-file2.pgm","w"); fp4 = fopen("out-file3.pgm","w"); fp5 = fopen("out-file4.pgm","w"); fgets(a,512,fp1); if(a[0]!='P') return NULL; sscanf(a,"P%d",&head); if(head < 1 || head > 6) return NULL; do fgets(a,512,fp1);while(a[0]=='#'); sscanf(a,"%d%d", &x, &y); fgets(a,512,fp1); sscanf(a,"%d",&m); fprintf(fp2,"P%d\n%d %d\n%d\n",head,x,y,m); fprintf(fp3,"P%d\n%d %d\n%d\n",head,x,y,m); fprintf(fp4,"P%d\n%d %d\n%d\n",head,512,512,m); fprintf(fp5,"P%d\n%d %d\n%d\n",head,512,512,m); for(i = 0; i < x; i++){ for(j = 0; j < y; j++){ fscanf(fp1,"%d",&image1[i][j]); } } /*画像の平行移動*/ for(i = 0; i < x; i++){ if(i+d>x)break; for(j = 0; j < y; j++){ if(j+e>y)break; image_out[i+d][j+e] =image1[i][j]; } } for(i = 0; i < x; i++){ for(j = 0; j < y; j++){ fprintf(fp2,"%d ",image_out[i][j]); } } /*画像の拡大縮小*/ for(i = 0; i < x; i++){ for(j = 0; j < y; j++){ s=i*b; t=j*c; image_out2[s][t] =image1[i][j]; } } for(i = 0; i < x; i++){ for(j = 0; j < y; j++){ fprintf(fp3,"%d ",image_out2[i][j]); } } /*せん断*/ for(i = 0; i < x; i++){ for(j = 0; j < y; j++){ u=i+(tan(25*PI/180))*j; t=j; image_out3[u][t] =image1[i][j]; } } for(i = 0; i < 512; i++){ for(j = 0; j < 512; j++){ fprintf(fp4,"%d ",image_out3[i][j]); } } /*画像の拡大*/ for(i =0; i < x; i++){ for(j =0; j < y; j++){ v=i*cos(15*PI/180)+j*sin(15*PI/180); w=-i*sin(15*PI/180)+j*cos(15*PI/180); image_out4[v][w] =image1[i][j]; } } for(i = 0; i < 512; i++){ for(j = 0; j < 512; j++){ fprintf(fp5,"%d ",image_out4[i][j]); } } fclose(fp1); fclose(fp2); fclose(fp3); fclose(fp4); fclose(fp5); }
Private
[
?
]
Run code
Submit