Spiroglyphic digital image processing

Hi,
Hoping somone can help. I've emailed Matlab themselves and they suggested that I post here to see if anyone else has done something similar.
I'm looking at buying the Matlab home licence and the image processing add on to produce images like this
The person who posted this on https://imgur.com/gallery/fiP9sVG says they used Matlab to produce the image. I've tried to contact the person concerned to see if they would share code and/or expand on which add ons they might have used but I've not had a reply.
Anybody got any experience with producing such images. I think they're called spiroglyphs.
Many thanks,
Gav

3 commentaires

Image Analyst
Image Analyst le 2 Jan 2020
By the way, what is the use case? Just a novelty/curiosity or for fun? Or some other use?
gav
gav le 2 Jan 2020
Thank you. Just curiosity really. I was taken by how similar the image was to one produced by some talented engravers from the 1600s.
Dayna
Dayna le 26 Sep 2020
Hi Gavin,
Were you able to write a code to perform this function--if so, would you be willing to share?
Thanks in advance! Regards,
Dayna

Connectez-vous pour commenter.

 Réponse acceptée

John D'Errico
John D'Errico le 2 Jan 2020
Modifié(e) : John D'Errico le 3 Jan 2020

0 votes

To be honest, I don't see the problem.
  1. Start with a black and white image.
  2. Create a new image of the same size that is all black.
  3. Start in the middle of your image, working out in a spiral. Surely that part is easy. The equation of a spiral in polar form is just r = k*theta. The tangent line to such a spiral is almost as easy to compute.
  4. At any point on the spiral, determine the local brightness of your image. You can get that from a call to conv2, using it to integrate the image in a local window. A circular convolution kernel might seem reasonable. You can pick the radius of the circular region. It would likely be a function of the value of k used to generate the spiral.
  5. Insert into the spirogram image at any point on the spiral a white line of width proportional to the local brightness at that point. Make the inserted line segment be parallel to the spiral at that point.
You should get the gist of it. As I said, easy, peasy. While the devil is sometimes in the details, this is not at all difficult, and it will not even require the image processing toolbox.

3 commentaires

gav
gav le 3 Jan 2020
Modifié(e) : gav le 3 Jan 2020
John,
Many thanks for taking the time to answer. Not sure that it will be "easy peasy" for someone of my skill level but plenty there to work with and interesting that I shouldn't need the image processing toolbox.
Much appreciatted,
Gavin
John D'Errico
John D'Errico le 3 Jan 2020
Sometimes the devil is in the details. :)
liat liat
liat liat le 25 Jan 2021
can you record a video i dont understnad

Connectez-vous pour commenter.

Plus de réponses (1)

Aek mEto ERI
Aek mEto ERI le 27 Avr 2020

0 votes

please, i'm interested too...can you kindly post some screenshot with info? step by step..
Or share a video with step by step! it will be great !
thank you

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by