Rapid Object Mapping

Developed or developing a new product in PureBasic? Tell the world about it.
User avatar
JHPJHP
Addict
Addict
Posts: 2266
Joined: Sat Oct 09, 2010 3:47 am

Rapid Object Mapping

Post by JHPJHP »

Hi All,

Some time ago, AAT and I collaborated on an OpenCV example for my project, PureBasic Interface to OpenCV. Years later, another forum member developed a RAD SVG tool, which reminded me of the example AAT and I had worked on. With only a few minor modifications, literally just a dozen new lines of code, a promising new SVG tool began to take shape.

When I initially shared my results as an animated GIF, the response appeared limited, so I decided to set the example aside.

I don’t necessarily expect significant interest this time either, but revisiting OpenCV was enjoyable. It was great to see that, even though the version is somewhat dated, the algorithms remain highly relevant today.

Back when I first posted this in 2020, my thought was that it could serve as an add-on to any future SVG tools, essentially adding the Rapid to RAD.
• Useful for mapping complex shapes, animating sprite-sheet images, and more.

See the following video: Vector Drawing
.. MP4 video was created using my Video Snipping Tool.
1. Two JPG images are displayed for the demonstration.
2. The original 2020 example is copied into the main OpenCV folder.
3. The code executes, deriving x/y points from the image contours.
4. These points are drawn onto a copy of the selected image.
5. The SVG library uses the x/y points to render the results onto a CanvasGadget.
6. Various other SVG rendering options are also demonstrated.
Last edited by JHPJHP on Tue Oct 21, 2025 4:45 pm, edited 5 times in total.

If you're not investing in yourself, you're falling behind.

My PureBasic StuffFREE STUFF, Scripts & Programs.
My PureBasic Forum ➤ Questions, Requests & Comments.
User avatar
Caronte3D
Addict
Addict
Posts: 1370
Joined: Fri Jan 22, 2016 5:33 pm
Location: Some Universe

Re: Rapid SVG

Post by Caronte3D »

Excellent work as always! :wink:
miso
Enthusiast
Enthusiast
Posts: 491
Joined: Sat Oct 21, 2023 4:06 pm
Location: Hungary

Re: Rapid SVG

Post by miso »

That's cool, good job.
User avatar
SPH
Enthusiast
Enthusiast
Posts: 593
Joined: Tue Jan 04, 2011 6:21 pm

Re: Rapid SVG

Post by SPH »

Did I understand correctly? :
Does this code define the points around a shape?
In OpenGL, the instruction that creates polygons only creates convex polygons. Is there a way to "slice" any shape into convex polygons? (If so, that would be great for me.)
Thanks

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 6.12LTS - 64 bits
User avatar
JHPJHP
Addict
Addict
Posts: 2266
Joined: Sat Oct 09, 2010 3:47 am

Re: Rapid Object Mapping

Post by JHPJHP »

Hi Caronte3D, miso,

Thank you for your positive comments.

------------

Hi SPH,
SPH wrote:Does this code define the points around a shape?
Yes, it has been part of the PureBasic Interface to OpenCV for over ten years, and it’s just one of many examples that can map points to objects.
• The two examples shown in the videos were quick modifications of an existing example.

------------

As I mentioned in my previous post, animations are a no-brainer...

See the following video: Vector Animation
.. MP4 video was created using my Video Snipping Tool.
.. Used my GIF Toolkit to convert a GIF animation to a sprite sheet.
1. The generated sprite sheet is displayed for the demonstration.
2. In a loop the sprite sheet is broken-down into regions of interest.
3. X/Y points are derived from the image contours.
4. These points are drawn onto a copy of the selected image.
5. The x/y points are used to render the results onto a CanvasGadget at 2x the scale.
Last edited by JHPJHP on Tue Oct 21, 2025 4:45 pm, edited 2 times in total.

If you're not investing in yourself, you're falling behind.

My PureBasic StuffFREE STUFF, Scripts & Programs.
My PureBasic Forum ➤ Questions, Requests & Comments.
BarryG
Addict
Addict
Posts: 4219
Joined: Thu Apr 18, 2019 8:17 am

Re: Rapid SVG

Post by BarryG »

JHPJHP wrote: Sat Oct 18, 2025 7:20 pmWhen I initially shared my results as an animated GIF, the response appeared limited, so I decided to set the example aside.
I read almost every post on this forum but don't always respond to them. Like this topic: I have no idea what SVG is and have no need for it, but I read it anyway without any plan to respond to it. But your quote made me write this reply to remind you that your work is actually seen and appreciated, even if I don't use it personally. Thumbs up! :)
User avatar
JHPJHP
Addict
Addict
Posts: 2266
Joined: Sat Oct 09, 2010 3:47 am

Re: Rapid Object Mapping

Post by JHPJHP »

Hi BarryG,
BarryG wrote:I have no idea what SVG is and have no need for it
That’s a bit of a paradox: How can you be sure you don’t need it if you don’t know what it is :P
• For reference, SVG stands for Scalable Vector Graphics; see PureBasic - VectorDrawing.
BarryG wrote:your quote made me write this reply to remind you that your work is actually seen and appreciated
That was kind of you but really not necessary. I was just having a bit of fun. The code has been available for over ten years, so anyone who works with SVG and still finds themselves manually mapping coordinates around objects, my point should be fairly obvious :)

There are countless uses; one example is my Old-Skool Fire Effect.
Last edited by JHPJHP on Tue Oct 21, 2025 4:45 pm, edited 1 time in total.

If you're not investing in yourself, you're falling behind.

My PureBasic StuffFREE STUFF, Scripts & Programs.
My PureBasic Forum ➤ Questions, Requests & Comments.
User avatar
SPH
Enthusiast
Enthusiast
Posts: 593
Joined: Tue Jan 04, 2011 6:21 pm

Re: Rapid SVG Mapping

Post by SPH »

Hi JHP²
I'd like to get the gist of what I'm looking for. All I need for what I need is minimal.
I'd like to use your code to create an algorithm that allows me to find the points surrounding a shape.
Could you provide me with a simple code that does this?
I know my request is rather... bold, but if you have it up your sleeve, I'm all ears...
Thanks

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 6.12LTS - 64 bits
User avatar
JHPJHP
Addict
Addict
Posts: 2266
Joined: Sat Oct 09, 2010 3:47 am

Re: Rapid Object Mapping

Post by JHPJHP »

Hi SPH,

Your curiosity and interest are appreciated, but before I invest time in developing a standalone package, let’s first confirm whether the current implementation aligns with your requirements.

The script operates using Contours and Polygon Approximations as follows:
• It first identifies the contours of an object for the purpose of shape analysis.
• It then approximates those contours, returning a sequence of X/Y coordinate points.

If a standalone package is created, it would include a minimum of three DLLs along with their corresponding LIB files.
PureBasic Interface to OpenCV is a much larger framework that already includes over 250 examples.

While the framework supports Windows (32-bit / 64-bit), Linux (64-bit), and macOS (64-bit), this particular package would include only the script and binaries for Windows 64-bit.

The algorithm can identify points for multiple objects. Object filtering by area size and point granularity are both user-configurable.
• If you remain interested, provide a link to a test image so I can verify that the script will perform as intended.
Last edited by JHPJHP on Wed Oct 22, 2025 4:43 pm, edited 1 time in total.

If you're not investing in yourself, you're falling behind.

My PureBasic StuffFREE STUFF, Scripts & Programs.
My PureBasic Forum ➤ Questions, Requests & Comments.
User avatar
SPH
Enthusiast
Enthusiast
Posts: 593
Joined: Tue Jan 04, 2011 6:21 pm

Re: Rapid Object Mapping

Post by SPH »

There are advantages and disadvantages.
There are a lot of files (>1) for the little I've been looking for. Additionally, we should see if your algorithm can create polygons that trace an entire area.
I'm skeptical.

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 6.12LTS - 64 bits
User avatar
JHPJHP
Addict
Addict
Posts: 2266
Joined: Sat Oct 09, 2010 3:47 am

Re: Rapid Object Mapping

Post by JHPJHP »

Hi SPH,

You mentioned that there are advantages and disadvantages, which ultimately depend on user requirements rather than the framework itself. OpenCV is used by millions, and for good reason: About OpenCV

As for the number of files, I don’t see why that should be an issue, especially if this is intended as a personal tool. Even in cases of broader distribution, dependencies are commonplace. In fact, I can’t recall downloading any useful software in recent years that didn’t include some form of dependency or supporting files.

Regarding your point about creating polygons that trace an entire area, the skepticism is misplaced. It’s not my algorithm, and in this case, skepticism isn’t relevant. The script performs exactly as designed.

If it doesn’t meet your expectations, it’s likely due to a misunderstanding of its intended function. Alternatively, if it works but not to the desired level of precision, it can certainly be adjusted. Moreover, given the vast range of algorithms available, one or more of the many alternatives could achieve better results for your specific objective.

Anyway, this wasn’t intended as a sales pitch. As I get older, I’ve come to appreciate the value of my time. Good luck.
Last edited by JHPJHP on Thu Oct 23, 2025 2:30 pm, edited 1 time in total.

If you're not investing in yourself, you're falling behind.

My PureBasic StuffFREE STUFF, Scripts & Programs.
My PureBasic Forum ➤ Questions, Requests & Comments.
User avatar
IceSoft
Addict
Addict
Posts: 1698
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

Re: Rapid Object Mapping

Post by IceSoft »

SPH wrote: Tue Oct 21, 2025 7:31 pm Additionally, we should see if your algorithm can create polygons that trace an entire area.
An example image will be great to see what you mean. Thanks.
Belive! C++ version of Puzzle of Mystralia
Bug Planet
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
User avatar
SPH
Enthusiast
Enthusiast
Posts: 593
Joined: Tue Jan 04, 2011 6:21 pm

Re: Rapid Object Mapping

Post by SPH »

Well, for example: a drawing of the letter "P"
The trick would be to avoid creating a polygon that would cover the "hole" of the letter.
Furthermore, the OpenGL instruction I'm using only creates convex polygons.
All this taken into account, we end up with a rather demanding algorithm... :idea:

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 6.12LTS - 64 bits
BarryG
Addict
Addict
Posts: 4219
Joined: Thu Apr 18, 2019 8:17 am

Re: Rapid Object Mapping

Post by BarryG »

JHPJHP wrote: Sun Oct 19, 2025 11:43 pmHow can you be sure you don’t need it if you don’t know what it is :P
Ignorance is bliss. ;)
User avatar
JHPJHP
Addict
Addict
Posts: 2266
Joined: Sat Oct 09, 2010 3:47 am

Re: Rapid Object Mapping

Post by JHPJHP »

Hi BarryG,
BarryG wrote:Ignorance is bliss.
I can’t say I disagree with you :)

I believe you already have an access key. If curiosity ever gets the better of you, I’ve added it to my website:
My PureBasic Stuff -> MORE STUFF -> Rapid Object Mapping
My PureBasic Forum -> READ-ONLY OPENCV FORUMS -> Rapid Object Mapping

Important Update Regarding Project Releases:
With the latest version of PureBasic, I have implemented hundreds of updates and enhancements across my various projects. However, since PureBasic is still in beta, most of these updated projects, including FREE STUFF, will not be published on my website until the final release becomes available.

If you're not investing in yourself, you're falling behind.

My PureBasic StuffFREE STUFF, Scripts & Programs.
My PureBasic Forum ➤ Questions, Requests & Comments.
Post Reply