You need to enable JavaScript to run this app. 如何使用Python版OpenCV为图像添加x轴与y轴坐标刻度
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python版OpenCV为图像添加x轴与y轴坐标刻度

实现方法说明

OpenCV本身没有内置和matplotlib等效的自动坐标刻度生成接口,但可以通过组合基础绘图API手动实现该功能,核心逻辑和实现步骤如下:

核心实现步骤

  • 第一步:确定坐标系参数
    首先定义你需要的原点坐标、x/y轴的总长度、刻度间隔、刻度线长度、字体大小这些基础参数,比如你可以设置原点在图像左下角(50, img.shape[0]-50),x轴向右延伸、y轴向上延伸。
  • 第二步:绘制坐标轴主体
    用cv2.line()接口绘制x轴和y轴的主线条,设置你需要的线条颜色、粗细。
  • 第三步:自动计算并绘制刻度
    按照你设定的刻度间隔,循环计算每个刻度的坐标位置:
    • x轴刻度:每次向右移动固定像素/实际距离对应的像素值,画短竖线作为刻度标记,再用cv2.putText()标注对应的距离数值
    • y轴刻度:每次向上移动固定像素/实际距离对应的像素值,画短横线作为刻度标记,同样用cv2.putText()标注数值
  • 第四步:边界适配
    计算刻度位置时注意不要超出图像边界,也可以根据图像尺寸自动适配刻度间隔,避免刻度过密或者过疏。

示例代码片段

import cv2
import numpy as np

# 读取待处理图像
img = cv2.imread("test.png")
h, w = img.shape[:2]

# 定义坐标系参数
origin = (50, h - 50)  # 原点坐标(x,y),OpenCV坐标原点默认在左上角,y轴向下为正,这里做了反向适配
x_axis_length = w - 100
y_axis_length = h - 100
scale_interval = 50  # 每隔50像素一个刻度,可按实际距离换算对应像素值替换
scale_line_len = 8  # 刻度线长度
font = cv2.FONT_HERSHEY_SIMPLEX
font_scale = 0.5
color = (0, 0, 255)  # 坐标轴颜色,此处为红色可自定义
thickness = 1

# 绘制x轴
cv2.line(img, origin, (origin[0] + x_axis_length, origin[1]), color, thickness)
# 绘制x轴刻度
for i in range(0, x_axis_length + 1, scale_interval):
    x = origin[0] + i
    # 画刻度线
    cv2.line(img, (x, origin[1]), (x, origin[1] + scale_line_len), color, thickness)
    # 标注刻度值,如需标注实际距离可替换i为换算后的实际距离数值
    cv2.putText(img, str(i), (x - 10, origin[1] + scale_line_len + 15), font, font_scale, color, thickness)

# 绘制y轴
cv2.line(img, origin, (origin[0], origin[1] - y_axis_length), color, thickness)
# 绘制y轴刻度
for i in range(0, y_axis_length + 1, scale_interval):
    y = origin[1] - i
    # 画刻度线
    cv2.line(img, (origin[0], y), (origin[0] - scale_line_len, y), color, thickness)
    # 标注刻度值
    cv2.putText(img, str(i), (origin[0] - scale_line_len - 25, y + 5), font, font_scale, color, thickness)

# 保存结果
cv2.imwrite("result.png", img)

注意:OpenCV默认的图像坐标系原点在左上角,y轴向下为正,如果你的需求是y轴向上为正,就需要像示例里一样做坐标转换,把数值和像素位置做反向映射。
如果需要更复杂的刻度风格(比如次刻度、不同颜色区分),只要在上述逻辑基础上拓展即可,不需要依赖第三方库的封装接口。

内容的提问来源于stack exchange,提问作者user0193

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 19:30:05