1. 程式人生 > 程式設計 >python opencv如何實現圖片繪製

python opencv如何實現圖片繪製

這篇文章主要介紹了python opencv如何實現圖片繪製,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

點和圓 :

circle(img,center,radius,color,thickness=None,lineType=None,shift=None)。各引數意義及作用如下。

  • img:待畫圓所在的影象。
  • center:待畫圓的圓心座標。
  • radius:待畫圓的半徑。
  • color:待畫圓的邊框顏色,顏色格式為bgr格式。就是通道值
  • thickness:待畫圓的邊框寬度,正數表示邊框寬度,負數表示填充圓形。
  • lineType:圓邊框線型,可為 0,4,8
  • shift:圓心座標和半徑的小數點位數

畫點實際上就是畫半徑很小的實心圓

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.circle(img,(60,60),30,(0,255),-1) #畫一個紅色實心圓
img1=cv2.circle(img1,(200,200),50,(255,0),3) #畫一個藍邊框的圓
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

注意:在img和img1上同時畫

效果圖:

畫線 :

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.line(img,(10,10),255,3) #直線
#引數2 起點座標;引數3 終點座標;引數4 顏色;引數5 線條寬度

cv2.imwrite("linsi.jpg",img1)

cv2.waitKey(0)

畫矩形:

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.rectangle(img,(30,40),2) #畫矩形
#引數2 左上角座標;引數3 右下角座標;引數4 顏色;引數5 線條寬度
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

橢圓:

import cv2
img = cv2.imread("500x400.jpg")
img1=cv2.ellipse(img,(256,256),(100,50),180,-1) # 畫橢圓
#引數2 橢圓中心
#第三個引數 橢圓的長短軸的長度
#第四個引數 整個橢圓的偏轉角度(順時針)
#第五個引數 圓弧起始角的角度
#第六個引數 圓弧終結角的角度
# 圓弧角度->x軸方向為0,逆時針方向為正
#第七個引數 color 線條的顏色
#第八個引數  線條的粗細程度,如果是負數表示填充
#第九個引數  line_type 線條的型別 ???

cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

多邊形:

畫多邊形——需要指定每個頂點的座標

import cv2
import numpy as np

img = cv2.imread("500x400.jpg")

points = np.array([[150,50],[140,140],[200,170],[250,250],[150,50]],np.int32) #多邊形各頂點座標
#資料型別必須是np.int32
points = points.reshape(-1,1,2)

img1=cv2.polylines(img,[points],True,3) #畫多邊形
#引數2 各頂點
#引數3 True表示封閉,False表示不封閉
#引數4 顏色
#引數5 線條粗細

cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

新增文字 :

import cv2
import numpy as np
img = cv2.imread("500x400.jpg")
font=cv2.FONT_HERSHEY_SIMPLEX
font=cv2.FONT_HERSHEY_DUPLEX
img1=cv2.putText(img,'wo is liming',(80,90),font,2,3) #畫文字
#引數3 位置
#引數5 字型大小
#引數7 線型
cv2.imwrite("linsi.jpg",img1)
cv2.waitKey(0)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。