生活随笔
收集整理的這篇文章主要介紹了
04-图像的形状绘制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、線段繪制
cv2.line(dst,(100,100),(400,400),(0,0,255),2,cv2.LINE_AA) 參數一:目標圖片數據 參數二:當前線段繪制的起始位置(也就是兩點確定一條直線) 參數三:當前線段繪制的終止位置(也就是兩點確定一條直線) 參數四:當前線段顏色(B,G,R) 參數五:當前線段的寬度 參數六:設置當前線段的類型
import cv2
import numpy
as np
newImageInfo
= ( 500 , 500 , 3 )
dst
= np
. zeros
( newImageInfo
, np
. uint8
)
cv2
. line
( dst
, ( 100 , 100 ) , ( 400 , 400 ) , ( 0 , 0 , 255 ) )
cv2
. line
( dst
, ( 100 , 200 ) , ( 400 , 200 ) , ( 0 , 255 , 0 ) , 5 )
cv2
. line
( dst
, ( 100 , 300 ) , ( 400 , 300 ) , ( 255 , 0 , 0 ) , 20 , cv2
. LINE_AA
)
cv2
. imshow
( 'dst' , dst
)
cv2
. waitKey
( 0 )
效果圖如下:
二、矩形、圓形以及任意多邊形的繪制
cv2.rectangle(dst,(50,100),(200,300),(255,0,0),-1) 參數一:當前的目標圖片 參數二:矩形左上角的起始點 參數三:矩形右下角位置 參數四:矩形顏色 參數五:是否填充;-1需要填充;其他正值為矩形邊緣寬度
cv2.circle(dst,(250,250),(50),(0,255,0),2) 參數一:當前的目標圖片 參數二:圓心的位置 參數三:圓的半徑 參數四:繪制圓的線條顏色 參數五:是否填充;若為-1表示填充;若為其他正值表面線條寬度
cv2.ellipse(dst,(256,256),(150,100),0,0,180,(255,255,0),-1) 參數一:當前的目標圖片 參數二:橢圓形的圓形 參數三:軸的長度,因為橢圓有倆軸,所以有兩個值 參數四:偏轉角度 參數五:圓弧的起始角度 參數六:圓弧的終止角度 參數七:線條顏色 參數八:是否填充;若為-1表示填充;若為其他正值表面線條寬度
import cv2
import numpy
as np
newImageInfo
= ( 500 , 500 , 3 )
dst
= np
. zeros
( newImageInfo
, np
. uint8
)
cv2
. rectangle
( dst
, ( 50 , 100 ) , ( 200 , 300 ) , ( 255 , 0 , 0 ) , - 1 )
cv2
. circle
( dst
, ( 250 , 250 ) , ( 50 ) , ( 0 , 255 , 0 ) , 2 )
cv2
. ellipse
( dst
, ( 256 , 256 ) , ( 150 , 100 ) , 0 , 0 , 180 , ( 255 , 255 , 0 ) , - 1 )
points
= np
. array
( [ [ 150 , 50 ] , [ 140 , 140 ] , [ 200 , 170 ] , [ 250 , 250 ] , [ 150 , 50 ] ] , np
. int32
)
points
= points
. reshape
( ( - 1 , 1 , 2 ) )
cv2
. polylines
( dst
, [ points
] , True , ( 0 , 255 , 255 ) ) cv2
. imshow
( 'dst' , dst
)
cv2
. waitKey
( 0 )
效果圖如下:
三、文字圖片繪制
cv2.rectangle(img,(20,20),(250,250),(0,255,0),3) 參數一:原圖像 參數二:方框的起始位置 參數三:方框的終止位置 參數四:方框顏色 參數五:是否填充;若為-1表示填充;若為其他正值表面線條寬度
cv2.putText(img,'this is a cat',(45,45),font,1,(0,0,255),2,cv2.LINE_AA) 參數一:目標圖片 參數二:文字的內容 參數三:寫入的坐標 參數四:字體類型 參數五:字體大小 參數六:字體顏色 參數七:字體粗細 參數八:字體線條類型
import cv2
import numpy
as np
img
= cv2
. imread
( 'E:\Jupyter_workspace\study\data/cat.png' , 1 )
font
= cv2
. FONT_HERSHEY_SIMPLEX
cv2
. rectangle
( img
, ( 20 , 20 ) , ( 250 , 250 ) , ( 0 , 255 , 0 ) , 3 )
cv2
. putText
( img
, 'this is a cat' , ( 45 , 45 ) , font
, 1 , ( 0 , 0 , 255 ) , 2 , cv2
. LINE_AA
)
cv2
. imshow
( 'src' , img
)
cv2
. waitKey
( 0 )
效果圖如下: cv2.resize(img,(width,height)) 參數一:所選取的照片 參數二:將該照片的寬高
import cv2
img
= cv2
. imread
( 'E:\Jupyter_workspace\study\data/cat.png' , 1 )
height
= int ( img
. shape
[ 0 ] * 0.2 )
width
= int ( img
. shape
[ 1 ] * 0.2 )
imgResize
= cv2
. resize
( img
, ( width
, height
) )
for i
in range ( 0 , height
) : for j
in range ( 0 , width
) : img
[ i
+ 10 , j
+ 20 ] = imgResize
[ i
, j
]
cv2
. imshow
( 'src' , img
)
cv2
. waitKey
( 0 )
效果圖如下:
總結
以上是生活随笔 為你收集整理的04-图像的形状绘制 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。