Skip to content

Commit

Permalink
Merge pull request #12 from vladimirovich/patch-1
Browse files Browse the repository at this point in the history
Remove 3-pix color frame around filtered image
  • Loading branch information
LibRaw committed Oct 5, 2011
2 parents d762579 + 4525d2b commit c00b98d
Showing 1 changed file with 30 additions and 23 deletions.
53 changes: 30 additions & 23 deletions internal/dcb_demosaicing.c
Original file line number Diff line number Diff line change
Expand Up @@ -287,8 +287,8 @@ void CLASS dcb_color_full()
chroma[indx][c]=(f[0]*g[0]+f[1]*g[1]+f[2]*g[2]+f[3]*g[3])/(f[0]+f[1]+f[2]+f[3]);
}

for(row=3; row<height-3; row++)
for(col=3,indx=row*width+col; col<width-3; col++,indx++){
for(row=6; row<height-6; row++)
for(col=6,indx=row*width+col; col<width-6; col++,indx++){
image[indx][0]=CLIP(chroma[indx][0]+image[indx][1]);
image[indx][2]=CLIP(chroma[indx][1]+image[indx][1]);

Expand Down Expand Up @@ -514,28 +514,35 @@ void CLASS fbdd_correction()
// corrects chroma noise
void CLASS fbdd_correction2(double (*image2)[3])
{
int indx, u=width, v=2*width;
double Co, Ho, ratio;
for (indx=2+v; indx < height*width-(2+v); indx++) {

if ( image2[indx][1]*image2[indx][2] != 0 ) {

Co = (image2[indx+v][1] + image2[indx-v][1] + image2[indx-2][1] + image2[indx+2][1] -
MAX(image2[indx-2][1], MAX(image2[indx+2][1], MAX(image2[indx-v][1], image2[indx+v][1]))) -
MIN(image2[indx-2][1], MIN(image2[indx+2][1], MIN(image2[indx-v][1], image2[indx+v][1]))))/2.0;
Ho = (image2[indx+v][2] + image2[indx-v][2] + image2[indx-2][2] + image2[indx+2][2] -
MAX(image2[indx-2][2], MAX(image2[indx+2][2], MAX(image2[indx-v][2], image2[indx+v][2]))) -
MIN(image2[indx-2][2], MIN(image2[indx+2][2], MIN(image2[indx-v][2], image2[indx+v][2]))))/2.0;
ratio = sqrt ((Co*Co+Ho*Ho) / (image2[indx][1]*image2[indx][1] + image2[indx][2]*image2[indx][2]));
int indx, u=width, v=2*width;
int col, row;
double Co, Ho, ratio;

for (row=6; row < height-6; row++)
{
for (col=6; col < width-6; col++)
{
indx = row*width+col;

if ( image2[indx][1]*image2[indx][2] != 0 )
{
Co = (image2[indx+v][1] + image2[indx-v][1] + image2[indx-2][1] + image2[indx+2][1] -
MAX(image2[indx-2][1], MAX(image2[indx+2][1], MAX(image2[indx-v][1], image2[indx+v][1]))) -
MIN(image2[indx-2][1], MIN(image2[indx+2][1], MIN(image2[indx-v][1], image2[indx+v][1]))))/2.0;
Ho = (image2[indx+v][2] + image2[indx-v][2] + image2[indx-2][2] + image2[indx+2][2] -
MAX(image2[indx-2][2], MAX(image2[indx+2][2], MAX(image2[indx-v][2], image2[indx+v][2]))) -
MIN(image2[indx-2][2], MIN(image2[indx+2][2], MIN(image2[indx-v][2], image2[indx+v][2]))))/2.0;
ratio = sqrt ((Co*Co+Ho*Ho) / (image2[indx][1]*image2[indx][1] + image2[indx][2]*image2[indx][2]));

if (ratio < 0.85){
image2[indx][0] = -(image2[indx][1] + image2[indx][2] - Co - Ho) + image2[indx][0];
image2[indx][1] = Co;
image2[indx][2] = Ho;
}

}
}
if (ratio < 0.85)
{
image2[indx][0] = -(image2[indx][1] + image2[indx][2] - Co - Ho) + image2[indx][0];
image2[indx][1] = Co;
image2[indx][2] = Ho;
}
}
}
}
}


Expand Down

0 comments on commit c00b98d

Please sign in to comment.