如何使用Python在OpenCV中繪製填充橢圓?


要在影像上繪製填充橢圓,我們使用cv2.ellipse()方法。此方法接受不同的引數以繪製不同型別的橢圓。

語法

cv2.ellipse(img,center,axes,angle,start_angle,end_angle,color,thickness)

引數

  • img − 要在其上繪製橢圓的輸入影像。

  • center − 橢圓的中心座標。

  • axes − 以(長軸長度,短軸長度)格式表示的元組。

  • angle − 橢圓的旋轉角度(度)。

  • start_angle − 橢圓弧的起始角度(度)。

  • end_angle − 橢圓弧的結束角度(度)。

  • color − 橢圓的顏色。

  • thickness − 橢圓邊框線的粗細(畫素)。要繪製填充橢圓,請設定“thickness = -1”。

輸出 − 返回帶有繪製橢圓/橢圓的輸入影像。

步驟

您可以按照以下步驟在輸入影像上繪製填充橢圓:

匯入所需的庫。在以下所有 Python 示例中,所需的 Python 庫是OpenCV。確保您已安裝它。

import cv2

使用cv2.imread()讀取輸入影像並將其轉換為灰度。

img = cv2.imread('window1.jpg')

定義要傳遞給cv2.ellipse()方法的引數。這些引數是img、center、axes、angle、start_angle、end_angle、color和thickness。要繪製填充橢圓,請設定“thickness=-1”。

cv2.ellipse(img,center,axes,angle,start_angle,end_angle,color,thickness)

顯示帶有繪製橢圓的影像。

cv2.imshow("Ellipse", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

讓我們來看一些示例以便更好地理解。

我們在下面的示例中使用以下影像作為輸入檔案

示例1

在下面的Python程式中,我們在輸入影像上繪製一個填充橢圓。

# import required libraries import cv2 # read the input image img = cv2.imread('window1.jpg') # define the arguments center = (368,250) axes = (150,70) # major, minor axes angle = 20 start_angle = 0 end_angle = 360 color = (0,255,255) thickness = -1 # Draw a filled ellipse on the input image cv2.ellipse(img,center,axes,angle,start_angle,end_angle,color,thickness) # display the image with drawn filled ellipse cv2.imshow("Ellipse", img) cv2.waitKey(0) cv2.destroyAllWindows()

輸出

執行上述程式碼後,它將生成以下輸出視窗。

輸出視窗顯示在輸入影像上繪製的填充橢圓。

示例2

在下面的Python 3程式中,我們在輸入影像上繪製三個不同的填充橢圓。

import cv2 img = cv2.imread('window1.jpg') img1 =cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret,thresh = cv2.threshold(img1,170,255,0) # draw different shapes of ellipses img = cv2.ellipse(img,(368,250),(100,40),30,0,180,(0,255,255),-1) img = cv2.ellipse(img,(150,170),(86,45),-30,0,360,(0,255,0),-1) img = cv2.ellipse(img,(578,250),(60,130),0,0,340,(0,0,255),-1) # display the image with drawn ellipses cv2.imshow("Ellipses", img) cv2.waitKey(0) cv2.destroyAllWindows()

輸出

執行上述程式碼後,它將生成以下輸出視窗。

輸出視窗顯示在輸入影像上繪製的不同型別的填充橢圓。綠色橢圓旋轉了“-30°”。黃色橢圓是半繪製的,旋轉了30°。紅色橢圓的短軸大於長軸,在340°結束。

更新於:2022年9月28日

3K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告