You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何大致确定主对角线点坐标及自动绘制白点最密集的1像素连续对角线

1. 大致确定主对角线上点的坐标
  • 针对矩形图像(分辨率为width × height,左上角为坐标原点,x轴向右、y轴向下):
    主对角线连接左上角(0, 0)与右下角(width-1, height-1),线上点满足y = (height / width) * x。遍历x从0到width-1,计算对应y值并取整,就能得到主对角线上的大致整数坐标点;也可反向遍历y值计算x。
  • 针对正方形图像:
    主对角线上的点直接满足y = x,坐标为(x, x),其中x的取值范围是0到边长-1。
2. 自动绘制白点最密集对角线的思路

核心步骤

  • 提取白点坐标
    遍历图像所有像素,记录所有白点(假设像素值为255,黑点为0)的(x, y)坐标,形成坐标集合。
  • 统计对角线白点密度
    图像中对角线可通过两种表达式区分:
    • 斜率为1的对角线:用x - y = k标识,每个k对应唯一一条线。遍历所有白点坐标,计算每个点的k值,用字典统计每个k对应的白点数量;
    • 斜率为-1的对角线:用x + y = k标识,同样统计每个k对应的白点数量;
      找出统计数量最大的k值,对应的就是白点最密集的目标对角线。
  • 生成1像素连续线条
    根据选中的k值,确定对角线的有效坐标范围:
    • 若为斜率1的线(x - y = k):
      x的取值范围为max(0, k)到min(width-1, height-1 + k),对每个x计算y = x - k,确保y在0 ≤ y ≤ height-1区间内,依次绘制这些坐标点,形成连续1像素线条;
    • 若为斜率-1的线(x + y = k):
      x的取值范围为max(0, k - (height-1))到min(width-1, k),对每个x计算y = k - x,确保y合法,依次绘制即可。
  • 优化细节
    若存在多个k值对应最高密度,可优先选择靠近图像中心的对角线;计算坐标时直接按范围遍历,无需去重,自然形成连续线条。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 03:46:03