答案:使用cv2.line()函数可在图像上绘制直线,参数包括图像、起点、终点、颜色(BGR)和粗细。示例显示在黑色画布或加载图像上画线,需注意坐标系原点在左上角,颜色顺序为BGR,且坐标不能越界。

在Python中使用OpenCV画线,主要依赖于 cv2.line() 函数。这个函数可以让你在图像上绘制一条直线,常用于目标检测、图像标注等场景。
基本语法
cv2.line(img, pt1, pt2, color, thickness) 的参数说明:
img:要绘制的图像(通常是NumPy数组,如通过 cv2.imread() 读取的)pt1:直线起点坐标,格式为 (x1, y1)pt2:直线终点坐标,格式为 (x2, y2)color:线条颜色,BGR格式,例如 (0, 255, 0) 表示绿色thickness:线条粗细,单位为像素,必须是正整数
绘制一条简单直线
下面是一个完整示例,在一张空白图像上画一条红色直线:
import cv2import numpy as np创建一个黑色图像(300x300 像素,3通道)
img = np.zeros((300, 300, 3), dtype=np.uint8)
立即学习“Python免费学习笔记(深入)”;
BJXSHOP网上开店专家查看详情BJXShop网上购物系统是一个高效、稳定、安全的电子商店销售平台,经过近三年市场的考验,在中国网购系统中属领先水平;完善的订单管理、销售统计系统;网站模版可DIY、亦可导入导出;会员、商品种类和价格均实现无限等级;管理员权限可细分;整合了多种在线支付接口;强有力搜索引擎支持... 程序更新:此版本是伴江行官方商业版程序,已经终止销售,现于免费给大家使用。比其以前的免费版功能增加了:1,整合了论坛
0
![]()
绘制一条从 (50, 50) 到 (250, 250) 的红色直线,宽度为 3
cv2.line(img, (50, 50), (250, 250), (0, 0, 255), 3)
显示图像
cv2.imshow('Line', img)cv2.waitKey(0)cv2.destroyAllWindows()
在已有图像上画线
你也可以在读取的图片上叠加线条:
import cv2读取图像
img = cv2.imread('example.jpg')
在图像上画一条蓝色横线(穿过中间)
height, width = img.shape[:2]cv2.line(img, (0, height//2), (width, height//2), (255, 0, 0), 2)
保存或显示
cv2.imshow('Image with line', img)cv2.waitKey(0)cv2.destroyAllWindows()
注意事项
坐标系原点在左上角,x 向右增加,y 向下增加颜色顺序是 BGR 而不是 RGB确保点的坐标没有超出图像范围,否则可能出错或看不到效果如果需要绘制虚线或箭头线,OpenCV 没有直接支持,需自行实现或使用其他库辅助
基本上就这些。只要掌握 cv2.line() 的用法,就能灵活地在图像中添加直线标注。
以上就是python中使用OpenCV画线的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1380369.html
微信扫一扫
支付宝扫一扫