日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python OpenCV 绘图函数

發布時間:2025/3/21 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python OpenCV 绘图函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenCV可以用來繪制不同的集合圖形,包括直線,矩形,圓,橢圓,多邊形以及在圖片上添加文字。用到的繪圖函數包括?cv2.line(),cv2.circle(),cv2.rectangle() ,cv2.putText() 等等。

這些繪圖函數需要設置參數如:

? img:你想要繪制圖形的那幅圖像。
? color:形狀的顏色。以 RGB 為例,需要傳入一個元組,例如: (255,0,0 )代表藍色。對于灰度圖只需要傳入灰度值。
? thickness:線條的粗細。如果給一個閉合圖形設置為 -1,那么這個圖形就會被填充。默認值是 1.
? linetype:線條的類型,8 連接,抗鋸齒等。默認情況是 8 連接。cv2.LINE_AA為抗鋸齒,這樣看起來會非常平滑。

1.畫線
  要畫一條線,你只需要告訴函數這條線的起點和終點。我們下面會畫一條從左上方到右下角的藍色線段。

import numpy as np import cv2img = np.zeros((512,512,3), np.uint8) # 創建一塊黑色背景 # np.zeros()函數返回一個給定形狀和類型的用0填充的數組 # np.zeros((512,512,3) 構造了一個512*512的Numpy數組,同時分配了三個顏色空間cv2.line(img,(0,0),(511,511),(0,255,0),5) # 指定兩個端點畫一條綠色的線且為5個像素

2. 畫矩形

  要畫一個矩形,你需要告訴函數的左上角頂點和右下角頂點的坐標。這次我們會在圖像的右上角畫一個藍色的矩形。

cv2.rectangle(img,(384,0),(510,128),(255,0,0),3)

3.畫圓
  要畫圓的話,只需要指定圓形的中心點坐標和半徑大小。我們在上面的矩形中畫一個圓。

cv2.circle(img,(447,63), 63, (0,0,255), -1) #-1表示填充顏色

4. 畫橢圓
  畫橢圓比較復雜,我們要多輸入幾個參數。一個參數是中心點的位置坐標。
  下一個參數是長軸和短軸的長度。橢圓沿逆時針方向旋轉的角度。橢圓弧演順時針方向起始的角度和結束角度,如果是 0 到360,就是整個橢圓。下面的例子是在圖片的中心繪制一個橢圓。

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

繪制半個橢圓

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

5.畫多邊形
  畫多邊形,需要指點每個頂點的坐標。用這些點的坐標構建一個大小等于行數 X1X2 的數組,行數就是點的數目。這個數組的數據類型必須為 int32。這里畫一個白色的具有四個頂點的多邊形。

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32) pts = pts.reshape((-1,1,2)) cv2.polylines(img,[pts],True,(0,255,255))

5. 在圖片上添加文字

  要在圖片上繪制文字,你需要設置下列參數:
  ? 你要繪制的文字
  ??你要繪制的位置
  ? 字體類型(通過查看 cv2.putText() 的文檔找到支持的字體)
  ??字體的大小
  ??文字的一般屬性如顏色,粗細,線條的類型等。為了更好看一點推薦使用linetype=cv2.LINE_AA。
在圖像上繪制紅色的 OpenCV。

font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)

import numpy as np import cv2img = np.zeros((512,512,3), np.uint8) #畫直線 cv2.line(img,(0,0),(511,511),(255,0,0),5) #畫矩形 cv2.rectangle(img,(384,0),(510,128),(0,255,0),3) #畫圓 cv2.circle(img,(447,63), 63, (0,0,255), -1) #畫橢圓 cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1) #畫多邊形 pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32) pts = pts.reshape((-1,1,2)) cv2.polylines(img,[pts],True,(255,255,255)) #在圖片上添加文字 font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img,'OpenCV',(10,500), font, 4,(0,0,255),2,cv2.LINE_AA) #結果呈現 picture = 'example' cv2.namedWindow(picture) cv2.imshow(picture, img) cv2.waitKey(0) cv2.destroyWindow(picture)

總結

以上是生活随笔為你收集整理的python OpenCV 绘图函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。