Python下opencv使用筆記(二)(簡單幾何映像繪製)

來源:互聯網
上載者:User

標籤:python   opencv   幾何映像   

簡單幾何映像一般包括點、直線、矩陣、圓、橢圓、多邊形等等。首先認識一下opencv對像素點的定義。映像的一個像素點有1或者3個值,對灰階映像有一個灰階值,對彩色映像有3個值組成一個像素值,他們表現出不同的顏色。
那麼有了點才能組成各種多邊形。

(一)首先繪製直線

函數為:cv2.line(img,Point pt1,Point pt2,color,thickness=1,line_type=8 shift=0)
有值的代表有預設值,不用給也行。可以看到這個函數主要接受參數為兩個點的座標,線的顏色(彩色映像的話顏色就是一個1*3的數組)如下:

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512),np.uint8)#產生一個空灰階映像cv2.line(img,(0,0),(511,511),255,5)plt.imshow(img,‘gray‘)

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.line(img,(0,0),(511,511),(155,155,155),5)plt.imshow(img,‘brg‘)

(二)繪製矩形

函數:cv2.rectangle(img,(380,0),(511,111),(255,0,0),3),需要確定的就是矩形的兩個點(左上方與右下角),顏色,線的類型(不設定就預設)。
比如:

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.rectangle(img,(20,20),(411,411),(55,255,155),5)plt.imshow(img,‘brg‘)

(三)繪製圓形

繪製圓形也很簡單,只需要確定圓心與半徑,函數:
cv2.circle (img,(380,0),63,(255,0,0),3),比如:

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.circle(img,(200,200),50,(55,255,155),1)#修改最後一個參數plt.imshow(img,‘brg‘)

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.circle(img,(200,200),50,(55,255,155),8)#修改最後一個參數plt.imshow(img,‘brg‘)

(四)繪製橢圓

橢圓比較複雜,涉及到長軸短軸,橢圓圓心,旋轉角度等等,看看opencv參考手冊上的介紹吧:

映像化如下:

一個例子如下:

import cv2import numpy as npfrom matplotlib import pyplot as pltimg = np.zeros((512,512,3),np.uint8)#產生一個空彩色映像cv2.ellipse(img,(256,256),(150,100),0,0,180,250,-1)#注意最後一個參數-1,表示對映像進行填充,預設是不填充的,如果去掉,只有橢圓輪廓了plt.imshow(img,‘brg‘)

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Python下opencv使用筆記(二)(簡單幾何映像繪製)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.