from cocopiPython import Screen
Screen()
create(w=320,h=240,bgColor=(0,0,0))
會返回一個 Image 物件,後續的繪製顯示操作都是Image物件的操作
參數 | 值 | 描述 |
---|---|---|
w | 數字 | 畫布寬度,選填,默認為320 |
h | 數位 | 畫布的高度,選填,默認為240 |
bgColor | (r,g,b) | 顏色,選填,默認為(0,0,0) |
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(255,255,255)) # 創建畫布
while True:
canvas.show(ver) # 顯示畫布
from cocopiPython import Screen
canvas=Screen()
canvas.show(img,canvas_x=0,canvas_y=0)
參數 | 值 | 描述 |
---|---|---|
img | 圖片 | 畫布物件,必填 |
canvas_x | 數位 | 畫布起始點x軸坐標,選填,默認為0 |
canvas_y | 數位 | 畫布起始點y軸坐標,選填,默認為0 |
Image.clear()
清除image.Image 物件內部的圖像資料,但不刪除物件。
在創建的畫布上面顯示文字,Image為圖像物件
Image.draw_string(x,y,text,scale,color,thickness)
參數 | 值 | 描述 |
---|---|---|
x | 數值 | 起始點x軸坐標,必填 |
y | 數值 | 起始點y軸坐標,必填 |
text | 字串 | 要顯示的文本內容,必填 |
scale | 大於0的整數或浮點值 | 字體大小,必填 |
color | (r,g,b) | 字體顏色,必填 |
thickness | 大於0的整數 | 字體粗細,必填 |
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
while True:
ver.draw_string(150,100, "你好", scale = 1, color = (255,255,255) , thickness = 1)
ver.draw_string(120,120, "Hello World!", scale = 1, color = (255,255,255) , thickness = 1)
canvas.show(ver) # 顯示畫布
在創建的畫布上面繪製矩形,矩形分實心矩形和空心矩形
Image.draw_rectangle(x1,y1,x2,y2,color=(r,g,b),thickness=1)
參數 | 值 | 描述 |
---|---|---|
x1 | 數位 | 起點x軸坐標,必填 |
y1 | 數位 | 起點y軸坐標,必填 |
x2 | 數位 | 終點x軸坐標,必填 |
y2 | 數位 | 終點y軸坐標,必填 |
color | (r,g,b) | 矩形顏色,必填 |
thickness | 整數 | 邊框線的粗細,空心矩形為正,實心矩形為負,必填 |
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
while True:
ver.draw_rectangle(40,40, 280,200, (255,0,0),1) # 繪製空心矩形
ver.draw_rectangle(70,70, 250,170, color=(255,255,0),thickness=-1) # 繪製實心矩形
canvas.show(ver) # 顯示畫布
在圖像上繪製一條直線。
Image.draw_line(x1,y1,x2,y2,color=(r,g,b),thickness=1)
參數 | 值 | 描述 |
---|---|---|
x1 | 數位 | 起點x軸坐標,必填 |
y1 | 數位 | 起點y軸坐標,必填 |
x2 | 數位 | 終點x軸坐標,必填 |
y2 | 數位 | 終點y軸坐標,必填 |
color | tuple | 顏色,必填 |
thickness | 整數 | 粗細,必填 |
在螢幕上繪製一條從(x1,y1)到(x2, y2)的直線
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
while True:
ver.draw_line(40,40, 280,200, (255,0,0),2)
ver.draw_line(280,40, 40,200, color=(255,255,0),thickness=2)
canvas.show(ver) # 顯示畫布
在創建的畫布上面繪製圓形,圓形分實心和空心
Image.draw_circle(x, y, radius, color = (r, g, b), thickness = 1)
參數 | 值 | 描述 |
---|---|---|
x | 數位 | 起始点x轴坐标,必填 |
y | 數位 | 起始点y轴坐标,必填 |
radius | 數位 | 半径,必填 |
color | tuple | 字体颜色,必填 |
thickness | 1~3 | 線的粗細,必填 |
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
while True:
ver.draw_circle(160,120, 100, color=(255, 0, 0), thickness=1)
ver.draw_circle(160,120, 50, color=(255, 255, 0), thickness=-1)
canvas.show(ver) # 顯示畫布
Image.resize(w, h, padding = 0)
將圖像調整至(w, h)大小,padding 默認會按比例縮放填充,而不是 CV 的拉伸圖像變形。
參數 | 值 | 描述 |
---|---|---|
W | 數位 | 新圖像的寬度 |
H | 數位 | 新圖像的寬度 |
padding | 數位 | 縮放比例 |
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
canvas.show(ver)
time.sleep(3)
ver = ver.resize(220, 220, padding = 0)
while True:
canvas.show(ver)
裁剪圖片返回一張全新的圖片,返回Image 對象
Image.crop(x, y, w, h)
參數 | 值 | 描述 |
---|---|---|
x | 數位 | 裁剪的起點的x軸坐標 |
y | 數位 | 裁剪的起點的y軸坐標 |
w | 數位 | 裁剪的寬度 |
h | 數位 | 裁剪的高度 |
from cocopiPython import Screen
canvas=Screen() # 屏幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 创建画布
canvas.show(ver)
time.sleep(3)
ver = ver.crop(0,0,200,200)
while True:
canvas.show(ver)
旋轉圖像到固定的角度,保持圖像的尺寸不變,返回 Image 物件,rotate為旋轉角度,正數時表示逆時針旋轉,負數時表示順時針旋轉
Image.rotate(rotate = 1)
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
canvas.show(ver)
time.sleep(3)
ver = ver.rotate(-50)
while True:
canvas.show(ver)
沿著 x 或 y 軸進行翻轉圖像,保持圖像的尺寸不變,flip為1則水準翻轉,flip為0則垂直翻轉,返回一個Image物件
Image.flip(flip = 1)
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
while True:
ver.clear()
ver.draw_rectangle(80,80, 150,150, color=(255,0,0), thickness=1)
ver.draw_string(100,100, "hello", scale = 1, color = (255,0,0) , thickness = 1)
canvas.show(ver)
time.sleep(3)
ver = ver.flip(0) # 垂直
canvas.show(ver)
time.sleep(3)
ver = ver.flip(1) # 水準
canvas.show(ver)
time.sleep(3)
將Image 對象保存成二進位檔案到本地
Image.save("./tmp.jpg")
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
while True:
ver.draw_string(150,100, "你好", scale = 1, color = (255,255,255) , thickness = 1)
ver.draw_string(120,120, "Hello World!", scale = 1, color = (255,255,255) , thickness = 1)
ver.save('/root/user/img/test.jpg')
time.sleep(1)
canvas.show(ver) # 顯示畫布
將傳遞的img圖像畫在image.Image() 物件內部的圖像上, img只能傳遞image.Image()物件的圖像。會返回 Image 對象
Image.draw_image(img,0,0)
參數 | 值 | 描述 |
---|---|---|
img | 圖片 | 打開的Image物件 |
x | 數位 | 起始點x軸坐標 |
y | 數位 | 起始點y軸坐標 |
from cocopiPython import Screen
canvas=Screen() # 螢幕初始化
ver = canvas.create(bgColor=(20,20,100)) # 創建畫布
while True:
ver.draw_image((image.open("/root/user/img/test.jpg")),0,0) # 繪製圖像
canvas.show(ver)
from cocopiPython import cameraPython
cameraPython()
capture()
同樣會返回一個 Image 物件,可以進行繪製操作。
from cocopiPython import cameraPython,Screen,WebPageTransmission
camera = cameraPython() # 攝像頭初始化
canvas = Screen() # 畫布初始化
while True:
img = camera.capture() # 獲取攝像頭圖像
img.draw_string(120,120, "Hello World!", scale = 1, color = (255,255,255) , thickness = 1)
canvas.show(img) # 畫布顯示圖像
from cocopiPython import ImageTransmission
ImageTransmission()
show(image)
參數 | 值 | 描述 |
---|---|---|
image | 圖片 | 打開的Image物件 |
from cocopiPython import cameraPython,Screen,ImageTransmission
camera = cameraPython() # 攝像頭初始化
canvas = Screen()
imageTransmission = ImageTransmission() # 畫布圖像傳輸
while True:
img = camera.capture() # 獲取攝像頭圖像
imageTransmission.show(img) # 圖傳至電腦
canvas.show(img) #螢幕顯示
import cocopiPython
cocopiPython.lane_tracking(img,region1,region2)
參數 | 值 | 描述 |
---|---|---|
img | 圖片 | 打開的Image物件,必填 |
region1 | 元組,(x,y,w,h) | 左側檢測框的位置與大小,必填 |
region2 | 元組,(x,y,w,h) | 右側檢測框的位置與大小,必填 |
import cocopiPython
from cocopiPython import cameraPython,Screen
camera = cameraPython() # 相機初始化
screen = Screen() # 螢幕初始化
while True:
img = camera.capture() # 獲取攝像頭圖像
cocopiPython.lane_tracking(img,(10, 190,140, 20),(160, 190,140, 20))
screen.show(img) # 畫布顯示圖像