问题标签 [scanline]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
999 浏览

algorithm - 扫描线算法

在实施扫描线算法时,我陷入了中途(或者你可以说一开始)。我遵循奇偶校验,即

假设我的三角形有顶点 A(10,10)、B(100, 100) 和 C(200, 30)。现在这个算法的问题是。点 A 无法计数,因为如果计数,则在同一水平线上没有检测到边缘,因此 A 之后的整条线将被着色。现在,如果我排除顶点,则顶点 C 之前的像素会被着色,但由于扫描不会检测到顶点,因此不会检测到 C,它将继续对线条着色,直到检测到下一条较高线条上的边缘。

有没有标准的解决方案?

0 投票
1 回答
1082 浏览

java - 扫描线填充,区分交叉点和峰值

我正在应用扫描线算法来填充随机生成的大陆状形状。我遇到的主要问题是当这条线与一个尖端相交时。我创建了一些图像来帮助可视化这一点。

http://i.stack.imgur.com/OlbI5.png

http://i.stack.imgur.com/RACF1.png

我基本上需要帮助弄清楚如何区分交叉点是否是“提示”。就像在第一张图片中一样,因为两者都是小费,我最终在它们之间有一条线,即使这条线在大陆形状之外。

0 投票
2 回答
1329 浏览

graphics - 像素与多边形重叠:高效(扫描线型)算法

问题说明:我有一个矩形且均匀间隔的像素图像,其顶点坐标为 (i,j), (i+1,j), (i, j+1), (i+1, j+1) [i= 0,...,m-1; j=0,...,n-1] 和具有顶点坐标 (x_1,y_1), ..., (x_n, y_n) 的多边形 P。现在我想有效地计算每个像素与 P 重叠的百分比。P 可以是非凸的,甚至是自相交的。

本质上,这是扫描线光栅化算法的“软”概括,可以有效地检查像素中心是否位于多边形内部/外部。

我可以想到以下方法:

(1) 对图像进行上采样(例如,10*10 倍),计算多边形内有多少个子像素中心,然后除以 100。问题:时间效率、内存效率、准确性。

(2) 使用扫描线算法在稍大的 (0.5,0.5) 平移网格上计算完全位于内部/外部的像素,创建“边界”像素列表,沿边缘逆时针行走,然后计算沿途所有像素的交叉区域。问题:需要微妙的编码,容易引入错误。

我的问题:有没有人遇到过这个问题,你知道第三种更好的方法吗?如果没有,您是否在 (1) 或 (2) 方面获得了更好的体验?我认为这个问题可能出现在抗锯齿的背景下?

0 投票
0 回答
1100 浏览

algorithm - Scanline fill algorithm using odd/parity rule

http://s14.postimage.org/br35lkb9d/Untitled.png

The question is this: Number the rows and columns in the following figure (outside the figure). Use these row column numbers to show how the scanline stack region filling algorithm would fill in this figure, starting at the pixel indicated. Show the contents of the stack at each phase of the algorithm and show the location in the figure of the pixels on the stack.

Since row 0 is already filled moving to row 1, it's fairly simple that party turns odd at (0,1) and fills until it turns even again at (12,1) row 2. (0,2) triggers parity odd so it fills the next 2 pixels. at (3,2), I'm confused between the rule "vertices on horizontal line does not count" vs "count vertex if it's Ymin of that". How do I proceed at this part? and how will the rest of pixel should be treated? All the examples I could find concerning those two rules involves polygons with pointy vertices, not like the one I uploaded.

0 投票
1 回答
1089 浏览

javascript - 完全展开这个 CSS inline-block div 扫描线

我希望这种扫描线效果能够正常工作。从左到右显示文本。仿佛阴极射线正在将其燃烧成屏幕上的荧光粉。

这个想法是滑过具有透明尖端的黑色行。这是一个 80% 的工作演示。 在此处输入图像描述 每行中最右边的黑色.maskdiv 不会展开。它必须。

我试图将.mask带有黑色背景的最右边的 div 保留为 inline-block 并使其全宽。我有点理解为什么请求不起作用(宽度:100% 将其他内联块推到下一行,这是正确的),但必须有一种方法可以在不破坏 javascript 宽度的情况下获得这个完整的右侧.

0 投票
1 回答
920 浏览

javascript - 让这个逆向计算的扫描线摇滚。在 div 中扫描多行很难

工作小提琴在这里:http: //jsfiddle.net/WyXLB/1/

当一个 HTML 元素包含多行文本时,我想扫描每一行。目前,我只是扫描整个元素的边界矩形。

一些代码是:

我怎样才能打破整个边界矩形的动画,扫描每一行。我尝试在上述函数中放置一个动画->回调递归,每次调用将掩码降低一个 real_height,但出现不可预测/混乱的行为。

0 投票
0 回答
155 浏览

c++ - 扫描线算法图形处理的总线错误

抱歉,如果这是很多代码,我只是不确定你们到底需要什么来解决我的问题。我知道总线错误或多或少对应于我的主要方法中的堆栈溢出,但我不完全理解为什么会发生这种情况。我有一个填充了数百万个自定义三角形对象的向量,我正在尝试处理这些对象以绘制二维图片。这是我的代码:

我已经能够处理大约 200,000 个三角形,但在那之后我得到了一个总线错误。我知道我必须将其中一些代码移出我的主要方法,但我不确定哪些部分以及为什么。感谢帮助。

0 投票
1 回答
430 浏览

matlab - 如何在一维条码区域扫描线?

我需要为我的图像扫描感兴趣的区域以检查它是否包含一维条形码。谁能帮我实现这个?任何相关的功能?

0 投票
1 回答
220 浏览

opengl - OpenGL 扫描线算法 - 它使用光线和边界框吗?

我正在研究扫描线算法是如何工作的,我想知道是否像光线追踪算法一样确定每个像素的最近命中,并且在这种情况下,是否使用边界框来确定是否存在交叉点

0 投票
1 回答
307 浏览

delphi - 如何“刷新”位图扫描线的更改

我目前正在尝试将镜像添加到我们的 RotateBitmap 例程(来自http://www.efg2.com/Lab/ImageProcessing/RotateScanline.htm)。目前在伪代码中看起来像这样(BitMapRotated 是一个 TBitmap):

如果我必须旋转反射,这将有效。如果我两者都做,那么显然调用会使我之前通过 ScanLine 所做的更改无效。如何“刷新”或保存我的更改?我尝试调用,并设置但没有运气。SetSizeBitmapRotated.HandleBitmapRotated.DormantBitmapRotated.Canvas.Pixels[0, 0]

编辑:我发现了真正的问题——我正在用原始位图中的值覆盖我的更改。很抱歉的努力。