Pycharm open CV learning 5

Eddie Chen
6 min readJun 1, 2021

--

How to make text and drawing by code

建立一個視窗(底板)

import cv2
import numpy as np
img = np.zeros((512,512))
cv2.imshow("img",img)
cv2.waitKey(0)

將視窗改成藍色底

import cv2
import numpy as np
img = np.zeros((500,500,3),np.uint8)
print(img)
img[:] = 250,200,90 #you can change color HERE RGB
cv2.imshow("img",img)
cv2.waitKey(0)

裁減片段區塊

只需修改這一行

img[200:300,100:300] = 250,200,90 #you can change color
區塊裁減
img[:] = 250,200,90 #you can change color
全視窗

如何畫出直線在視窗上

import cv2
import numpy as np
img = np.zeros((500,500,3),np.uint8)

cv2.line(img,(0,0),(400,400),(0,0,255),3)


cv2.imshow("img",img)
cv2.waitKey(0)
cv2.line(img,(0,0),(400,400),(0,0,255),3)
畫線指令 線起始點 終點 顏色 粗細
import cv2
import numpy as np
img = np.zeros((500,500,3),np.uint8)

cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,0,255),50)


cv2.imshow("img",img)
cv2.waitKey(0)
cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,0,255),50)
由左到右畫橫線

如何化方形

import cv2
import numpy as np
img = np.zeros((500,500,3),np.uint8)

cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,0,255),5)
cv2.rectangle(img,(0,0),(100,100),(0,0,255),5)


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

如何填滿方塊

import cv2
import numpy as np
img = np.zeros((500,500,3),np.uint8)

cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,0,255),5)
cv2.rectangle(img,(0,0),(100,100),(0,0,255),cv2.FILLED)


cv2.imshow("img",img)
cv2.waitKey(0)
cv2.rectangle(img,(0,0),(100,100),(0,0,255),cv2.FILLED)
修改線框改為填滿指令

新增一個圓形

import cv2
import numpy as np
img = np.zeros((500,500,3),np.uint8)

cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,0,255),5)

cv2.circle(img,(400,50),50,(255,255,0),5)


cv2.imshow("img",img)
cv2.waitKey(0)
cv2.circle(img,(400,50),50,(255,255,0),5)
Y X 直徑 color 線寬

How to make text on the window block

import cv2
import numpy as np
img = np.zeros((500,500,3),np.uint8)

cv2.line(img,(0,0),(img.shape[1],img.shape[0]),(0,0,255),5)


cv2.putText(img,"Kevin",(100,100),cv2.FONT_HERSHEY_COMPLEX,3,(0,150,200),3)


cv2.imshow("img",img)
cv2.waitKey(0)
cv2.putText(img,"Kevin",(100,100),cv2.FONT_HERSHEY_COMPLEX,3,(0,150,200),3)                                            大小            寬度

--

--

No responses yet