11
votes
Accepted
Detect in-focus regions of an image
it is quite easy to measure the local max frequency in an image (at least as a low resolution mask, with some regularization).
Several papers of the MIT graphics group have been around detecting and ...
10
votes
Accepted
What is bilateral upsampling?
It seems like you're asking two things. I can't really speak technically about JBU, but I can give an overview of the necessary concepts and bilateral filtering generally. You'll probably need to ...
10
votes
Accepted
Seamless Textures
For these types of algorithms, you usually have to rely on multiple forms of texture synthesis. That doesn't mean you have to generate the whole texture from scratch. For example, you could regenerate ...
9
votes
Accepted
What's a proper way to clamp dither noise?
TL;DR: 2*1LSB triangular-pdf dithering breaks in edgecases at 0 and 1 due to clamping. A solution is to lerp to a 1bit uniform dither in those edgecases.
I am adding a second answer, seeing as this ...
7
votes
Algorithms to Remove High Frequency Noise from Path Tracing
There are, and I am looking forward to seeing the specifics of other answers, but one way to deal with this is to not have the noise (or as much noise) in the source data to begin with.
The noise is ...
7
votes
Relationship between spatial frequency of an image and Aliasing
Like in any other kind of signal processing, the relationship is Nyquist's theorem. An image is a discrete sequence of samples of a continuous signal. If the original signal has frequency components ...
6
votes
Accepted
How to perform an image normalization after for example adding a constant to it?
I believe that Zrep is the output range. In 8-bit it would be 255. Let's say fmin was 25, ...
6
votes
Accepted
reducing image size increases file size?
JPEG is a lossy format and depends on both the 2d frequency components of the image and the user specified quality level.
It is possible that down-scaling an image can increase the higher frequency ...
6
votes
Was Evans & Sutherland CT5 really created in 1981?
The CT5 was designed before 1981. I started working at E&S in May 1981. The CT5 was fully designed by then and 3 had been built. All 3 were still at E&S and hadn't shipped yet when I started. ...
6
votes
Making low discrepancy sequence noise textures, not LDS sample positions
In theory, it is possible to stuff every sample distribution into a texture to "pre-bake" it for fast access. The question is whether any of the results might be useful. For blue noise, this makes a ...
6
votes
Accepted
Why does an affine transform work only on three of the corners?
An affine transformation doesn't have enough freedom to do what you want. Affine transforms can be constructed to map any triangle to any other triangle, but they can't map any quadrilateral to any ...
6
votes
Why not use hash function image instead of jpeg?
Unlike a compression function, which can be reversed to recover (an approximation to) the original data, a hash function is irreversible. You can hash your image, and the hash is a lot smaller than ...
5
votes
Accepted
Image rescaling algorithm
Explanation
With a non-linear scale, you apply different weights for each pixel (or whatever unit you are using). You can use Euclidean distance towards the closest pixels in both directions to ...
5
votes
Explanation of a the transparency of an .EXR file
In an EXR, the convention is to store associated alpha, also known as premultiplied. The latter term however doesn't do justice to the nuances of the alpha format as compared to its evil distant ...
5
votes
Improved Laplacian smoothing of noisy surface meshes
This is a quite common property of smoothing in 3D. When you have some data and you smooth it out you get some kind of average of the local variation. And this works fine, and stably, in one ...
5
votes
Unwinding an image on a spiral to make it long and flat
A quickly formulated method, read first one that popped in my brain (not best), could be. Find the closest points on a parametric spiral for each sample (read A Pixel Is Not A Little Square3). Then ...
5
votes
Accepted
Converting raster shape/blob into displacement map
One way I can think of is to make a "signed distance transform" of the image where there is information for each pixel about how far the pixel is to the closest surface of the shape. Since it's ...
5
votes
Accepted
Instagram's fade effect
The effect in the photo is very close to a simple scale-bias per pixel. After a bit of tweaking, I found that applying the transformation: $x' = 0.77x + 38$ to the raw pixel values (as bytes) gives ...
5
votes
Accepted
What kind of image processing was used in the Facebook "Celebrate Pride" filter?
The top Zuckerberg image looks like you first convert your background Zuckerberg image to grayscale. Then you can add a second layer with the rainbow texture but use the 'Screen' blending mode, this ...
5
votes
Accepted
Calculate the average color of an image
Averaging RGB should be correct assuming you do it in linear RGB. If your images are in sRGB, you can remove the gamma correction by doing something like the following for each of the R, G, and B ...
4
votes
Image rotation algorithm
It speed does not matter, I suggest to use a truncated sinc or a Lanczos isotropic kernel: to compute a target pixel, you back-rotate the filter and convolve it with the image. Since it is isotropic, ...
4
votes
How to detect a screen in a photo
The first things I would try is to see if smartphone pixels are visible (if the photo is high res) or if strange aliasing occurs (your example image shows both).
Another classical test (but not ...
4
votes
Accepted
How linear interpolation works between mipmaps?
It's called trilinear interpolation. You first do a bilinear interpolation of the higher-res texture, then do a bilinear interpolation on the lower-res texture, then interpolate between the 2 results. ...
4
votes
Accepted
Pixel dispersion (dissolving) algorithms
A very simple low memory approach
If you really want to use as little memory as possible, it can be done with not much more memory than that required to store a single image (the first frame) ...
4
votes
Algorithms to Remove High Frequency Noise from Path Tracing
One technique you could use is break the image into blocks and measure each blocks variance - this way you can apply more samples to blocks with higher variance.
The variance can be estimated by ...
4
votes
Accepted
CrazyBump Shape Recognition
Based on the article, it seems like, when it adds "directional lighting information", the program tries to infer a location of a light source and base the normals on the colors with the ...
4
votes
Accepted
Tone Mapping & Gamma Correction
This depends on your calculations really, since you can do it either way. However, probably when you reach tone mapping you will be in linear space (i.e. no gamma correction has been done yet and you ...
4
votes
Accepted
Resolution issue of generating a PNG icon for macOS menu bar
The issue is the difference between pixel and point sizes. On macOS and other Apple platforms, the user interface is measured in points, which don’t necessarily map one-to-one to pixels; on a Retina ...
4
votes
Accepted
How to shift color values of a single RGB channel
I don't have any direct experience doing this so I might be missing an obvious solution or tool. That said, what you describe is in programming terms comparatively easy to achieve. The basic structure ...
4
votes
Accepted
Adding noise to gradient
It's generally a good idea to add noise like this when you're using a gradient, to avoid visible banding in the gradient, especially on smartphones. Often smartphone screens claim to be 24-bit colour ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
image-processing × 180image × 25
algorithm × 22
rendering × 14
opengl × 13
color × 11
mathematics × 10
computational-geometry × 10
texture × 9
filtering × 9
raster-image × 8
shader × 7
interpolation × 7
antialiasing × 7
c++ × 6
sampling × 6
post-processing × 6
denoise × 6
video × 5
image-comparison × 5
3d × 4
projections × 4
perspective × 4
noise × 4
gaussian-blur × 4