#include<iostream>
#include "CImg.h"
using namespace std;
using namespace cimg_library;
int main(){
int ch;
do{
cout<<"\n----------Image Processing-----------\n";
cout<<"\n 1.Sharpen the image ";
cout<<"\n 2.Blur the image ";
cout<<"\n 3.Dark the image";
cout<<"\n 4.Brighten the image";
cout<<"\n 5.Rotate the image";
cout<<"\n 6.Get the Histogram";
cout<<"\n 7.Mean and Standard Deviation ";
cout<<"\n 8.Convolution ";
cout<<"\n 9.Exit";
cout<<"\n Enter ur choice : ";
cin>>ch;
switch(ch)
{
case 1:
{
CImg<double> image("milla.bmp");
image.sharpen(1000);
CImgDisplay main_disp(image,"Image",0);
while (!main_disp.is_closed()){
main_disp.wait();
}
break;
}
case 2:
{
CImg<double> image("milla.bmp");
image.blur(2.5);
CImgDisplay main_disp(image,"Image",0);
while (!main_disp.is_closed())
main_disp.wait();
break;
}
case 3:
{
CImg<double> image("milla.bmp");
CImgDisplay main_disp(image,"Image",0);
CImg<double> darkimage(image.width(),image.height(),1,3,0);
for (int i=0;i<image.width();i++)
for (int j=0;j<image.height();j++)
for (int k=0;k<3;k++)
darkimage(i,j,0,k)=image(i,j,0,k)/2;
CImgDisplay dark_disp (darkimage,"Dark Image",0);
while (!main_disp.is_closed()){
main_disp.wait();
}
break;
}
case 4:
{
CImg<double> image("milla.bmp");
CImgDisplay main_disp(image,"Image",0);
CImg<double> darkimage(image.width(),image.height(),1,3,0);
for (int i=0;i<image.width();i++)
for (int j=0;j<image.height();j++)
for (int k=0;k<3;k++)
darkimage(i,j,0,k)=image(i,j,0,k)*1.18;
CImgDisplay dark_disp (darkimage,"Bright Image",0);
while (!main_disp.is_closed())
main_disp.wait();
break;
}
case 5:
{
CImg<double> image("milla.bmp");
int x;
cout<<"\n Enter the Rotating Angle..";
cin>>x;
image.rotate(x);
CImgDisplay main_disp(image,"Image",0);
while (!main_disp.is_closed())
main_disp.wait();
break;
}
case 6:
{
CImg<double> image("milla.bmp");
image.histogram(256);
image.display_graph(0,3);
case 7:
{
CImg<double> image("milla.bmp");
double imean=image.mean();
cout<<"\n The mean of the image is : "<<imean;
double var=image.variance();
double sd=sqrt(var);
cout<<"\n The standard deviation of the image is : "<<sd;
CImgDisplay main_disp(image,"Image",0);
while (!main_disp.is_closed())
main_disp.wait();
break;
}
case 8:
{
CImg<unsigned char> image("milla.bmp"), image2("milla.bmp");
double a = 1.0/3.0;
double b = 1.0/((2.0*sqrt(2.0))+1.0);
CImg<> mask = CImg<>(3,3).fill(b,a,b,a,1,a,b,a,b);
image2.convolve(mask);
CImgDisplay main_disp(image,"original"), main_disp2(image2, "second");
while(1)
{
main_disp.wait();main_disp2.wait();
}
}
case 9:
return 0;
}
}while(ch<=9);
return 0;
}
Blogger Comment
Facebook Comment