首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定图像中给定多边形内的点(像素)

如何确定图像中给定多边形内的点(像素)
EN

Stack Overflow用户
提问于 2015-09-08 23:56:09
回答 2查看 764关注 0票数 0

请考虑以下情况:

  • 一种保存图像的组件;
  • 由用户定义的多边形列表,用于在图像中创建区域;
  • 每个多边形包括至少3个点的列表(它们的顺序决定多边形的形状);
  • 每个点由(x,y)值对组成;
  • (x,y)对中的每个值介于0到1之间,并表示点在图像的%(宽度、高度)上的位置;

然后,我需要对多边形的所有区域执行一些处理,一次只执行一个像素。在我的特定场景中,逐像素“扫描”整个图像并验证它是否在任何多边形内是不可接受的。奖励:如果一个像素已经被处理,但它是多个多边形的一部分,不要再处理它。

我在想,也许我可以,给定任何多边形和图像(任意宽度x高度),生成一个位于多边形区域内的像素列表。那么问题就更像是一道数学题,但我被困住了。其他方法也是受欢迎的!有什么想法吗?非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-09 00:03:52

您需要的是一个多边形栅格器,它提供一个多边形内的所有像素,例如fill/

如果您想将多边形组合成双像素,那么我建议使用http://www.angusj.com/delphi/clipper.php

计算所有多边形的合并,并将它们加为正数,并使用非零缠绕规则,或任何其他您想在多边形上发布的规则(只有在它们是自重叠的情况下才相关)。

票数 2
EN

Stack Overflow用户

发布于 2015-09-09 00:07:04

Rasterizing a 2D polygon。在这种情况下,您可以在特定像素上执行进程,而不是将每个像素设置为特定颜色。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32468943

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档