Anda di halaman 1dari 16

Index

Sr.No Program Date Signature Remark


1- Write a program in C for
scaling of images.
2- Write a program in C for
translation of images.

3- Write a program in C for


rotation of images.

4- Write a program in C to
use arithmetic mean filter
for image processing.

5- Write a program in C to
use low pass filter for
image processing.
6- Write a program in C to
use high pass filter for
image processing.
Program1:- Write a program in C for scaling of images.

#include "Stdio.h"

#include "conio.h"

#include "math.h"

#include "graphics.h"

void intgraph();

void display_cordinate(char bg_color,char line_color);

int Create_poly(int poly[][2]);

void fill_poly(int poly[][2],int points,char line_color,char fill_color);

void Identity(float Matrix[3][3]);

void Translate_to_Relative(int poly[][2],int points,int Xdis,int Ydis);

void main()

int poly[3][2],i,points,Xdis,Ydis;

float Sx,Sy,Matrix[3][3],temp,Cos,Sin;

char ch;

intgraph();

setfillstyle(8,BLUE);

points=Create_poly(poly);

display_cordinate(DARKGRAY,WHITE);

fill_poly(poly,points,WHITE,GREEN);

getch();

Identity(Matrix);

Xdis=0-poly[0][0];

Ydis=0-poly[0][1];

Translate_to_Relative(poly,points,Xdis,Ydis);

printf(“Enter the no. of lines:-”);

scanf(“%d”,&n);
printf(“Enter the co-ordinates:-“);

printf(" Enter Scaling Ratio:- ");

printf(" Sx:- ");

scanf("%f",&Sx);

printf(" Sy:- ");

scanf("%f",&Sy);

for(i=0;i<3;i++)

Matrix[i][0]=Matrix[i][0]*Sx;

Matrix[i][1]=Matrix[i][1]*Sy;

getch();

closegraph();

exit(0);

setgraphmode(2);

display_cordinate(DARKGRAY,BLUE);

Translate_to_Relative(poly,points,-Xdis,-Ydis);

fill_poly(poly,points,CYAN,BLUE);

getch();

void intgraph()

int g=DETECT,d;

initgraph(&g,&d,"c:\tc\bgi");

void fill_poly(int poly1[][2],int points,char line_color,char fill_color)

int pol[20],i;
char str[2];

for(i=0;i<=points;i++)

pol[i*2]=poly1[i][0];

pol[i*2+1]=poly1[i][1];

pol[i*2]=poly1[0][0];

pol[i*2+1]=poly1[0][1];

setcolor(line_color);

setfillstyle(8,fill_color);

fillpoly(points+1,pol);

setcolor(fill_color);

settextstyle(1,0,3);

for(i=0;i<=points;i++)

sprintf(str,"%c",i+'a');

outtextxy(poly1[i][0],poly1[i][1],str);

void Identity(float Matrix[3][3])

int i,j;

for(i=0;i<=2;i++)

for(j=0;j<=2;j++)

if(i==j)
Matrix[i][j]=1;

else

Matrix[i][j]=0;

int Create_poly(int poly[][2])

poly[0][0]=200;

poly[0][1]=20;

poly[1][0]=300;

poly[1][1]=150;

poly[2][0]=130;

poly[2][1]=280;

return 2;

void display_cordinate(char bg_color,char line_color)

{ int i;

setbkcolor(bg_color);

setcolor(line_color);

for(i=0;i<=640;i+=50)

line(i,0,i,480);

for(i=0;i<=480;i+=50)

line(0,i,640,i);

}
rectangle(0,0,639,479);

void Translate_to_Relative(int poly[][2],int points,int Xdis,int Ydis)

int i;

for(i=0;i<=points;i++)

poly[i][0]=poly[i][0]+Xdis;

poly[i][1]=poly[i][1]+Ydis;

OUTPUT

Enter the no. of lines:- 5

Enter the co-ordinates:- 300 199

454 500

500 123

123 310

456 234

Enter the scaling ratio:-

Sx:- 60

Sy:-60
Program2:- Write a program in C for translation of images.

#include "Stdio.h"

#include "conio.h"

#include "math.h"

#include "graphics.h"

void intgraph();

void display_cordinate(char bg_color,char line_color);

int Create_poly(int poly[][2]);

void fill_poly(int poly[][2],int points,char line_color,char fill_color);

void Identity(float Matrix[3][3]);

void Translate_to_Relative(int poly[][2],int points,int Xdis,int Ydis);

void main()

int poly[3][2],i,points,Xdis,Ydis;

float Sx,Sy,Matrix[3][3],temp,Cos,Sin;

char ch;

intgraph();

setfillstyle(8,RED);

points=Create_poly(poly);

display_cordinate(DARKGRAY,GREEN);

fill_poly(poly,points,GREEN,BLUE);

getch();

Identity(Matrix);

Xdis=0-poly[0][0];

Ydis=0-poly[0][1];

printf(“Enter the no. of lines:-”);

scanf(“%d”,&n);

printf(“Enter the co-ordinates:-“);


printf(" Enter Translation [Relative]:- ");

printf(" Tx:- ");

scanf("%f",&Sx);

printf(" Ty:- ");

scanf("%f",&Sy);

Matrix[2][0]=Matrix[2][0]+Sx;

Matrix[2][1]=Matrix[2][1]+Sy;

getch();

closegraph();

exit(0);

setgraphmode(2);

display_cordinate(DARKGRAY,BLUE);

Translate_to_Relative(poly,points,-Xdis,-Ydis);

fill_poly(poly,points,CYAN,GREEN);

getch();

void intgraph()

int g=DETECT,d;

initgraph(&g,&d,"c:\tc\bgi");

void fill_poly(int poly1[][2],int points,char line_color,char fill_color)

int pol[20],i;

char str[2];

for(i=0;i<=points;i++)

{
pol[i*2]=poly1[i][0];

pol[i*2+1]=poly1[i][1];

pol[i*2]=poly1[0][0];

pol[i*2+1]=poly1[0][1];

setcolor(line_color);

setfillstyle(8,fill_color);

fillpoly(points+1,pol);

setcolor(fill_color);

settextstyle(1,0,3);

for(i=0;i<=points;i++)

sprintf(str,"%c",i+'a');

outtextxy(poly1[i][0],poly1[i][1],str);

void Identity(float Matrix[3][3])

int i,j;

for(i=0;i<=2;i++)

for(j=0;j<=2;j++)

if(i==j)

Matrix[i][j]=1;

else

Matrix[i][j]=0;

}
}

int Create_poly(int poly[][2])

{ poly[0][0]=200;

poly[0][1]=20;

poly[1][0]=300;

poly[1][1]=150;

poly[2][0]=130;

poly[2][1]=280;

return 2;

void display_cordinate(char bg_color,char line_color)

int i;

setbkcolor(bg_color);

setcolor(line_color);

for(i=0;i<=640;i+=50)

line(i,0,i,480);

for(i=0;i<=480;i+=50)

line(0,i,640,i);

rectangle(0,0,639,479);

void Translate_to_Relative(int poly[][2],int points,int Xdis,int Ydis)

{
int i;

for(i=0;i<=points;i++)

poly[i][0]=poly[i][0]+Xdis;

poly[i][1]=poly[i][1]+Ydis;

OUTPUT

Enter the no. of lines:-4

Enter the co-ordinates:- 200 100

100 200

200 200

100 100

Enter Translation [Relative]:-

Tx:-80

Ty:-30
Program3:- Write a program in C for rotation of images.

#include "Stdio.h"

#include "conio.h"

#include "math.h"

#include "graphics.h"

void intgraph();

void display_cordinate(char bg_color,char line_color);

int Create_poly(int poly[][2]);

void fill_poly(int poly[][2],int points,char line_color,char fill_color);

void Identity(float Matrix[3][3]);

void Translate_to_Relative(int poly[][2],int points,int Xdis,int Ydis);

void main()

int poly[3][2],i,points,Xdis,Ydis;

float Sx,Sy,Matrix[3][3],temp,Cos,Sin;

char ch;

intgraph();

setfillstyle(8,BLUE);

points=Create_poly(poly);

display_cordinate(DARKGRAY,GREEN);

fill_poly(poly,points,GREEN,BLUE);

getch();

Identity(Matrix);

Xdis=0-poly[0][0];

Ydis=0-poly[0][1];

Translate_to_Relative(poly,points,Xdis,Ydis);

printf(“Enter the no. of lines:-”);

scanf(“%d”,&n);
printf(“Enter the co-ordinates:-“);

printf(" Enter Rotation Angle [Degree]:- ");

scanf("%f",&Sx);

Sx=(Sx*3.14)/180;

Cos=cos(Sx);

Sin=sin(Sx);

for(i=0;i<=2;i++)

temp=Matrix[i][0]*Cos-Matrix[i][1]*Sin;

Matrix[i][1]=Matrix[i][0]*Sin+Matrix[i][1]*Cos;

Matrix[i][0]=temp;

getch();

closegraph();

exit(0);

setgraphmode(2);

display_cordinate(DARKGRAY,GREEN);

Translate_to_Relative(poly,points,-Xdis,-Ydis);

fill_poly(poly,points,CYAN,BLUE);

getch();

restorecrtmode();

do

Translate_to_Relative(poly,points,Xdis,Ydis);

} closegraph();

void intgraph()
{

int g=DETECT,d;

initgraph(&g,&d,"c:\tc\bgi");

void fill_poly(int poly1[][2],int points,char line_color,char fill_color)

int pol[20],i;

char str[2];

for(i=0;i<=points;i++)

pol[i*2]=poly1[i][0];

pol[i*2+1]=poly1[i][1];

pol[i*2]=poly1[0][0];

pol[i*2+1]=poly1[0][1];

setcolor(line_color);

setfillstyle(8,fill_color);

fillpoly(points+1,pol);

setcolor(fill_color);

settextstyle(1,0,3);

for(i=0;i<=points;i++)

sprintf(str,"%c",i+'a');

outtextxy(poly1[i][0],poly1[i][1],str);

void Identity(float Matrix[3][3])

{
int i,j;

for(i=0;i<=2;i++)

{ for(j=0;j<=2;j++)

if(i==j)

Matrix[i][j]=1;

else

Matrix[i][j]=0;

int Create_poly(int poly[][2])

poly[0][0]=200;

poly[0][1]=20;

poly[1][0]=300;

poly[1][1]=150;

poly[2][0]=130;

poly[2][1]=280;

return 2;

void display_cordinate(char bg_color,char line_color)

int i;

setbkcolor(bg_color);

setcolor(line_color);

for(i=0;i<=640;i+=50)

{
line(i,0,i,480);

for(i=0;i<=480;i+=50)

{ line(0,i,640,i);

rectangle(0,0,639,479); }

void Translate_to_Relative(int poly[][2],int points,int Xdis,int Ydis)

int i;

for(i=0;i<=points;i++)

poly[i][0]=poly[i][0]+Xdis;

poly[i][1]=poly[i][1]+Ydis;

OUTPUT

Enter the no. of lines:-3

Enter the co-ordinates:-200 100

200 350

220 100

Enter the rotation angle [Degree]:-50

Anda mungkin juga menyukai