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 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);
scanf(“%d”,&n);
printf(“Enter the co-ordinates:-“);
scanf("%f",&Sx);
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");
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);
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;
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;
{ 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);
int i;
for(i=0;i<=points;i++)
poly[i][0]=poly[i][0]+Xdis;
poly[i][1]=poly[i][1]+Ydis;
OUTPUT
454 500
500 123
123 310
456 234
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 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];
scanf(“%d”,&n);
scanf("%f",&Sx);
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");
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);
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;
}
}
{ 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;
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);
{
int i;
for(i=0;i<=points;i++)
poly[i][0]=poly[i][0]+Xdis;
poly[i][1]=poly[i][1]+Ydis;
OUTPUT
100 200
200 200
100 100
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 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);
scanf(“%d”,&n);
printf(“Enter the co-ordinates:-“);
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");
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);
{
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;
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;
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); }
int i;
for(i=0;i<=points;i++)
poly[i][0]=poly[i][0]+Xdis;
poly[i][1]=poly[i][1]+Ydis;
OUTPUT
200 350
220 100