9 ms·
Moiré No More
- arriu 5y agoFantastic read, thanks!
- spockz 5y agoAwesome read! Is this in use by any software already? I can imagine someone at Adobe already implementing this in photoshop. Can we apply this quickly enough to let everyone where whatever stripes they want on television?
- megous 5y agoIf you mean DFT, then yes. It's basis for image/video compression, for example. ;)
- hikarudo 5y agoThat would be DCT - Discrete Cosine Transform.
- smusamashah 5y agoSomeone has made this http://turbomaze.github.io/JS-Fourier-Image-Analysis/ http://turbomaze.github.io/JS-Fourier-Image-Analysis/. I am sure a web version where you can manipulate the FFT and see the image reconstruction live should already exist somewhere. EDIT: This fork allows drawing over FFT https://geeklogan.github.io/JS-Fourier-Image-Analysis/ https://geeklogan.github.io/JS-Fourier-Image-Analysis/
- Sharlin 5y agoThis is not a general-moire-removal technique. It's basically a band-stop filter that removes those frequencies from an image that correspond to the size of halftone dots both horizontally and vertically. Nifty use case for FFT though, would probably make a good homework assignment on an undergrad DSP course.
- carlob 5y ago> removes those frequencies from an image that correspond to the size of halftone dots both horizontally and vertically And all the harmonics that make out the circle shape. I'm pretty sure that making the circle repeat horizontally and vertically is some kind of convolution product and that has some nifty properties under Fourier transform.
- johndough 5y agoWith GIMP: https://www.youtube.com/watch?v=30XaCfM2QGg https://www.youtube.com/watch?v=30XaCfM2QGg https://www.youtube.com/watch?v=se9I3uGITR0 https://www.youtube.com/watch?v=se9I3uGITR0 With Photoshop: https://www.youtube.com/watch?v=vb4XFNC4MvU https://www.youtube.com/watch?v=vb4XFNC4MvU I am sure there are more tools for it. Good search terms seem to be "FFT Moire". Fourier transforms can be easily computed in realtime at full HD resolution these days since GPUs are very fast at that kind of math.
- mdre 5y agoIt's implemented in affinity photo. You get realtime feedback- it's pretty amazing.
- dylan604 5y agoThings you can do to a single image that look good do not directly scale to the same results to video, especially something in motion. Also, this would be a good example of just because you can doesn't mean you should, especially with stripes.
- chmod775 5y agoThat's amazing. Reading this I actually got excited about something I already knew and had used now and then, when I never felt about it that way before.
- vermarish 5y agoSame. I think it's something to do with the writing style, the familiarity of the problem, and the sheer flexibility of FFT.
- colanderman 5y agoI would think the optimal technique lies somewhere between the two: a convolution kernel optimized to conflate halftone dots with each other as to restore exactly the information possible. (Of course, such a kernel would have to be individually tuned for the orientation/spacing of the dots.) Literally painting over frequency peaks in the FFT with black circles I imagine would be pretty lossy, and not entirely rid yourself of the pattern (since you're making a new pattern with your dots). Indeed, in the animation, the image does get darker as circles are added, and some of the pattern is still visible. Perhaps using a blur tool to blur out the peaks in the FFT would serve to maintain original image tone, and further reduce patterning?
- deleted 5y ago[deleted]
- mrob 5y agoThe ImageMagick documentation for this technique recommends blurring the black circles: https://legacy.imagemagick.org/Usage/fourier/#noise_removal https://legacy.imagemagick.org/Usage/fourier/#noise_removal
- twic 5y agoPerhaps the optimal technique would be to write a function which halftones a greyscale image, and then use optimisation to find a greyscale image which reproduces the input image when halftoned. This feels like an expectation–maximization kind of problem, but i can't give a rigorous argument for why.
- a_c 5y agoIndeed by applying the "dark circle" (ideal filter or sinc filter) in the frequency domain would introduce other artifacts. The restored image would contain some "ringing" around sharp edges, which might not be perceivable in the image shown. [1] As of the darkening in restored image, it depends how the software interpret the band-stopping of dark holes. By dark circling in the frequency domain, energy is taken out from the image. Re-normalizing the image might be desired, but then it would turn dark areas brighter. [1] https://en.wikipedia.org/wiki/Ringing_artifacts https://en.wikipedia.org/wiki/Ringing_artifacts
- vermarish 5y agoThis article is very well written! I remember having a similar experience creating a bandpass filter by computing FFT, multiplying by a Gaussian, and inverting the result. I swear Gaussian functions are just one of those things that you can insert anywhere and it'll just work out.
- sedatk 5y ago> All the demoireing guides tell you to apply a sharpening filter after [blurring] to compensate, but that’s like reheating cold pizza. What a fantastic analogy. I wanted to stand up and applaud the author.
- bambax 5y agoGood writing, yes. But there are ways to properly re-heat old pizza and it's almost as good as fresh. One way (the best way) is to put it in a skillet with the pizza slice on one side and a little bit of water on the other side (not touching!) and cover it, and put over medium heat for 2-4 minutes. Another is to use an air-dryer (if you have one). You may need to test temperature and durations but once you find the proper settings it's perfect.
- codezero 5y agoThe same technique works well for reheating burritos, or upleveling microwave burritos. A nice sear on each side gives a firmer structure and I think it tastes better too :)
- geoduck14 5y ago>Imagine being able to edit the nutrition label and see the food transform in front of you. This is a surprisingly good description of an FFT.
- asnt 5y agoThe Fast Food Transform?
- GekkePrutser 5y agoThat tool is broken, it only transforms belly size :(
- SV_BubbleTime 5y agoIn a way that works like my time machine, only goes one direction.
- deleted 5y ago[deleted]
- marzell 5y agoBeen using this technique for a long time, great to see an in-depth look at it. This is great for other types of regular patterns, not just moire. For instance, if you scan old 60s/70s photos on textured/fiber paper, you can use this to smooth out the texture if desired.
- weregiraffe 5y agoTextured paper isn't going to have a regular pattern, so this won't work.
- marzell 5y agoIt does for certain types that had a regular frequency to it. I think it was a kind of manufactured texture, not the natural fibers from the material. I don't know what it's called, but I think it was popular around the mid 60s
- beowulfey 5y agoI use Fiji every day, and I love the first impressions from someone who does not use it regularly (all correct too). FFTs are amazing. In xray crystallography, you can use them to recapture the original image of a crystallized protein from the scatter of dots left by passing through it—essentially acting as the role of lens. They never cease to amaze me with their usefulness!
- robocat 5y agoI tried the image[1] on one of the ML super-resolution online image sharpeners[2] and the result was: https://ibb.co/S53Lt0X https://ibb.co/S53Lt0X (click button to look at it in full resolution). The generated image does not have the same global problem with moiré patterns. The dot patterns remain in the image, randomly dithered or converted into lines. The FFT solution worked better than that particular ML model, although I presume a ML model could be trained specifically to remove printing dots. [1] https://s3.amazonaws.com/revue/items/images/010/787/862/original/Original_2200.jpg?1630382067 https://s3.amazonaws.com/revue/items/images/010/787/862/orig... [2] https://deepai.org/machine-learning-model/torch-srgan https://deepai.org/machine-learning-model/torch-srgan Edited: added link to output image.
- skatanski 5y agoWell written and really interesting. Its really cool to see an FFT usage example, afaik its also being used by Shazam for matching sound samples. I have fond memories of FFT, from the time I attempted to use it for generating stereo-pairs for obstacle detection using a two camera system. In my case specifically I was using it to find a particular pixel in the second image of a pair and calculate the shift. In the end at the time using FFT for something like that was much slower, than using a correlation window based algorithm. It was very interesting though and very different, than the latter.
- nyanpasu64 5y agoFun fact: large correlations (hundreds or thousands of samples in 1D, unsure in 2D) can be efficiently computed using FFTs (if the needle is smaller than the haystack, you can use chunked algorithms like overlap-add/save).
- hardmath123 5y agoIf you liked this, you might enjoy this little trick you can do with moiré patterns -- near the end of the post, I talk a little bit about the math behind the FFT connection. https://hardmath123.github.io/moire.html https://hardmath123.github.io/moire.html
- dongping 5y agoOr for those who studied electrical engineering (or anyone one who took a Signal and System course): https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem https://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampli... https://matthews.sites.wfu.edu/misc/DigPhotog/alias/ https://matthews.sites.wfu.edu/misc/DigPhotog/alias/
- mxfh 5y agoAn increadibly well explained piece on the magic that is the frequency domain visualized as power spectrum. HN please, make a FFT of the Day tag to not miss those, just on the title.
- amelius 5y agoThe author probably missed that the first F in FFT refers to a very specific (but efficient) algorithm, and that the effects he achieved are due to the properties of the (2D) Fourier transform, which can be computed using other algorithms as well.
- MauranKilom 5y agoCompletely correct. And yet, FFT is much less ambiguous than FT ("Foot"? "Financial Times"? "Face time"?), so imo what is lost in preciseness is gained in clarity.
- henrikeh 5y agoDiscrete Fourier Transform is probably the most accurate way to describe the mathematical transformation which is being applied. Albeit it is very popular to say FFT when what is meant is Fourier transform or DFT, it is a bit like talking about sorting but calling it Quicksort despite it being a specific algorithm.
- timthorn 5y agoThis reminded me of when film photography processors went from printing using a photographic process to digital printing. The digital process introduced a regular grid to the print which reduced the quality of the print. When prints were made using an enlarger onto photographic paper, the grain was random and the resulting images had a much nicer character.
- a_c 5y agoThe blurring and then sharpening in spatial domain is equivalent to applying a band-pass filter, or rather a band-stop in the article's case, in the frequency domain. Blurring requires a lot of parameter tuning, in particular the size of the mask and the weight of each the mask element. The choice of parameter can be mapped to particular filter in the frequency domain, e.g. a gaussian filter or an ideal filter. Same for sharpening. Operating in the frequency domain allows you to skip all the trial and error of parameters, by eye-balling the frequency of interest, and suppress its presence. > what you did is still the best out there It still is. I worked with a printing company before. The company impart anti-forgery pattern to packaging material by tuning the half tone-ing angle of the printer. The printing company then offer a seemingly transparent film, with special pattern printed on it, to company requiring brand protection. By overlaying the film on top of packaging material, a specifically designed moire pattern would occur. If you squint your mind enough, it is like public-private key encryption in the physical world. Whenever the brand receive dispute over authenticity of purchased items, a special team, a team having that transparent film, will be summoned to verify the authenticity of item in question. It is one of the many ways the brand in question protect their goods. The printing company was looking for a mobile solution instead of delivery the transparent film, that's where I get to learn more about the printing industry.
- lbotos 5y agoare you at liberty to share the printing company here? I'm looking for something like this. If not, my email is in my profile and would appreciate info so I can reach out and maybe give them business!
- a_c 5y agoThing is a bit complicated. I actually worked with a middleman, this middleman act as the "certificate authority" - signing up brands and dispatching orders to printing company(ies). So the printing companies don't know what the matching pattern is. It was five years ago and I have since moved on.
- mceachen 5y ago20 years ago you could just type in the rotation angle you wanted for each color separation into your film plotter. If you ask your printer, they should be able tell you what lpi/dpi they can resolve on the media you're printing onto (you may be limited due to dot gain on uncoated stock).
- nialse 5y agoCool! I wrote a similar script to automate removing rasters some ten years ago using G'MIC[1]. It was open sourced[2] and made available as a plugin of some sort. (Maybe through GIMP? Can't really remember.) The use case was enhancing page size scans of Babar childrens books which it worked great for. YMMV though, it's a bit rough around the edges. [1] https://github.com/dtschump/gmic https://github.com/dtschump/gmic [2] https://github.com/dtschump/gmic-community/blob/master/include/andreas_pahlsson.gmic https://github.com/dtschump/gmic-community/blob/master/inclu...
- Darthy 5y agoSince the halftone dots are in a matrix that is at an angle, can't you just write a small program that measures the size of each halftone dot and stores that measurement? Then map the measured size to a grey value (supersmall = near white, big = black), and you have recovered all the information in that image. Then just counter the rotation of the matrix to get the best possible right-side-up scan.
- carlob 5y agoOr better yet: figure out the average dot, replicate it all over the image, and run its Fourier transform. I think that subtracting it from the original image Fourier transform and then inverse transforming the result should also work.
- nyanpasu64 5y agoSubtracting the Fourier transform of a dot pattern from the Fourier transform of a photo is equivalent to (but slower than) subtracting a dot pattern from the photo. Subtracting an average-sized dot from a random dot would leave behind a ring, and subtracting a cone from a random dot would instead leave behind odd sloped shapes. It might be a good first step though.
- carlob 5y agoRight right... linearity
- hamburglar 5y agoAlso, halftone dots aren’t necessarily simple shapes. They are often designed to change shape as they go from 0 to 100% in order to have a shape that holds ink better (for some reason I don’t understand, a circle isn’t necessarily the best shape for holding its edge when made out of wet ink), and also for style (think large halftones where the dots are visibly long streaks all oriented in a particular direction which isn’t necessarily the same angle as the halftone grid). In fact, postscript allows you to prepend code that defines your own custom halftone function f(u,v) -> 0/1 (where u,v is the coordinate within the halftone cell) before printing your job, kinda like a weird little pixel shader from the 90’s.
- NKosmatos 5y agoWell written, good flow, interesting read and reminded me of the lessons we had at the university some decades ago (should have paid more attention). Why isn’t this offered as an option in photoshop or other commercial image editing packages?
- shrimpx 5y agoWhen I saw the link named "explaining [FFT's] ingenuity in more detail" I was nearly certain it would be a 3B1B video, and it was: https://www.youtube.com/watch?v=spUNpyF58BY https://www.youtube.com/watch?v=spUNpyF58BY
- poxwole 5y agoFFTs are amazing! Also throwing ML at any problem is the root of all evil.
- DantesKite 5y agoFun read. Apparently the author is going to be coming out with a book on the history of keyboards and the people involved in them. Sounds promising.
- rcthompson 5y agoI wonder, is it better to black out the relevant parts of the FFT image, or is it better to adjust them to be the same as the "background" shade surrounding them?
- linuxlizard 5y agoAnother great use of an FFT and filtering. https://www.edn.com/buenos-notches-the-filter-wizard-vs-the-vuvuzela/ https://www.edn.com/buenos-notches-the-filter-wizard-vs-the-... Filtering out vuvuzela noise. Same sort of idea, targeting the frequency peak of an obnoxious interference.
- thrdbndndn 5y agoI don't think what the author did here (descreening) has anything to do with Moire per se. Sure, due to the nature of halftone, it often introduce Moire as the author said. But if you scan your document/photo at high enough resolution (sampling theorem anyone?) it isn't an issue in the descreening process later (which is the main topic of this article.) Also, using inverse fourier transform to descreen is already the basis of lots of popular commercial denoise plugins (for Photoshop etc.). Most of them will automatically measure the angle and resolution of halftone matrix too.
- SamBam 5y agoI assumed that the issue was less the scanning (which can be extremely high precision, and, in any case, the author had to do to get the half-tone image he was working with) but the printing. Once the image is resized and printed in the book, the offset between the dpi of the printer and the half-tone dots was going to introduce new artifacts.
- thrdbndndn 5y agoAh, that's a very good point.
- gugagore 5y agoIt is a shame that the article doesn't make a connection between blurring (and sharpening), and operations in the Fourier domain. The article paints on the Fourier image and sees the effect on the original image. Well, blurring an image is equivalent to painting a centered black ring.
- isatty 5y agoIt’s quite easy to explain too, when talking about frequencies you just have to mention high and low pass filters.
- agalunar 5y agoThis is precisely the method used to undo screening and half-toning in one of the labs in 6.003 (the intro signal processing course at MIT). The technique works astoundingly well for its straightforwardness, and the exercise can be a lot of fun. [1] https://sigproc.mit.edu/spring19/psets/11/cat https://sigproc.mit.edu/spring19/psets/11/cat [2] https://sigproc.mit.edu/fall19/psets/10/cat https://sigproc.mit.edu/fall19/psets/10/cat
- azalemeth 5y agoMy institution's equivalent was projecting an image of a "criminal" behind bars, doing the masking with a piece of blue-tak in the reciprocal space, and then watching the bars vanish in the image. And then doing the same thing with a cold-war era real life spy-plane photograph of the ocean, followed by masking out the frequency corresponding to the waves, and revealing the underwater submarine. Fun and lifelong memorable.
- kccqzy 5y agoI also remember this being a part of the "mathematical imaging" course at UCLA. It really was a lot of fun, though the topics were a bit dated.
- dpwm 5y agoNature will quite readily calculate the 2D Fourier transform and its inverse for us without the use of a digital computer. This is because lenses effectively do a Fourier transform at the focal point. With the right setup, you can apply filters at the focal point and get pretty much exactly what you would expect. An example of such a setup is the 4F Correlator. [0] Fourier optics is a whole subfield within optics, and it really is rather fascinating. Exposure to Fourier optics really helped develop my intuition around the Fourier transform. [0] https://en.wikipedia.org/wiki/Fourier_optics#4F_Correlator https://en.wikipedia.org/wiki/Fourier_optics#4F_Correlator
- jstrieb 5y agoI was introduced to this idea in a really cool video about using Fourier Optics for optical pattern recognition.[0] The video happens to have one of the best explanations of Fourier transforms I've yet encountered. [0] https://www.youtube.com/watch?v=Y9FZ4igNxNA https://www.youtube.com/watch?v=Y9FZ4igNxNA
- aaaaaaaaaaab 5y agoHuygens Optics is an amazing channel!
- boxed 5y agoTo add to your comment: This is how Electron Crystallograpy works. You can choose to get half the Fourier transform (aka the diffraction pattern) with phase information lost, or use a secondary lens to get the full picture back after correction. It's quite magical. Then you can do FT on that final image on a computer and then modify that pattern in reciprocal space to fix flaws with the image like astigmatism and noise. http://www.calidris-em.com http://www.calidris-em.com is the software for this.
- azinman2 5y agoWhat I don’t understand is how painting so much of the frequency space image black wouldn’t more adversely affect the original image? That was quite a lot removed…
- hug 5y agoNot an identical match but perhaps as an intuition pump you can think about fourier transform of audio that is "clipping".
- yesenadam 5y ago> a 1960s algorithm What must Gauss think when he hears this?! The divide-and-conquer Cooley–Tukey FFT "algorithm (and the general idea of an FFT) was popularized by a publication of Cooley and Tukey in 1965, but it was later discovered that those two authors had independently re-invented an algorithm known to Carl Friedrich Gauss around 1805 (and subsequently rediscovered several times in limited forms)." https://en.wikipedia.org/wiki/Fast_Fourier_transform#Cooley%E2%80%93Tukey_algorithm https://en.wikipedia.org/wiki/Fast_Fourier_transform#Cooley%...
- pedrosbmartins 5y agoTo be fair, the author does acknowledge this, though he doesn't cite Gauss. > FFT – Fast Fourier Transform – was invented in the 1805 and then, once again, in 1965.
- aksss 5y agoJeez, that's a long ass article to just end up at the tl;dr of: FFT - fast fourier transform. I've used such tools with mixed results on older scanned photographs. You can pull it off in GIMP and one or two extensions, I believe. https://www.gimp-forum.net/Thread-Fourier-Transform-tutorials https://www.gimp-forum.net/Thread-Fourier-Transform-tutorial...
- nextaccountic 5y agoThe article doesn't say, but te method described in the article is called a notch filter. Here are some links on it, [0], [1], [2], [4]. Instead of cutting a sharp edge on the frequency domain, it's better that the filter blur the edge to avoid introducing too much artifacts, and this is called a Gaussian notch filter. Anyway here is another method, that also targets peak regions on frequency domain for removal but is based on a median filter instead, [5] [0] Removal of Moiré Patterns in Frequency Domain, https://ijournals.in/wp-content/uploads/2017/07/5.3106-Khanjan.compressed.pdf https://ijournals.in/wp-content/uploads/2017/07/5.3106-Khanj... [1] Periodic Noise Removing Filter, https://docs.opencv.org/3.4.15/d2/d0b/tutorial_periodic_noise_removing_filter.html https://docs.opencv.org/3.4.15/d2/d0b/tutorial_periodic_nois... [3] Adaptive Gaussian notch filter for removing periodic noise from digital images, https://ietresearch.onlinelibrary.wiley.com/doi/10.1049/iet-ipr.2018.5707 https://ietresearch.onlinelibrary.wiley.com/doi/10.1049/iet-... [4] Adaptive Optimum Notch Filter for Periodic Noise Reduction in Digital Images, https://eej.aut.ac.ir/article_94_befd8a642325852c3a0d41ece10b3feb.pdf https://eej.aut.ac.ir/article_94_befd8a642325852c3a0d41ece10... [5] A New Method for Removing the Moire' Pattern from Images, https://arxiv.org/abs/1701.09037 https://arxiv.org/abs/1701.09037
- neves 5y agoDoes any photoediting tool implement these filters?
- nextaccountic 5y agoI'm not sure.. what I can find is this https://www.youtube.com/watch?v=c11lSzKdTCk https://www.youtube.com/watch?v=c11lSzKdTCk but I don't know if Photoshop implements it with a (linear) blur + sharpen (which would have a greater decrease in the quality of the image), or with a (nonlinear) notch filter
- jdontillman 5y agoHey! Lisp Machine Space Cadet Keyboard (in the sample photo) for the win! Photo: https://s3.amazonaws.com/revue/items/images/010/788/006/original/space_cadet_ready.jpg https://s3.amazonaws.com/revue/items/images/010/788/006/orig... Space Cadet Keyboard: https://en.wikipedia.org/wiki/Space-cadet_keyboard https://en.wikipedia.org/wiki/Space-cadet_keyboard Oh, he's writing a book about keyboards. That makes total sense, then.
- dynjo 5y agoIt has “like” and “dislike” keys! Way ahead of it’s time.
- sharmin123 5y agoIs It Possible to Hire Hackers Online?: https://www.hackerslist.co/is-it-possible-to-hire-hackers-online/ https://www.hackerslist.co/is-it-possible-to-hire-hackers-on...
- brncsk 5y agoIf you liked this, you might like this as well: https://blog.mapbox.com/debanding-the-world-94439af16e7f https://blog.mapbox.com/debanding-the-world-94439af16e7f
- quickthrower2 5y agoHonestly, I like anything about Fourier transforms!
- ChuckMcM 5y agoFourier transforms are amazing. Once I "got" how they worked it really made a lot of things like this make a lot more sense. Blotting out "bright points" in a 2D transform is basically creating a bandpass filter to get rid of those frequencies. That pictures have frequencies, is cool in itself, looking at each vector through the image as a series of samples.
- pkd 5y agoLovely stuff, but halftone prints are just one type of prints. Before digital printing was a thing, photos were created using enlargers throwing light through a negative on photosensitive paper. Since the negative was also created using photochemical effects, the "frequency" effect was much reduced. This can still be done by ordering prints in "photographic papers" by Fuji or Kodak. If the image was created using a digital sensor, then it won't work as well, of course because the sensor itself is subject to a grid. However, the kind of Bayer Filter used in the sensor can help tackle the effect at source. This is what Fuji's X-Trans sensor[1] claims to do. (I am a Fuji user but I have no data point to offer in either direction) [1] https://en.m.wikipedia.org/wiki/Fujifilm_X-Trans_sensor https://en.m.wikipedia.org/wiki/Fujifilm_X-Trans_sensor
- a-dub 5y agothe spectral domain representation of the halftone image is cool. seeing as it's periodic itself, would be fun to play with a 2d cepstral representation and then liftering out the low frequency peaks that seem to be generated by the halftoning.
- thayne 5y agoThat solution is one of those things where the solution seems obvious as soon as it is mentioned. At least if you are familiar with Fourier transforms. You want to remove a periodic pattern from an image, and of course that will be easier to do in phase space than spatial space. Interestingly, filtering out high frequency components from the Fourier transform of the image is exactly how JPEG lossy compression works, so compressing the image as a jpeg would likely have a similar result.
- bjarneh 5y agoWhat a great read; interesting, informative and funny. Great examples of the concepts he's explaining - that make sense even for those of us with very little knowledge of these topics in advance. > with a user interface only a parent could love > “You don’t need ML,” Bryan said. “What you need is inverse FFT.”
- timini 5y agoBest thing i've ever seen on HN
- anotheryou 5y agoThe 2nd method also has a lot of noise in it which helps to "emulate" detail. I think you could get the blur method quite a bit further for a fair comparison, e.g. by adding noise.
- neves 5y agoDoes any photoediting tool hás a filter like this? look It looks like a fixed algorithm
- ronenlh 5y agoThis article opened for me a Pandora's box of curiosity. For anyone interested, this is an excellent introduction to some of the concepts: https://web.archive.org/web/20060210112754/http://cns-alumni.bu.edu/~slehar/fourier/fourier.html https://web.archive.org/web/20060210112754/http://cns-alumni... Fourier analysis is currently used in "Image processing to remove periodic or anisotropic artifacts such as jaggies from interlaced video, strip artifacts from strip aerial photography, or wave patterns from radio frequency interference in a digital camera." Also, "JPEG compression uses a variant of the Fourier transformation (discrete cosine transform) of small square pieces of a digital image. The Fourier components of each square are rounded to lower arithmetic precision, and weak components are eliminated entirely, so that the remaining components can be stored very compactly. In image reconstruction, each image square is reassembled from the preserved approximate Fourier-transformed components, which are then inverse-transformed to produce an approximation of the original image." Source for both quotes: https://en.wikipedia.org/wiki/Fourier_analysis https://en.wikipedia.org/wiki/Fourier_analysis
- Trixter 5y agoFor those who wish to experiment, this method has existed for Photoshop for a long time as a plugin: http://www.descreen.net/eng/soft/descreen/descreen.htm http://www.descreen.net/eng/soft/descreen/descreen.htm
- deleted 5y ago[deleted]
- mik09 5y agoreviewed how fft works because of this, and made this demo for image fft (picture cropped from original passage): https://gist.github.com/mikelty/4553938523f0d1b0f4ee575a6241e76c https://gist.github.com/mikelty/4553938523f0d1b0f4ee575a6241... turns out skimage can do this, not just the 'special piece of software' mentioned in the article.