AlbumShaper 1.0a3
blur.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void blurImage (QImage &image, float sigma)
 
void blurImage (QImage &image, float sigma, QPoint offset, QSize fullImageRes, QImage *edges, int *regions, int numRegions, bool targetEdges)
 

Function Documentation

◆ blurImage() [1/2]

void blurImage ( QImage & image,
float sigma )

Definition at line 94 of file blur.cpp.

95{
96 //supply dummy data for edges, notably NULL for the edge image pointer.
97 //other values have no effect
98 blurImage( image, sigma, QPoint(0,0), image.size(), NULL, NULL, 0, false );
99}
void blurImage(QImage &image, float sigma)
Definition blur.cpp:94

References blurImage().

Referenced by GrainEditor::adjustImage(), blurImage(), EdgeDetect::constructEdgeImage(), and sharpenImage().

◆ blurImage() [2/2]

void blurImage ( QImage & image,
float sigma,
QPoint offset,
QSize fullImageRes,
QImage * edges,
int * regions,
int numRegions,
bool targetEdges )

Definition at line 101 of file blur.cpp.

105{
106 edgeImage = edges;
107 regionMap = regions;
108 regionCount = numRegions;
109 displayOffset = offset;
110 fullRes = fullImageRes;
111
112 //compute blurring coeffecients
113 computeCoeffs(sigma);
114
115 //store image dimensions
116 width = image.width();
117 height = image.height();
118
119 //Construct float buffer that is the size of the image/
120 //In order to conserve memory process image three times, once for
121 //each color channel.
122 buffer = new float[ width * height ];
123
124 rowBuffer = new float[width];
125 colBuffer = new float[height];
126
127 regionRowBuffer = new float[width * numRegions];
128 regionColBuffer = new float[height * numRegions];
129
130 //iterate over each color channel
131 int channel;
132 for( channel = 0; channel <=2; channel++)
133 {
134 //copy color data into float buffer
135 fillBuffer( image, channel );
136
137 //blur buffer data
138 blurBuffer();
139
140 //reset image data used blurred buffer
141 resetImageData(image, channel, targetEdges);
142 }
143
144 //delete buffer
145 delete[] buffer;
146 delete[] rowBuffer;
147 delete[] colBuffer;
148}
void computeCoeffs(float sigma)
Definition blur.cpp:150
int width
Definition blur.cpp:79
float * regionColBuffer
Definition blur.cpp:85
void fillBuffer(QImage &image, int channel)
Definition blur.cpp:172
void resetImageData(QImage &image, int channel, bool blurEdges)
Definition blur.cpp:527
float * rowBuffer
Definition blur.cpp:81
QImage * edgeImage
Definition blur.cpp:87
void blurBuffer()
Definition blur.cpp:204
int * regionMap
Definition blur.cpp:88
int regionCount
Definition blur.cpp:89
float * colBuffer
Definition blur.cpp:82
QSize fullRes
Definition blur.cpp:91
QPoint displayOffset
Definition blur.cpp:90
float * regionRowBuffer
Definition blur.cpp:84
int height
Definition blur.cpp:79
float * buffer
Definition blur.cpp:80

References blurBuffer(), buffer, colBuffer, computeCoeffs(), displayOffset, edgeImage, fillBuffer(), fullRes, height, regionColBuffer, regionCount, regionMap, regionRowBuffer, resetImageData(), rowBuffer, and width.