python中使用OpenCV画线

冷炫風刃
发布: 2025-11-16 12:01:46
原创
430人浏览过
答案:使用cv2.line()函数可在图像上绘制直线,参数包括图像、起点、终点、颜色(BGR)和粗细。示例显示在黑色画布或加载图像上画线,需注意坐标系原点在左上角,颜色顺序为BGR,且坐标不能越界。

python中使用opencv画线

在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 cv2
import numpy as np
<h1>创建一个黑色图像(300x300 像素,3通道)</h1><p>img = np.zeros((300, 300, 3), dtype=np.uint8)</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/00968c3c2c15" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Python免费学习笔记(深入)</a>”;</p>
                    <div class="aritcle_card">
                        <a class="aritcle_card_img" href="/ai/1801">
                            <img src="https://img.php.cn/upload/ai_manual/000/000/000/175680369151191.png" alt="万兴爱画">
                        </a>
                        <div class="aritcle_card_info">
                            <a href="/ai/1801">万兴爱画</a>
                            <p>万兴爱画AI绘画生成工具</p>
                            <div class="">
                                <img src="/static/images/card_xiazai.png" alt="万兴爱画">
                                <span>52</span>
                            </div>
                        </div>
                        <a href="/ai/1801" class="aritcle_card_btn">
                            <span>查看详情</span>
                            <img src="/static/images/cardxiayige-3.png" alt="万兴爱画">
                        </a>
                    </div>
                <h1>绘制一条从 (50, 50) 到 (250, 250) 的红色直线,宽度为 3</h1><p>cv2.line(img, (50, 50), (250, 250), (0, 0, 255), 3)</p><h1>显示图像</h1><p>cv2.imshow('Line', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
登录后复制

在已有图像上画线

你也可以在读取的图片上叠加线条:

import cv2
<h1>读取图像</h1><p>img = cv2.imread('example.jpg')</p><h1>在图像上画一条蓝色横线(穿过中间)</h1><p>height, width = img.shape[:2]
cv2.line(img, (0, height//2), (width, height//2), (255, 0, 0), 2)</p><h1>保存或显示</h1><p>cv2.imshow('Image with line', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
登录后复制

注意事项

  • 坐标系原点在左上角,x 向右增加,y 向下增加
  • 颜色顺序是 BGR 而不是 RGB
  • 确保点的坐标没有超出图像范围,否则可能出错或看不到效果
  • 如果需要绘制虚线或箭头线,OpenCV 没有直接支持,需自行实现或使用其他库辅助

基本上就这些。只要掌握 cv2.line() 的用法,就能灵活地在图像中添加直线标注。

以上就是python中使用OpenCV画线的详细内容,更多请关注php中文网其它相关文章!

相关标签:
python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号