HNNewShowAskJobs
Built with Tanstack Start
Grayskull: A tiny computer vision library in C for embedded systems, etc.(github.com)
190 points by gurjeet 4 days ago | 18 comments
  • aadv1k4 days ago

    Hey, this is great :) I attempted to do something similar a while back https://github.com/aadv1k/deimos basically trying to build many of OpenCV's functions from scratch in C from first principles, though I was using stb for handling the images. I ended up putting the project on hold, primarily because I lost interest in computer vision at the time.

    For a while I went deep into OCR, and built a rather rudimentary stroke width transform (https://github.com/aadv1k/swt.h) but again, the results were very hit or miss, likely because I never took the time to understand the logic behind why these functions would work.

    1) Optimise many of the functions (a lot of room to use GPU, multi-threading and what not!). 2) Add new functions and improve the existing edge detection ones

    I would love to know of a good resource for computer vision, the various algorithms, optimisation techniques etc. Thanks for sharing this project! Cheers

    • goeiedaggoeie4 days ago |parent

      https://github.com/spsingh37/Classical-computer-vision

      spend some time to understand how CV worked before deep learning transformed it in 2012->2014. lots of those techniques are still useful

      • aadv1k2 days ago |parent

        This is very useful, I was unable to find a simple, clean implementation of the harris corner algorithm, this might help. Appreciate it!

    • grep_it3 days ago |parent

      Computer Vision: Algorithms and Applications 2nd Edition is free to download for personal use at https://szeliski.org/Book/

      • aadv1k2 days ago |parent

        Hey this is great! Thank you :)

  • vardump3 days ago

    Since this is intended for embedded systems, supporting ARM DSP extensions would be beneficial. Correct me if I'm wrong, but I have not seen any compiler generate those instructions, other than through the use of intrinsics.

    I would add the support if I needed the library, but I don't, at least not yet.

  • adius4 days ago

    I basically did the same thing a few weeks ago! =) => https://flatcv.ad-si.com

    It will be interesting to see what you did differently!

    • rmind3 days ago |parent

      Nice. Any plans to add support for affine transformations and perspective transformation (warp)?

      • adius3 days ago |parent

        Definitely on the todo list, but since it is only a side project, I don't know when I'll get to it. Any contributions would be highly appreciated! =)

  • kazinator4 days ago

    Did you see the "By The Power of Grayscale" submission and go digging?

    • gurjeet4 days ago |parent

      Yes, that's exactly how I discovered it :-)

      • gurjeet4 days ago |parent

        For the curious, link to related post: By the Power of Grayscale https://news.ycombinator.com/item?id=45771151

      • moffkalast4 days ago |parent

        And then you said HEY YEYAAEYAAAEYAEYAA?

  • rob744 days ago

    cf. https://en.wikipedia.org/wiki/Castle_Grayskull

  • valorzard4 days ago

    I’d like to take this moment to say that the recent She Ra revival series on Netflix by ND Stevenson (the creator of Nimona) is pretty good, go watch it.

  • jamal-kumar4 days ago

    On this tip I always found opencv to work way way faster just dropping the color depth of whatever image as such

  • cestith3 days ago

    related: https://news.ycombinator.com/item?id=45771151

  • ranger_danger4 days ago

    Missed opportunity to one-up the He-Man joke from earlier :p