[HN Gopher] Image Processing in C (2000) [pdf]
___________________________________________________________________
Image Processing in C (2000) [pdf]
Author : nill0
Score : 127 points
Date : 2025-03-14 03:30 UTC (3 days ago)
(HTM) web link (homepages.inf.ed.ac.uk)
(TXT) w3m dump (homepages.inf.ed.ac.uk)
| SanjayMehta wrote:
| You might find this interesting as well:
|
| https://www.spinroot.com/pico
| numba888 wrote:
| 2000-2003, both are pre-historic. We have neural networks now
| to do things like upscaling and colorization.
| vincenthwt wrote:
| Yes, those methods are old, but they're explainable and much
| easier to debug or improve compared to the black-box nature
| of neural networks. They're still useful in many cases.
| earthnail wrote:
| Only partially. The chapters on edge detection, for
| example, only have historic value at this point. A tiny NN
| can learn edges much better (which was the claim to fame of
| AlexNet, basically).
| 4gotunameagain wrote:
| Classical CV algorithms are always preferred over NNs in
| every safety critical application.
|
| Except Self driving cars, and we all see how that's
| going.
| CamperBob2 wrote:
| Self-driving cars are a political problem, not a
| technical one. Our roads don't work especially well for
| human drivers, so I don't know why anyone expected
| machines to achieve perfection.
| grumbelbart2 wrote:
| That absolutely depends on the application. "Classic"
| (i.e. non-NN) methods are still very strong in industrial
| machine vision applications, mostly due to their
| momentum, explainability / trust, and performance /
| costs. Why use an expensive NPU if you can do the same
| thing in 0.1 ms on an embedded ARM.
| HelloNurse wrote:
| A NN that has been trained by someone else on unknown
| data with unknown objectives and contains unknown defects
| and backdoors can compute _something_ fast, but why
| should it be trusted to do my image processing? Even if
| the NN is built in-house overcoming trust issues,
| principled algorithms have general correctness proofs
| while NNs have, at best, promising statistics on
| validation datasets.
| earthnail wrote:
| This doesn't match my experience. I spent a good portion
| of my life debugging SIFT, ORB etc. The mathematical
| principles don't matter that much when you apply them;
| what matters is performance of your system on a test set.
|
| Turns out a small three-layer convnet autoencoder did the
| job much better with much less compute.
| HelloNurse wrote:
| You cannot prove that an algorithm does what you want,
| unless your understanding of what you want is quite
| formal. But you can prove that an algorithm makes sense
| and that it doesn't make specific classes of mistake: for
| example, a median filter has the property that all output
| pixel values are the value of some input pixel, ensuring
| that no out of range values are introduced.
| jononor wrote:
| Few customers care about proofs. If you can measure how
| well the method work for the desired task, that is most
| cases sufficient and in many cases preferred over proofs.
| zwieback wrote:
| For hobbyists that's enough, for engineers often okay (I
| find myself in that situation) but for scientists "good
| enough" means nothing.
|
| Optical metrology relies on accurate equations how a
| physical object maps to the image plane so in that case
| analytical solutions are necessary for subpixel accuracy.
|
| I'm worried about how often kids these days discount
| precise mathematical models for all use cases. Sure, you
| get there most of the time but ignore foundational math
| and physics at your own peril.
| fsloth wrote:
| "The chapters on edge detection, for example, only have
| historic value at this point"
|
| Are there simpler, faster and better edge detection
| algorithms that are not using neural nets?
| frankie_t wrote:
| I wonder if doing classical processing of real-time data
| as a pre-phase before you feed into NN could be
| beneficial?
| TimorousBestie wrote:
| Yes, it's part of the process of data augmentation, which
| is commonly used to avoid classifying on irrelevant
| aspects of the image like overall brightness or relative
| orientation.
| rahen wrote:
| I see it the same way I see 'Applied Cryptography'. It's old
| C code, but it helps you understand how things work under the
| hood far better than a modern black box ever could. And in
| the end, you become better at cryptography than you would by
| only reading modern, abstracted code.
| jandrese wrote:
| Last time I was doing image processing in C I was doing
| quantization of the colorspace using the technique out of a
| paper from 1982. Just because a source is old doesn't mean it
| is wrong.
| TrackerFF wrote:
| 310 pages of text, 500 pages of C code in the appendix - this
| could need a supplemental github page.
| typolisp wrote:
| The source code is at https://github.com/Dwayne-Phillips/CIPS
| danjl wrote:
| Nice reference! The URL in the preface is dead.
___________________________________________________________________
(page generated 2025-03-17 23:01 UTC)