What's the easiest way to find the coordinates of an object in a image?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
Imagine having an image of circles of different colors on a background of one color. What would be the easiest way to find the coordinates of the circles' centers (of course programmatically)?
image api object coordinates analysis
add a comment |
Imagine having an image of circles of different colors on a background of one color. What would be the easiest way to find the coordinates of the circles' centers (of course programmatically)?
image api object coordinates analysis
Do the circles overlap each other? Could they be concentric? Is your image JPEG or PNG or other? What OS do you use? What languages can you program in? What have you tried? Are the circles all just one single solid colour each? Are the circles fully contained in the image, or do some parts fall outside the background?
– Mark Setchell
Nov 23 '18 at 22:57
They don't overlap neither are concentric. The format of the images can be anything that helps the process. Both Windows and Linux. Only C and a tiny bit of Java, but I'm practicing Python right now. I'm a beginner working on a project that I came up with so except of Google-ing around I tried nothing. The circles are of solid colour and they never fall outside the image.
– Böszörményi Dániel
Nov 24 '18 at 12:05
add a comment |
Imagine having an image of circles of different colors on a background of one color. What would be the easiest way to find the coordinates of the circles' centers (of course programmatically)?
image api object coordinates analysis
Imagine having an image of circles of different colors on a background of one color. What would be the easiest way to find the coordinates of the circles' centers (of course programmatically)?
image api object coordinates analysis
image api object coordinates analysis
asked Nov 23 '18 at 21:09
Böszörményi DánielBöszörményi Dániel
132
132
Do the circles overlap each other? Could they be concentric? Is your image JPEG or PNG or other? What OS do you use? What languages can you program in? What have you tried? Are the circles all just one single solid colour each? Are the circles fully contained in the image, or do some parts fall outside the background?
– Mark Setchell
Nov 23 '18 at 22:57
They don't overlap neither are concentric. The format of the images can be anything that helps the process. Both Windows and Linux. Only C and a tiny bit of Java, but I'm practicing Python right now. I'm a beginner working on a project that I came up with so except of Google-ing around I tried nothing. The circles are of solid colour and they never fall outside the image.
– Böszörményi Dániel
Nov 24 '18 at 12:05
add a comment |
Do the circles overlap each other? Could they be concentric? Is your image JPEG or PNG or other? What OS do you use? What languages can you program in? What have you tried? Are the circles all just one single solid colour each? Are the circles fully contained in the image, or do some parts fall outside the background?
– Mark Setchell
Nov 23 '18 at 22:57
They don't overlap neither are concentric. The format of the images can be anything that helps the process. Both Windows and Linux. Only C and a tiny bit of Java, but I'm practicing Python right now. I'm a beginner working on a project that I came up with so except of Google-ing around I tried nothing. The circles are of solid colour and they never fall outside the image.
– Böszörményi Dániel
Nov 24 '18 at 12:05
Do the circles overlap each other? Could they be concentric? Is your image JPEG or PNG or other? What OS do you use? What languages can you program in? What have you tried? Are the circles all just one single solid colour each? Are the circles fully contained in the image, or do some parts fall outside the background?
– Mark Setchell
Nov 23 '18 at 22:57
Do the circles overlap each other? Could they be concentric? Is your image JPEG or PNG or other? What OS do you use? What languages can you program in? What have you tried? Are the circles all just one single solid colour each? Are the circles fully contained in the image, or do some parts fall outside the background?
– Mark Setchell
Nov 23 '18 at 22:57
They don't overlap neither are concentric. The format of the images can be anything that helps the process. Both Windows and Linux. Only C and a tiny bit of Java, but I'm practicing Python right now. I'm a beginner working on a project that I came up with so except of Google-ing around I tried nothing. The circles are of solid colour and they never fall outside the image.
– Böszörményi Dániel
Nov 24 '18 at 12:05
They don't overlap neither are concentric. The format of the images can be anything that helps the process. Both Windows and Linux. Only C and a tiny bit of Java, but I'm practicing Python right now. I'm a beginner working on a project that I came up with so except of Google-ing around I tried nothing. The circles are of solid colour and they never fall outside the image.
– Böszörményi Dániel
Nov 24 '18 at 12:05
add a comment |
2 Answers
2
active
oldest
votes
I felt like doing it in Python with OpenCV as well, using the same starting image as my other answer.
The code looks like this:
#!/usr/bin/env python3
import numpy as np
import cv2
# Load image
im = cv2.imread('start.png')
# Convert to grayscale and threshold
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,1,255,0)
# Find contours, draw on image and save
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im, contours, -1, (0,255,0), 3)
cv2.imwrite('result.png',im)
# Show user what we found
for cnt in contours:
(x,y),radius = cv2.minEnclosingCircle(cnt)
center = (int(x),int(y))
radius = int(radius)
print('Contour: centre {},{}, radius {}'.format(x,y,radius))
That gives this on the Terminal:
Contour: centre 400.0,200.0, radius 10
Contour: centre 500.0,200.0, radius 80
Contour: centre 200.0,150.0, radius 90
Contour: centre 50.0,50.0, radius 40
And this as the result image:
That's actually both very detailed and useful! I'm very grateful for your answer, thank you very much!
– Böszörményi Dániel
Nov 26 '18 at 21:37
add a comment |
There's a very easy way with ImageMagick which is free and installed on most Linux distros and is available for macOS and Windows - no programming required!
Let's start with this image:
Now you just run this in Terminal or Command Prompt:
magick input.png -define connected-components:verbose=true -connected-components 8 -auto-level output.png
Output
Objects (id: bounding-box centroid area mean-color):
0: 600x300+0+0 297.4,145.3 128391 srgb(0,0,0) <--- black background
2: 181x181+110+60 200.0,150.0 25741 srgb(0,0,255) <--- blue circle
3: 161x161+420+120 500.0,200.0 20353 srgb(255,0,255) <--- magenta circle
1: 81x81+10+10 50.0,50.0 5166 srgb(0,255,0) <--- green circle
4: 21x21+390+190 400.0,200.0 349 srgb(255,255,0). <--- yellow circle
I added the comments above after <---
.
Looking at the blue circle, you can see its colour is srgb(0,0,255) which is blue and it measures 181x181 pixels - so its radius is 90 pixels. The top-left corner of the containing rectangle is at [110,60]
so the centre is at [200,150]
, which matches the 200.00,150.00 given for the centroid.
Likewise, looking at the yellow circle, its colour is srgb(255,255,0) which is yellow. Its height and width are 21 pixels which means the radius is 10. The top-left corner of the containing square is at [390,190]
which means the centre is at [400,200]
, matching the centroid given as 400.0,200.0.
@fmw42 That's what I wrote, isn't it? That's what I meant anyway! Thank you.
– Mark Setchell
Nov 25 '18 at 18:52
I deleted my comment, Mark, when I saw you have asked the same thing. But for the OP's benefit, you could show how to extract only the colors and centroids excluding the black background as an addition to your answer.
– fmw42
Nov 25 '18 at 18:52
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53452962%2fwhats-the-easiest-way-to-find-the-coordinates-of-an-object-in-a-image%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I felt like doing it in Python with OpenCV as well, using the same starting image as my other answer.
The code looks like this:
#!/usr/bin/env python3
import numpy as np
import cv2
# Load image
im = cv2.imread('start.png')
# Convert to grayscale and threshold
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,1,255,0)
# Find contours, draw on image and save
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im, contours, -1, (0,255,0), 3)
cv2.imwrite('result.png',im)
# Show user what we found
for cnt in contours:
(x,y),radius = cv2.minEnclosingCircle(cnt)
center = (int(x),int(y))
radius = int(radius)
print('Contour: centre {},{}, radius {}'.format(x,y,radius))
That gives this on the Terminal:
Contour: centre 400.0,200.0, radius 10
Contour: centre 500.0,200.0, radius 80
Contour: centre 200.0,150.0, radius 90
Contour: centre 50.0,50.0, radius 40
And this as the result image:
That's actually both very detailed and useful! I'm very grateful for your answer, thank you very much!
– Böszörményi Dániel
Nov 26 '18 at 21:37
add a comment |
I felt like doing it in Python with OpenCV as well, using the same starting image as my other answer.
The code looks like this:
#!/usr/bin/env python3
import numpy as np
import cv2
# Load image
im = cv2.imread('start.png')
# Convert to grayscale and threshold
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,1,255,0)
# Find contours, draw on image and save
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im, contours, -1, (0,255,0), 3)
cv2.imwrite('result.png',im)
# Show user what we found
for cnt in contours:
(x,y),radius = cv2.minEnclosingCircle(cnt)
center = (int(x),int(y))
radius = int(radius)
print('Contour: centre {},{}, radius {}'.format(x,y,radius))
That gives this on the Terminal:
Contour: centre 400.0,200.0, radius 10
Contour: centre 500.0,200.0, radius 80
Contour: centre 200.0,150.0, radius 90
Contour: centre 50.0,50.0, radius 40
And this as the result image:
That's actually both very detailed and useful! I'm very grateful for your answer, thank you very much!
– Böszörményi Dániel
Nov 26 '18 at 21:37
add a comment |
I felt like doing it in Python with OpenCV as well, using the same starting image as my other answer.
The code looks like this:
#!/usr/bin/env python3
import numpy as np
import cv2
# Load image
im = cv2.imread('start.png')
# Convert to grayscale and threshold
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,1,255,0)
# Find contours, draw on image and save
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im, contours, -1, (0,255,0), 3)
cv2.imwrite('result.png',im)
# Show user what we found
for cnt in contours:
(x,y),radius = cv2.minEnclosingCircle(cnt)
center = (int(x),int(y))
radius = int(radius)
print('Contour: centre {},{}, radius {}'.format(x,y,radius))
That gives this on the Terminal:
Contour: centre 400.0,200.0, radius 10
Contour: centre 500.0,200.0, radius 80
Contour: centre 200.0,150.0, radius 90
Contour: centre 50.0,50.0, radius 40
And this as the result image:
I felt like doing it in Python with OpenCV as well, using the same starting image as my other answer.
The code looks like this:
#!/usr/bin/env python3
import numpy as np
import cv2
# Load image
im = cv2.imread('start.png')
# Convert to grayscale and threshold
imgray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
ret,thresh = cv2.threshold(imgray,1,255,0)
# Find contours, draw on image and save
im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(im, contours, -1, (0,255,0), 3)
cv2.imwrite('result.png',im)
# Show user what we found
for cnt in contours:
(x,y),radius = cv2.minEnclosingCircle(cnt)
center = (int(x),int(y))
radius = int(radius)
print('Contour: centre {},{}, radius {}'.format(x,y,radius))
That gives this on the Terminal:
Contour: centre 400.0,200.0, radius 10
Contour: centre 500.0,200.0, radius 80
Contour: centre 200.0,150.0, radius 90
Contour: centre 50.0,50.0, radius 40
And this as the result image:
answered Nov 25 '18 at 19:49
Mark SetchellMark Setchell
93.4k785191
93.4k785191
That's actually both very detailed and useful! I'm very grateful for your answer, thank you very much!
– Böszörményi Dániel
Nov 26 '18 at 21:37
add a comment |
That's actually both very detailed and useful! I'm very grateful for your answer, thank you very much!
– Böszörményi Dániel
Nov 26 '18 at 21:37
That's actually both very detailed and useful! I'm very grateful for your answer, thank you very much!
– Böszörményi Dániel
Nov 26 '18 at 21:37
That's actually both very detailed and useful! I'm very grateful for your answer, thank you very much!
– Böszörményi Dániel
Nov 26 '18 at 21:37
add a comment |
There's a very easy way with ImageMagick which is free and installed on most Linux distros and is available for macOS and Windows - no programming required!
Let's start with this image:
Now you just run this in Terminal or Command Prompt:
magick input.png -define connected-components:verbose=true -connected-components 8 -auto-level output.png
Output
Objects (id: bounding-box centroid area mean-color):
0: 600x300+0+0 297.4,145.3 128391 srgb(0,0,0) <--- black background
2: 181x181+110+60 200.0,150.0 25741 srgb(0,0,255) <--- blue circle
3: 161x161+420+120 500.0,200.0 20353 srgb(255,0,255) <--- magenta circle
1: 81x81+10+10 50.0,50.0 5166 srgb(0,255,0) <--- green circle
4: 21x21+390+190 400.0,200.0 349 srgb(255,255,0). <--- yellow circle
I added the comments above after <---
.
Looking at the blue circle, you can see its colour is srgb(0,0,255) which is blue and it measures 181x181 pixels - so its radius is 90 pixels. The top-left corner of the containing rectangle is at [110,60]
so the centre is at [200,150]
, which matches the 200.00,150.00 given for the centroid.
Likewise, looking at the yellow circle, its colour is srgb(255,255,0) which is yellow. Its height and width are 21 pixels which means the radius is 10. The top-left corner of the containing square is at [390,190]
which means the centre is at [400,200]
, matching the centroid given as 400.0,200.0.
@fmw42 That's what I wrote, isn't it? That's what I meant anyway! Thank you.
– Mark Setchell
Nov 25 '18 at 18:52
I deleted my comment, Mark, when I saw you have asked the same thing. But for the OP's benefit, you could show how to extract only the colors and centroids excluding the black background as an addition to your answer.
– fmw42
Nov 25 '18 at 18:52
add a comment |
There's a very easy way with ImageMagick which is free and installed on most Linux distros and is available for macOS and Windows - no programming required!
Let's start with this image:
Now you just run this in Terminal or Command Prompt:
magick input.png -define connected-components:verbose=true -connected-components 8 -auto-level output.png
Output
Objects (id: bounding-box centroid area mean-color):
0: 600x300+0+0 297.4,145.3 128391 srgb(0,0,0) <--- black background
2: 181x181+110+60 200.0,150.0 25741 srgb(0,0,255) <--- blue circle
3: 161x161+420+120 500.0,200.0 20353 srgb(255,0,255) <--- magenta circle
1: 81x81+10+10 50.0,50.0 5166 srgb(0,255,0) <--- green circle
4: 21x21+390+190 400.0,200.0 349 srgb(255,255,0). <--- yellow circle
I added the comments above after <---
.
Looking at the blue circle, you can see its colour is srgb(0,0,255) which is blue and it measures 181x181 pixels - so its radius is 90 pixels. The top-left corner of the containing rectangle is at [110,60]
so the centre is at [200,150]
, which matches the 200.00,150.00 given for the centroid.
Likewise, looking at the yellow circle, its colour is srgb(255,255,0) which is yellow. Its height and width are 21 pixels which means the radius is 10. The top-left corner of the containing square is at [390,190]
which means the centre is at [400,200]
, matching the centroid given as 400.0,200.0.
@fmw42 That's what I wrote, isn't it? That's what I meant anyway! Thank you.
– Mark Setchell
Nov 25 '18 at 18:52
I deleted my comment, Mark, when I saw you have asked the same thing. But for the OP's benefit, you could show how to extract only the colors and centroids excluding the black background as an addition to your answer.
– fmw42
Nov 25 '18 at 18:52
add a comment |
There's a very easy way with ImageMagick which is free and installed on most Linux distros and is available for macOS and Windows - no programming required!
Let's start with this image:
Now you just run this in Terminal or Command Prompt:
magick input.png -define connected-components:verbose=true -connected-components 8 -auto-level output.png
Output
Objects (id: bounding-box centroid area mean-color):
0: 600x300+0+0 297.4,145.3 128391 srgb(0,0,0) <--- black background
2: 181x181+110+60 200.0,150.0 25741 srgb(0,0,255) <--- blue circle
3: 161x161+420+120 500.0,200.0 20353 srgb(255,0,255) <--- magenta circle
1: 81x81+10+10 50.0,50.0 5166 srgb(0,255,0) <--- green circle
4: 21x21+390+190 400.0,200.0 349 srgb(255,255,0). <--- yellow circle
I added the comments above after <---
.
Looking at the blue circle, you can see its colour is srgb(0,0,255) which is blue and it measures 181x181 pixels - so its radius is 90 pixels. The top-left corner of the containing rectangle is at [110,60]
so the centre is at [200,150]
, which matches the 200.00,150.00 given for the centroid.
Likewise, looking at the yellow circle, its colour is srgb(255,255,0) which is yellow. Its height and width are 21 pixels which means the radius is 10. The top-left corner of the containing square is at [390,190]
which means the centre is at [400,200]
, matching the centroid given as 400.0,200.0.
There's a very easy way with ImageMagick which is free and installed on most Linux distros and is available for macOS and Windows - no programming required!
Let's start with this image:
Now you just run this in Terminal or Command Prompt:
magick input.png -define connected-components:verbose=true -connected-components 8 -auto-level output.png
Output
Objects (id: bounding-box centroid area mean-color):
0: 600x300+0+0 297.4,145.3 128391 srgb(0,0,0) <--- black background
2: 181x181+110+60 200.0,150.0 25741 srgb(0,0,255) <--- blue circle
3: 161x161+420+120 500.0,200.0 20353 srgb(255,0,255) <--- magenta circle
1: 81x81+10+10 50.0,50.0 5166 srgb(0,255,0) <--- green circle
4: 21x21+390+190 400.0,200.0 349 srgb(255,255,0). <--- yellow circle
I added the comments above after <---
.
Looking at the blue circle, you can see its colour is srgb(0,0,255) which is blue and it measures 181x181 pixels - so its radius is 90 pixels. The top-left corner of the containing rectangle is at [110,60]
so the centre is at [200,150]
, which matches the 200.00,150.00 given for the centroid.
Likewise, looking at the yellow circle, its colour is srgb(255,255,0) which is yellow. Its height and width are 21 pixels which means the radius is 10. The top-left corner of the containing square is at [390,190]
which means the centre is at [400,200]
, matching the centroid given as 400.0,200.0.
answered Nov 25 '18 at 17:15
Mark SetchellMark Setchell
93.4k785191
93.4k785191
@fmw42 That's what I wrote, isn't it? That's what I meant anyway! Thank you.
– Mark Setchell
Nov 25 '18 at 18:52
I deleted my comment, Mark, when I saw you have asked the same thing. But for the OP's benefit, you could show how to extract only the colors and centroids excluding the black background as an addition to your answer.
– fmw42
Nov 25 '18 at 18:52
add a comment |
@fmw42 That's what I wrote, isn't it? That's what I meant anyway! Thank you.
– Mark Setchell
Nov 25 '18 at 18:52
I deleted my comment, Mark, when I saw you have asked the same thing. But for the OP's benefit, you could show how to extract only the colors and centroids excluding the black background as an addition to your answer.
– fmw42
Nov 25 '18 at 18:52
@fmw42 That's what I wrote, isn't it? That's what I meant anyway! Thank you.
– Mark Setchell
Nov 25 '18 at 18:52
@fmw42 That's what I wrote, isn't it? That's what I meant anyway! Thank you.
– Mark Setchell
Nov 25 '18 at 18:52
I deleted my comment, Mark, when I saw you have asked the same thing. But for the OP's benefit, you could show how to extract only the colors and centroids excluding the black background as an addition to your answer.
– fmw42
Nov 25 '18 at 18:52
I deleted my comment, Mark, when I saw you have asked the same thing. But for the OP's benefit, you could show how to extract only the colors and centroids excluding the black background as an addition to your answer.
– fmw42
Nov 25 '18 at 18:52
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53452962%2fwhats-the-easiest-way-to-find-the-coordinates-of-an-object-in-a-image%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Do the circles overlap each other? Could they be concentric? Is your image JPEG or PNG or other? What OS do you use? What languages can you program in? What have you tried? Are the circles all just one single solid colour each? Are the circles fully contained in the image, or do some parts fall outside the background?
– Mark Setchell
Nov 23 '18 at 22:57
They don't overlap neither are concentric. The format of the images can be anything that helps the process. Both Windows and Linux. Only C and a tiny bit of Java, but I'm practicing Python right now. I'm a beginner working on a project that I came up with so except of Google-ing around I tried nothing. The circles are of solid colour and they never fall outside the image.
– Böszörményi Dániel
Nov 24 '18 at 12:05