当前位置: 首页 > news >正文

python使用cv2在图片上标点

在 Python 中使用 OpenCV (cv2) 在图片上标点(绘制点或小圆点)可以通过 cv2.circle() 函数实现。由于 OpenCV 没有直接提供“画点”的函数,通常可以通过绘制一个极小的圆来模拟标点效果。


方法:用 cv2.circle() 绘制小圆点

import cv2
import numpy as np# 创建黑色背景图像(或加载现有图像)
img = np.zeros((400, 400, 3), dtype=np.uint8)  # 400x400 的黑色图像# 标点参数
point_center = (200, 200)  # 圆心坐标 (x, y)
radius = 3                 # 半径(像素,通常设为1-5)
color = (0, 0, 255)        # 颜色(BGR格式,这里是红色)
thickness = -1             # 填充圆(-1表示实心)# 绘制点(小圆)
cv2.circle(img, point_center, radius, color, thickness)# 显示图像
cv2.imshow("Points on Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

参数说明

  • point_center: 点的坐标,格式为 (x, y)(OpenCV 的坐标系原点在左上角)。
  • radius: 点的半径(像素),通常设为 15,值越大点越明显。
  • color: 点的颜色,BGR 格式(例如 (255, 0, 0) 是蓝色)。
  • thickness:
    • -1:填充圆(实心点)。
    • 正数:圆边框的粗细(但通常用 -1 绘制实心点更直观)。

示例扩展:在图像上标多个点

# 定义多个点的坐标
points = [(100, 100), (300, 100), (200, 300)]for (x, y) in points:cv2.circle(img, (x, y), 3, (0, 255, 0), -1)  # 绿色实心点cv2.imshow("Multiple Points", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

注意事项

  1. 图像加载:如果是对现有图像标点,使用 cv2.imread() 加载图像:
    img = cv2.imread("path/to/image.jpg")
    
  2. 坐标范围:确保点的坐标在图像范围内(0 ≤ x < img.shape[1], 0 ≤ y < img.shape[0])。
  3. 抗锯齿:如需更平滑的点,可设置 lineType=cv2.LINE_AA
    cv2.circle(img, (x, y), 2, (255, 0, 0), -1, lineType=cv2.LINE_AA)
    

替代方案:直接修改像素值

如果需要更灵活地控制单个像素(不推荐,通常用 cv2.circle 更简单):

# 将 (x, y) 处的像素设为红色(BGR)
img[y, x] = [0, 0, 255]

但这种方法仅适用于单个像素,且无法直接设置点的半径或颜色透明度。

相关文章:

  • 二、shell脚本--变量与数据类型
  • c++_2011 NOIP 普及组 (1)
  • WebSocket分布式实现方案
  • 【LLaMA-Factory实战】1.3命令行深度操作:YAML配置与多GPU训练全解析
  • 数据库 1.0
  • wpf CommandParameter 传递MouseWheelEventArgs参数 ,用 MvvmLight 实现
  • 里氏替换原则(LSP)
  • Java 网络安全新技术:构建面向未来的防御体系
  • 强化学习--2.数学
  • 【Java学习】通配符?
  • 内存性能测试方法
  • 如何通过文理工三类AI助理赋能HI,从而,颠覆“隔行如隔山”的旧观念和“十万小时定律”的成长限制
  • 穿越数据森林与网络迷宫:树与图上动态规划实战指南
  • 【CF】Day50——Codeforces Round 960 (Div. 2) BCD
  • AVFormatContext 再分析零
  • 《告别试错式开发:TDD的精准质量锻造术》
  • Vivado FPGA 开发 | 创建工程 / 仿真 / 烧录
  • 分布式事务解决方案
  • 生成对抗网络(GAN, Generative Adversarial Network)​
  • ES6/ES11知识点
  • 大学2025丨专访清华教授沈阳:建议年轻人每天投入4小时以上与AI互动
  • 前瞻|中俄元首今年将首次面对面会晤,专家:国际变局中构建更坚韧的合作架构
  • “子宫内膜异位症”相关论文男性患者样本超六成?福建省人民医院展开调查
  • 习近平同欧洲理事会主席科斯塔、欧盟委员会主席冯德莱恩就中欧建交50周年互致贺电
  • 涉“子宫肌瘤”论文现55例男性对照观察患者?山大齐鲁医院:正在调查
  • G40迎来返程大车流,今明两日预计超13万辆车经长江隧桥进沪