在特定亮度点周围给定 X 和 Y 坐标的情况下绘制矩形 - python
Drawing rectangles given X and Y coords around specific brightness points- python
我开始编写脚本代码来帮助我研究球状星团和星系类型之间的相关性。因此,我的代码能够找到距离星系中所有可能的球状星团和 return X 和 Y 坐标。现在,我需要弄清楚如何真正能够围绕 X 和 Y 坐标绘制小方框,这样我才能直观地看到分布。代码如下:
from PIL import Image
from math import sqrt
imag = Image.open("Centaurus_A-DeNoiseAI-denoise.jpg")
imag = imag.convert ('RGB')
x=[]
y=[]
for i in range(3008):
X,Y = i,i
(R,G,B) = imag.getpixel((X,Y))
brightness = sum([R,G,B])/3
if(94<brightness<124):
print(X,Y)
x.append(X)
y.append(Y)
将此代码添加到您现有的代码中
from PIL import Image, ImageDraw
#Your code from before here
with imag as im:
delta = 5
draw = ImageDraw.Draw(im)
for i in range(len(x)):
draw.rectangle([x[i-delta],y[i-delta],x[i-delta],y[i-delta]], fill=(255,0,0))
im.save("your_image","PNG")
根据您希望在该矩形上填充多少来相应地调整增量。
我开始编写脚本代码来帮助我研究球状星团和星系类型之间的相关性。因此,我的代码能够找到距离星系中所有可能的球状星团和 return X 和 Y 坐标。现在,我需要弄清楚如何真正能够围绕 X 和 Y 坐标绘制小方框,这样我才能直观地看到分布。代码如下:
from PIL import Image
from math import sqrt
imag = Image.open("Centaurus_A-DeNoiseAI-denoise.jpg")
imag = imag.convert ('RGB')
x=[]
y=[]
for i in range(3008):
X,Y = i,i
(R,G,B) = imag.getpixel((X,Y))
brightness = sum([R,G,B])/3
if(94<brightness<124):
print(X,Y)
x.append(X)
y.append(Y)
将此代码添加到您现有的代码中
from PIL import Image, ImageDraw
#Your code from before here
with imag as im:
delta = 5
draw = ImageDraw.Draw(im)
for i in range(len(x)):
draw.rectangle([x[i-delta],y[i-delta],x[i-delta],y[i-delta]], fill=(255,0,0))
im.save("your_image","PNG")
根据您希望在该矩形上填充多少来相应地调整增量。