计算图像地图上多边形区域的宽度和高度

2023-12-04

是否可以使用坐标计算图像地图上每个多边形区域的宽度和高度?

我有一个图像并使用具有多个不同大小的多边形的图像贴图。我需要找到每一个的中心点。


要找到中心点,您需要找到多边形的最小和最大X和Y坐标,然后取每个多边形的中点以获得平均中心点。这是一个可以对图像映射区域数组执行此操作的函数。如果您需要多个区域的中心点(如地理图像地图中的典型情况),该函数接受一个数组而不仅仅是一个区域。

这里的工作示例将在所选美国州的中心点上画一个圆:http://jsfiddle.net/jamietre/6ABfa/

/* Calculate the centermost point of an array of areas 
   @param {element[]}   areas     an array of area elements
   @returns {object}              {x,y} coords of the center point
 */

function calculateCenterPoint(areas) {
    var maxX = 0,
        minX = Infinity,
        maxY = 0,
        minY = Infinity;

   // note: using Array.prototype.forEach instead of calling forEach directly 
   // on "areas" so it will work with array-like objects, e.g. jQuery

    Array.prototype.forEach.call(areas, function (e) {
        var i = 0,
            coords = e.getAttribute('coords').split(',');

        while (i < coords.length) {
            var x = parseInt(coords[i++],10),
                y = parseInt(coords[i++],10);

            if (x < minX) minX = x;
            else if (x > maxX) maxX = x;

            if (y < minY) minY = y;
            else if (y > maxY) maxY = y;
        }
    });

    return {
        x: minX + (maxX - minX) / 2,
        y: minY + (maxY - minY) / 2
    };
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算图像地图上多边形区域的宽度和高度 的相关文章

随机推荐

  • 及时只显示一种颜色

    我正在开发油漆应用程序 问题是当我选择颜色和油漆 然后选择不同的颜色时 整个油漆颜色会更改为新颜色 任何人都可以告诉我为什么会发生这种情况以及如何解决这个问题吗 以及如何添加橡皮擦 imageview DrawView在这里 public
  • Switch 语句输出字符串错误

    我遇到了这个基本问题 其中 switch case 与字符串一起使用 Break 语句不在 case 之间使用 但为什么即使它与 case 字符串不匹配 它也会适用于所有 case 所以我很想知道为什么输出是3而不是1 public sta
  • OpenCV 中的形态重建

    在 OpenCV 中处理带有文本的图像时 我的打开操作不会产生正确的输出数据 该问题与本文中描述的问题非常相似 http www cpe eng cmu ac th wp content uploads CPE752 06part2 pdf
  • roadoi 中的 UseMethod("http_error") 错误

    我正在尝试roadoi从 R 访问 Unpaywall 但无论我尝试查询什么 我都会得到以下响应 UseMethod http error 中的错误 没有适用的方法 http error 应用于类 c simpleError error 健
  • C++ 函数地址在附加探查器库中的显示与主题代码库中的显示不同

    我用 C 编写了一个仪器 通过挂钩进入和退出调用来记录进入和退出函数 它按照预期与遗留代码库一起工作 然而 在挂钩我从 git 下载的项目时 我保存在主题代码的 extern 变量中的函数地址 它们在探查器库中的结果是不同的 这扰乱了挂钩函
  • 选择特定组件时,Inno Setup 禁用组件选择

    我希望能够根据所选的特定组件禁用对组件的选择 我无法通过组件嵌套来做到这一点 因为组件需要自行选择 但如果选择了另一个特定组件则不能选择 目前我使用NextButtonClick显示消息的事件 if IsComponentSelected
  • Html 复选框:更改颜色

    在开发 NET 应用程序期间 我遇到了一个问题 我想做的是改变一个简单的 Html 复选框的背景颜色 所以我使用了以下 HTML 代码
  • CSS 过渡自动高度不起作用[重复]

    这个问题在这里已经有答案了 我有一个网站 我决定用纯 CSS 片段替换基于 jquery 的切换框 当我使用固定高度值进行过渡 CSS 的最后几行 时 效果很好 但是使用auto值 缺少动画 只有高度变化才有效果 有没有办法将其与自动值一起
  • 我可以在 PHP 中使用 PDO 创建数据库吗?

    我想创建一个使用 PDO 与 MySQL 交互的类 我可以使用 PDO 创建新的 MySQL 表吗 是的你可以 The dsnPart 是 PDO 构造函数的第一个参数 不必有数据库名称 你可以简单地使用mysql host localho
  • `plot.密度` 将“xlim”扩展到我的数据范围之外。为什么以及如何解决它?

    使用下面的代码 我试图获取不同分布的密度图 dens lt apply df c 7 9 12 14 16 18 2 density plot NA xlim range sapply dens x ylim range sapply de
  • 为什么属性在编译期间需要显式键入?

    使用属性语法的编译要求在编译时知道接收器的类型 我可能不明白某些东西 但考虑到 Objective C 是一种动态语言 这似乎是一个损坏或不完整的编译器实现 属性 comment 定义为 property nonatomic retain
  • 在 Javascript 中捕获按键(Google 文档)

    我正在尝试编写一个小greasemonkey 脚本 书签 你有什么Google 文档 我想添加的功能需要一个 keypress keyup keydown 事件处理程序 这三个之一 不幸的是 Javascript 不是我的强项 而且我似乎无
  • 并发块如何运行单个 GPU 流式多处理器?

    我正在研究CUDA编程结构 学习后的感受是 创建块和线程后 每个块都会分配给每个流式多处理器 例如 我使用的是 GForce 560Ti 它有 14 个流式多处理器 因此一次可以将 14 个块分配给所有流式多处理器 但当我浏览一些在线材料时
  • 使用.NET读取Delphi TClientDataset文件

    我需要使用 NET 代码读取使用 Delphi 中的 TClientDataset 类编写的文件 提到的解决方案here对我不起作用 一个不在Windows平台上运行的dotNet程序 对我来说意味着您正在部署 Mono 应用程序 可能在
  • Android:如何从活动堆栈中完全删除活动?

    我有两个活动 FirstActivity 和 SecondActivity FirstActivity 有一个意图过滤器 MAIN LAUNCHER 和 DEFAULT SecondActivity 只是一个普通的 Activity And
  • C++ 数字精度和 fstream 截断

    我有一个包含数百个数字的 file txt 它们在点后有很多数字 最多 20 个 我需要在不截断的情况下获取所有数字 否则它们会在以下计算中引入错误 我用 matlab 生成了这些数字 因此它具有极高的精度 但现在我必须在我的程序中复制这种
  • 从行中选择第 i 个最高值并分配给新列的最快方法

    我正在寻找一种解决方案 将新列添加到现有数据框 数据表中 这是每个单独行中的第 i 个最高值 例如 如果我想要第四个最高值 则新列的第一行将包含 1 9 data lt data frame a c a a b b c a peak1 c
  • C# 自顶向下解析实现

    我想用 c 语言实现自上而下的解析 有没有任何资源可以告诉我方法 我的意思是实现或算法的良好方法和描述 例如 以下是一些实施步骤 1 发展语法2 LL1解析3 构造解析器 这些步骤是按顺序排列的 顺序对于给您正确的答案非常重要 以下 MSD
  • 如何放大和缩小画布中的文本大小,tkinter python

    我创建了一个画布小部件并添加了一些对象 例如矩形和文本 我还在鼠标滚轮上绑定了缩放功能 它适用于矩形 但是 它不适用于文本 我想让缩放也适用于文本 但我找不到方法 任何帮助 将不胜感激 class Layout tk Frame def i
  • 计算图像地图上多边形区域的宽度和高度

    是否可以使用坐标计算图像地图上每个多边形区域的宽度和高度 我有一个图像并使用具有多个不同大小的多边形的图像贴图 我需要找到每一个的中心点 要找到中心点 您需要找到多边形的最小和最大X和Y坐标 然后取每个多边形的中点以获得平均中心点 这是一个