화소영역처리
엠보싱
public void embossingImage(){
//엠보싱
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{-1.0,0.0,0.0},
{0.0,0.0,0.0},
{0.0,0.0,1.0}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
//sum=1
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
블러링
public void blurrImage(){
//블러링
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{1.0/9,1.0/9,1.0/9},
{1.0/9,1.0/9,1.0/9},
{1.0/9,1.0/9,1.0/9}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=1
// for(int i=0;i<outH;i++)
// for(int k=0;k<outW;k++)
// tmpOutImage[i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
샤프닝
public void sharpenImage(){
//샤프닝
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{-1.0,-1.0,-1.0},
{-1.0,9,-1.0},
{-1.0,-1.0,-1.0}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=1
// for(int i=0;i<outH;i++)
// for(int k=0;k<outW;k++)
// tmpOutImage[i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
가우시안
public void gaussianImage(){
//가우시안
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{1.0/16, 1.0/8, 1.0/16},
{1.0/8, 1.0/4, 1.0/8},
{1.0/16, 1.0/8, 1.0/16}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=1
// for(int i=0;i<outH;i++)
// for(int k=0;k<outW;k++)
// tmpOutImage[i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
고주파 샤프닝
public void hpfSharpImage(){
//고주파샤프닝 알고리즘
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{-1.0/9, -1.0/9, -1.0/9},
{-1.0/9, 8.0/9, -1.0/9},
{-1.0/9, -1.0/9, -1.0/9}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=100.0*tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
이동과 차분
public void sadImage(){
//이동과 차분
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{0.0, -1.0, 0.0},
{-1.0, 2.0, 0.0},
{0.0, 0.0, 0.0}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
유사연산자
public void opImage(){
//유사연산자
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double max = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
if(Math.abs(tmpInImage[rgb][i+1][k+1]-tmpInImage[rgb][i+m][k+n])>=max)
max = Math.abs(tmpInImage[rgb][i+1][k+1]-tmpInImage[rgb][i+m][k+n]);
tmpOutImage[rgb][i][k]=(int)max;
}
}
}
// // //sum=0
// for(int i=0;i<outH;i++)
// for(int k=0;k<outW;k++)
// tmpOutImage[i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
로버츠 마스크
public void robertsImage(){
//로버츠 마스크
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{-1.0, 0.0, -1.0},
{0.0, 2.0, 0.0},
{0.0, 0.0, 0.0}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
소벨 마스크
public void sobelImage(){
//소벨 마스크
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{0.0, -2.0, -2.0},
{2.0, 0.0, -2.0},
{2.0, 2.0, 0.0}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
프리윗 마스크
public void prewittImage(){
//프리윗 마스크
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{0.0, -1.0, -2.0},
{1.0, 0.0, -1.0},
{2.0, 1.0, 0.0}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
라플라시안
public void laplacianImage(){
//라플라시안
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{0.0, 1.0, 0.0},
{1.0, -4.0, 1.0},
{0.0, 1.0, 0.0}
};
double [][][]tmpInImage = new double[3][outH+2][outW+2];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+2;i++){
for(int k=0;k<inW+2;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+1][k+1]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<3;m++)
for(int n=0;n<3;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
로그
public void logImage(){
//로그
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double [][]mask = {
{0.0,0.0,-1.0,0.0,0.0},
{0.0,-1.0,-2.0,-1.0,0.0},
{-1.0,-2.0,16.0,-2.0,-1.0},
{0.0,-1.0,-2.0,-1.0,0.0},
{0.0,0.0,-1.0,0.0,0.0}
};
double [][][]tmpInImage = new double[3][outH+4][outW+4];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+4;i++){
for(int k=0;k<inW+4;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+2][k+2]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<5;m++)
for(int n=0;n<5;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
도그
public void dogImage(){
//도그
outH = inH;
outW = inW;
outImage = new int[3][outH][outW];
double[][] mask = {
{0.0,0.0,0.0,-1.0,-1.0,-1.0,0.0,0.0,0.0},
{0.0,-2.0,-3.0,-3.0,-3.0,-3.0,-3.0,-2.0,0.0},
{0.0,-3.0,-2.0,-1.0,-1.0,-1.0,-2.0,-3.0,0.0},
{-1.0,-3.0,-1.0,9.0,9.0,9.0,-1.0,-3.0,-1.0},
{-1.0,-3.0,-1.0,9.0,19.0,9.0,-1.0,-3.0,-1.0},
{-1.0,-3.0,-1.0,9.0,9.0,9.0,-1.0,-3.0,-1.0},
{0.0,-3.0,-2.0,-1.0,-1.0,-1.0,-2.0,-3.0,0.0},
{0.0,-2.0,-3.0,-3.0,-3.0,-3.0,-3.0,-2.0,0.0},
{0.0,0.0,0.0,-1.0,-1.0,-1.0,0.0,0.0,0.0}
};
double [][][]tmpInImage = new double[3][outH+8][outW+8];
int [][][] tmpOutImage = new int[3][outH][outW];
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH+8;i++){
for(int k=0;k<inW+8;k++){
tmpInImage[rgb][i][k]=127.0;
}
}
}
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
tmpInImage[rgb][i+4][k+4]=inImage[rgb][i][k];
}
}
}
//** Image Processing Algorithm **
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<inH;i++){
for(int k=0;k<inW;k++){
double S = 0.0;
for(int m=0;m<9;m++)
for(int n=0;n<9;n++)
S+=tmpInImage[rgb][i+m][k+n]*mask[m][n];
tmpOutImage[rgb][i][k]=(int)S;
}
}
}
// //sum=0
for(int rgb=0;rgb<3;rgb++)
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++)
tmpOutImage[rgb][i][k]+=127.0;
for(int rgb=0;rgb<3;rgb++){
for(int i=0;i<outH;i++)
for(int k=0;k<outW;k++){
if(tmpOutImage[rgb][i][k]>255.0)
outImage[rgb][i][k]=255;
else if(tmpOutImage[rgb][i][k]<0.0)
outImage[rgb][i][k]=0;
else
outImage[rgb][i][k]=(int)tmpOutImage[rgb][i][k];
}
}
}
'JSP환경에서 OpenCV없는 컬러영상처리' 카테고리의 다른 글
RGB-->HSV, HSV-->RGB (0) | 2022.09.29 |
---|---|
히스토그램처리 (0) | 2022.09.29 |
기하학처리 (0) | 2022.09.29 |
화소점처리 (0) | 2022.09.29 |
JSP에서 이미지 받아오기 (0) | 2022.09.29 |