【发布时间】:2016-01-28 16:51:02
【问题描述】:
我有一张银河的黑白图像,我需要像这样测量每个同心椭圆的平均像素 RGB 值:
到目前为止的代码是
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
from matplotlib import pyplot, lines
import matplotlib.image as mpimg
import numpy as np
from scipy.misc import imread
from matplotlib.patches import Ellipse
dpi=80
im_data = imread('test.png')
height, width, nbands = im_data.shape
print height, width
figsize = width / float(dpi), height / float(dpi)
print figsize
fig = plt.figure(figsize=figsize)
ax = fig.add_axes([0, 0, 1, 1])
ax.axis('off')
ax.imshow(im_data, interpolation='nearest')
for i in range(10,400,10):
ell = Ellipse(xy=[240,268], width=i, height=i*0.9, angle=70, edgecolor='b',lw=4, alpha=0.3,facecolor='none')
ax.add_artist(ell)
plt.show()
所以我的问题是:
1) 有没有一种简单的方法可以提取每个点的坐标(在逻辑上不确定,至少 20 个点)?
2) 下一步似乎更容易了,因为我们可以使用pix=im.load() 和 pix[x,y] 来获取 RGB 值。这个假设我错了吗?
【问题讨论】:
-
如果有 RGB 值,什么是“黑白”图像?
-
在此处查看答案:stackoverflow.com/questions/8187996/…:某些计算椭圆的方法比其他方法更有效。
标签: python matplotlib ellipse