2015-12-01 28 views
0

我從OpenCV中的圖像中提取了一個圓形的面具。我用相同的代碼如下:OpenCV - 在python中創建一個橢圓形的面具

H, W = img.shape 
x, y = np.meshgrid(np.arange(W), np.arange(H))** 
d2 = (x - xc)**2 + (y - yc)**2** 
mask = d2 < r **2** 

而且,使用掩碼值來查找圓外的平均顏色。

outside = np.ma.masked_where(mask, img)** 
average_color = outside.mean()** 

我想在OpenCV Python的上述過程中從圖像中提取一個Ellipse。

謝謝。

+0

是否CV ::橢圓繪製函數也工作在Python?如果是的話,只需使用它 – Miki

+0

cv:橢圓繪製函數在Python中工作,但它只繪製橢圓,並不掩蓋它。 –

+0

繪製一個填充的橢圓:D – Miki

回答

0

繪製橢圓

要繪製橢圓,我們需要傳遞一些參數。一個參數是中心位置(x,y)。下一個參數是軸長度(長軸長度,短軸長度)。角度是逆時針方向的橢圓旋轉角度。 startAngle和endAngle表示從主軸順時針方向測量的橢圓弧的起點和終點。即給出值0和360給出完整的橢圓。有關更多詳細信息,請查看cv2.ellipse()的文檔。下面的示例在圖像的中心繪製一個半橢圓。

cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1) 

的問題,從三木的鏈接採取評論