fix to formating

This commit is contained in:
kimo-s 2023-11-15 14:56:20 -05:00
parent eff1b59f46
commit 3d4df8ac7f
2 changed files with 38 additions and 27 deletions

View File

@ -20,12 +20,15 @@
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
void normalizeKernel(float *kernel, int size){ void normalizeKernel(float *kernel, int size){
float sum = 0.0f; float sum = 0.0f;
for(int i = 0; i < size; i++){ for(int i = 0; i < size; i++)
{
sum += kernel[i]; sum += kernel[i];
} }
if(sum != 0.0f){ if(sum != 0.0f)
for(int i = 0; i < size; i++){ {
for(int i = 0; i < size; i++)
{
kernel[i] /= sum; kernel[i] /= sum;
} }
} }
@ -66,7 +69,8 @@ int main(void)
ImageKernelConvolution(&catSobel, sobelkernel, 9); ImageKernelConvolution(&catSobel, sobelkernel, 9);
Image catGaussian = ImageCopy(image); Image catGaussian = ImageCopy(image);
for(int i = 0; i < 6; i++){ for(int i = 0; i < 6; i++)
{
ImageKernelConvolution(&catGaussian, gaussiankernel, 9); ImageKernelConvolution(&catGaussian, gaussiankernel, 9);
} }

View File

@ -2100,19 +2100,11 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){
Vector4 *temp = RL_MALLOC(kernelSize*sizeof(Vector4)); Vector4 *temp = RL_MALLOC(kernelSize*sizeof(Vector4));
float normKernel = 0.0f;
for(int i = 0; i < kernelSize; i++){ for(int i = 0; i < kernelSize; i++){
temp[i].x = 0.0f; temp[i].x = 0.0f;
temp[i].y = 0.0f; temp[i].y = 0.0f;
temp[i].z = 0.0f; temp[i].z = 0.0f;
temp[i].w = 0.0f; temp[i].w = 0.0f;
normKernel += kernel[i];
}
if(normKernel != 0.0f){
for(int i = 0; i < kernelSize; i++){
kernel[i] /= normKernel;
}
} }
float rRes = 0.0f; float rRes = 0.0f;
@ -2122,18 +2114,24 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){
int startRange, endRange; int startRange, endRange;
if(kernelWidth % 2 == 0){ if(kernelWidth % 2 == 0)
{
startRange = -kernelWidth/2; startRange = -kernelWidth/2;
endRange = kernelWidth/2; endRange = kernelWidth/2;
} else { } else
{
startRange = -kernelWidth/2; startRange = -kernelWidth/2;
endRange = kernelWidth/2+1; endRange = kernelWidth/2+1;
} }
for(int x = 0; x < image->height; x++) { for(int x = 0; x < image->height; x++)
for(int y = 0; y < image->width; y++) { {
for(int y = 0; y < image->width; y++)
{
for(int xk = startRange; xk < endRange; xk++){ for(int xk = startRange; xk < endRange; xk++)
for(int yk = startRange; yk < endRange; yk++){ {
for(int yk = startRange; yk < endRange; yk++)
{
int xkabs = xk + kernelWidth/2; int xkabs = xk + kernelWidth/2;
int ykabs = yk + kernelWidth/2; int ykabs = yk + kernelWidth/2;
size_t imgindex = image->width * (x+xk) + (y+yk); size_t imgindex = image->width * (x+xk) + (y+yk);
@ -2151,30 +2149,37 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){
} }
} }
for(int i = 0; i < kernelSize; i++){ for(int i = 0; i < kernelSize; i++)
{
rRes += temp[i].x; rRes += temp[i].x;
gRes += temp[i].y; gRes += temp[i].y;
bRes += temp[i].z; bRes += temp[i].z;
aRes += temp[i].w; aRes += temp[i].w;
} }
if(rRes < 0.0f){ if(rRes < 0.0f)
{
rRes = 0.0f; rRes = 0.0f;
} }
if(gRes < 0.0f){ if(gRes < 0.0f)
{
gRes = 0.0f; gRes = 0.0f;
} }
if(bRes < 0.0f){ if(bRes < 0.0f)
{
bRes = 0.0f; bRes = 0.0f;
} }
if(rRes > 1.0f){ if(rRes > 1.0f)
{
rRes = 1.0f; rRes = 1.0f;
} }
if(gRes > 1.0f){ if(gRes > 1.0f)
{
gRes = 1.0f; gRes = 1.0f;
} }
if(bRes > 1.0f){ if(bRes > 1.0f)
{
bRes = 1.0f; bRes = 1.0f;
} }
@ -2188,7 +2193,8 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){
bRes = 0.0f; bRes = 0.0f;
aRes = 0.0f; aRes = 0.0f;
for(int i = 0; i < kernelSize; i++){ for(int i = 0; i < kernelSize; i++)
{
temp[i].x = 0.0f; temp[i].x = 0.0f;
temp[i].y = 0.0f; temp[i].y = 0.0f;
temp[i].z = 0.0f; temp[i].z = 0.0f;
@ -2197,7 +2203,8 @@ void ImageKernelConvolution(Image *image, float* kernel, int kernelSize){
} }
} }
for (int i = 0; i < (image->width)*(image->height); i++) { for (int i = 0; i < (image->width) * (image->height); i++)
{
float alpha = (float)imageCopy2[i].w; float alpha = (float)imageCopy2[i].w;
pixels[i].r = (unsigned char)((imageCopy2[i].x)*255.0f); pixels[i].r = (unsigned char)((imageCopy2[i].x)*255.0f);
pixels[i].g = (unsigned char)((imageCopy2[i].y)*255.0f); pixels[i].g = (unsigned char)((imageCopy2[i].y)*255.0f);