为图片绘制带箭头的坐标轴

本文介绍了如何使用Python的Matplotlib库为图片绘制带箭头的坐标轴,包括自定义中心点、坐标间隔、颜色、透明度和间隔值大小等功能。详细代码实现和效果展示帮助读者理解并应用到自己的项目中。
摘要由CSDN通过智能技术生成

需求说明

有时候,我们需要对一张图片进行坐标轴绘制,直观观察图片的长宽分布,并根据坐标轴中心点的选取来实现不同位置的坐标轴。
常见需求:

  • 中心点自定义
  • 坐标间隔自定义
  • 坐标轴颜色自定义
  • 透明度自定义
  • 间隔值大小自定义以及颜色自定义
  • 图片自定义

因此,本博客就以上需求进行代码实现,具体效果如下:
原图:
在这里插入图片描述
绘制坐标轴后的图:
在这里插入图片描述

实现代码

主要操作讲解都在代码中注释了,可以边看边食用

依赖的库

from matplotlib import pyplot as plt
import os

# 设置图片保存的分辨率
plt.rcParams['savefig.dpi'] = 200

主要函数

def patch_arrow(img_path, center, limits=None, interval=6, color='r', width=2, fontsize=7, fontcolor='black', alpha=0.5):
    '''
        img_path: 图片路径
        center: 中心坐标
        limits: 坐标轴间隔大小——默认为None, 表示自动求取间隔
        interval: 间隔标记的长度
        color: 坐标轴颜色
        width: 线条宽度
        fontsize: 坐标间隔的字体大小
        fontcolor: 间隔字体颜色
        alpha: 透明度--值越大,透明度越小
    '''
    # 判断输入条件是否满足基本要求
    assert os.path.isfile(img_path), \
        'please enter a truthful img_path, now it dosen`t exist.'
    assert len(center)==2, \
        'please enter center like (x, y).'
    assert alpha <= 1.0 and alpha >= 0., \
        'please enter alpha like (from 0. to 1.).'
    
    img = plt.imread(img_path)    # 读取图像
    h,w,_ = img.shape             # 获取高宽
    
    # 自动确定间隔
    auto_limit_numbers = 12  # 自动间隔点
    if limits is None:
        limits = max((h, w))
        limits = limits // auto_limit_numbers
    
    fig = plt.figure(figsize=(w/100,h/100))
    
    x, y = center[
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NULL not error

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值