opencv図面

1.opencvドローラインcv.line()

import cv2 as cv
import numpy as np
# 创建黑色背景
img = np.zeros((512,512,3),np.uint8)
#绘制厚度为5的白色对角线
cv.line(img,(0,0),(512,512),(255,255,255),5)   #参数:图片,起点,终点,线条颜色,宽度
cv.imshow('img', img)
cv.waitKey(0)

ここに写真の説明を挿入

2.opencv描画長方形cv.rectangle()

import cv2 as cv
import numpy as np
# 创建黑色背景
img = np.zeros((512,512,3),np.uint8)
#绘制绿色矩形

cv.rectangle(img,(384,0),(510,128),(0,255,0),3)  #参数:图片,左上角,右下角,颜色,宽度
cv.imshow('img', img)
cv.waitKey(0)

ここに写真の説明を挿入

3.opencvは円を描くcv.circle()

import cv2 as cv
import numpy as np
# 创建黑色背景
img = np.zeros((512,512,3),np.uint8)
#绘制一个黄色圆形
cv.circle(img,(447,63), 50, (0,255,255), -1)  #参数:图片,圆心,半径,颜色,宽度(-1则为实心圆)
cv.imshow('img', img)
cv.waitKey(0)

ここに写真の説明を挿入

4.opencv draw ellipse cv.ellipse()

import cv2 as cv
import numpy as np
# 创建黑色背景
img = np.zeros((512,512,3),np.uint8)
#绘制椭圆
cv.ellipse(img,(256,256),(180,100),0,0,280,100,-1)
#参数:图片,中心位置(x,y),轴长度(长轴长度,短轴长度),angle是椭圆沿逆时针方向旋转的角度,startAngle和endAngle表示从主轴沿顺时针方向测量的椭圆弧的开始和结束,100为color,最后一个为宽度。
cv.imshow('img', img)
cv.waitKey(0)

ここに写真の説明を挿入

5.opencvはポリゴンを描画しますcv.polylines()

ポリゴンを描画するには、最初に頂点の座標が必要です。これらの点を組み合わせてROWS ∗ 1 ∗ 2 ROWS * 1 * 2R O W S12の配列、ここでROWS ROWSR O W Sは頂点の
あり、そのタイプはint32である必要があります。ここでは、4つの頂点を持つ小さな黄色のポリゴンを描画しました。

import cv2 as cv
import numpy as np
# 创建黑色背景
img = np.zeros((512,512,3),np.uint8)

pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv.polylines(img,[pts],True,(0,255,255))  #Ture/False 代表是否闭合

cv.imshow('img', img)
cv.waitKey(0)

ここに写真の説明を挿入

6.opencv画像にテキストを追加cv.putText()

import cv2 as cv
import numpy as np
# 创建黑色背景
img = np.zeros((512,512,3),np.uint8)
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img,'OpenCV',(10,500), font, 4,(0,0,255),2,cv.LINE_AA)
# 图片,文字,
cv.imshow('img', img)
cv.waitKey(0)

ここに写真の説明を挿入

マウス描画cv.setMouseCallback()

events = [i for i in dir(cv) if 'EVENT' in i]   #这个可以查看cv中的所有事件
import cv2 as cv
import numpy as np
# 鼠标回调函数
def draw_circle(event,x,y,flags,param):
    if event == cv.EVENT_LBUTTONDBLCLK:
        cv.circle(img,(x,y),100,(255,0,0),-1)   #设置事件  画一个圆
# 创建一个黑色的图像,一个窗口,并绑定到窗口的功能
img = np.zeros((512,512,3), np.uint8)
cv.namedWindow('image')    #新建一个显示窗口
cv.setMouseCallback('image',draw_circle)   #绑定窗口函数
while(1):
    cv.imshow('image',img)
    cv.imwrite('img1.jpg',img)
    if cv.waitKey(20) & 0xFF == 27:
        break
cv.destroyAllWindows()

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/qq_41214679/article/details/112755031