opencv学习笔记(3)

绘制直线

line(img, 开始点,结束点,颜色,线宽,线型(默认为8))

python 复制代码
import cv2
import numpy as np

img = np.zeros((640, 480, 3), np.uint8)

#画线,坐标点为(x, y)
cv2.line(img, (10, 20), (10, 220), (0, 0, 255), 5, 4)

# 16 线条更平滑
cv2.line(img, (90, 100), (380, 480), (0, 0, 255), 5, 16)

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

绘制矩形

rectangle(img,开始点,结束点, 颜色, 线框)

python 复制代码
import cv2
import numpy as np

img = np.zeros((640, 480, 3), np.uint8)

#画矩形
cv2.rectangle(img, (10, 10), (210, 210), (0, 255, 0), -1)

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

## 绘制椭圆

ellipse(img, 中心点, 长宽的一半, 角度, 从哪个角度开始, 从哪个角度结束, ...)

python 复制代码
import cv2
import numpy as np

img = np.zeros((640, 480, 3), np.uint8)

# 画椭圆
# 度是按顺时针计算的
# 0度是从左侧开始的
cv2.ellipse(img, (320, 240), (100, 50), 0, 0, 360, (0, 0, 255), -1)

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

绘制多边形

fillPoly(img, 点集, 是否闭环, 颜色, ...)

python 复制代码
import cv2
import numpy as np

img = np.zeros((640, 480, 3), np.uint8)

#画多边形
pts = np.array([(300, 10), (150, 100), (450, 100)], np.int32)

cv2.polylines(img, [pts], True, (0, 0, 255))

#填充多边形
cv2.fillPoly(img, [pts], (255, 255, 255))

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

绘制文本

putText(img, 字符串, 起始点, 字体, 字号, ...)

python 复制代码
import cv2
import numpy as np

img = np.zeros((640, 480, 3), np.uint8)

#绘制文本
cv2.putText(img, "Hello Computer!", (100, 400), cv2.FONT_HERSHEY_TRIPLEX, 1, (255,0,0))

cv2.imshow('img', img)
cv2.waitKey(0)
相关推荐
心中有国也有家16 分钟前
鸿蒙Flutter开发环境从零搭建教程(Windows/macOS双平台·避坑版)
学习·flutter·华为·harmonyos
十月的皮皮2 小时前
C语言学习笔记20260706-栈的压入、弹出序列验证
c语言·笔记·学习
心中有国也有家3 小时前
Flutter 鸿蒙适配第一步:从 hive 迁移到 hive\_ce
hive·学习·flutter·华为·harmonyos
渣渣灰飞3 小时前
MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第二节:WHERE 条件查询
sql·学习·mysql
维他奶糖613 小时前
基于 DrissionPage 实现小红书搜索笔记批量采集
笔记
心中有国也有家3 小时前
AtomGit Flutter 鸿蒙客户端:E-Brufen 架构设计
学习·flutter·华为·harmonyos
hssfscv4 小时前
QT的学习笔记4——QMainWindow、资源文件以及主要控件的介绍
笔记·qt·学习
克里斯蒂亚诺更新4 小时前
电脑关闭密码的操作
笔记
小小的代码里面挖呀挖呀挖4 小时前
杰理蓝牙耳机开发--LE Audio与游戏耳机应用
笔记·单片机·物联网·学习
xiaomici5 小时前
SAC中的Dataset/Model/Planning model
笔记