问题标签 [pixel-manipulation]

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 投票
3 回答
1390 浏览

javascript - Javascript imageData 返回 0 的数组

我正在尝试操作 imageData 但我的 imageData 数组在加载图像并获取其像素数据后返回全 0。

有一些 html 元素,如滑块和文本框。请忽略那些。

有一个 ImageObject 数据结构,我在其中存储所有图像属性,如图像、像素数据等。

我首先加载图像,获取其像素数据,然后返回一个回调来存储 ImageObject.imageData。但是在日志 ImageObject.data 中返回全 0。

我在下面分享了 jsFiddle 链接

jsFiddle

有人可以看看我做错了什么吗?

0 投票
1 回答
47 浏览

image - 背景减法类专业人士请回答

有人可以定义类 BackgroundSubtractorMOG2。什么是历史(BackgroundSubtractor 类的参数是什么意思)。是否可以使用 BackgroundSubtractorMOG2 类使用代码书等技术?

提前致谢

0 投票
1 回答
1940 浏览

javascript - 如何获取像素位置

我觉得问这个真的很愚蠢,但请耐心等待。我知道在线性数组中获取像素位置的公式:

效果很好。js小提琴。但是在图像/表格被线性化之前,相同的公式不起作用。您需要使用(为简单起见,让我们丢弃 RGBA)

在此处输入图像描述

这是为什么?我可能错过了一些非常简单的东西。


更新:我知道这很简单。傻我。

在此处输入图像描述

0 投票
1 回答
1045 浏览

javascript - 围绕给定坐标旋转像素

我前段时间制作了一个太阳系动画,现在我正在重写它。我将为质量添加重力效果,为了使效果可见,我将背景变成了网格。

我将添加两种不同的效果;捏和旋转。我正在关注Geek Office Dog 上的教程:Hello swirl!(javascript 中的漩涡效果教程)。一步一步来,首先,我想了解旋转是如何工作的。

这是该站点的简单旋转演示摘录:jsFiddle。代码对我来说似乎很混乱,所以我修改并简化了它:jsFiddle

我不明白这// Iterate over the interest square region部分。为什么它在循环之间-radius以及radius如何x * x + y * y <= radius * radius检查像素是否在圆圈内?

我无法想象我脑海中那部分代码中发生了什么。然而。


更新:好的,所以在考虑一下之后,我想在循环中:

我们实际上并不是在迭代图像上的区域,而是一个理论区域。

在此处输入图像描述

并检查当前 (x,y) 是否在圆圈内。如果是,在下一行代码中,我们计算 (x,y) 在图像上的实际位置:

循环 (+ if) 只是给我们圆内每个像素的坐标,然后我们将这些 (x,y) 坐标移动 (originX, originY) 值,以便我们可以得到图像上的实际坐标。

我对么?我是吗?(请原谅我的兴奋:)

0 投票
1 回答
855 浏览

javascript - 无法在画布上画线

我无法使用 JavaScript 在 HTML 画布上画线。作为记录,我不想使用任何预先编写的画线方法,我需要使用像素操作来完成。我尝试在 500x500 像素的画布上画一条线,我已经用它提供了数据

你可以在这个小提琴中看到它的作用。顺便说一句,我的数学让我第二个 for 循环画一条线是:我想为整个第 245 行着色。因此,要通过前 244 行,我将 2000(每行中的数据点数)乘以 244 行得到 488000。然后我循环循环 500 次以命中行中的每个像素,并添加 488000到达正确的行。我真的很感谢第 245 行没有变黑的解释/修复。

0 投票
0 回答
2175 浏览

c++ - Qt:迭代 QImage 的最具扩展性的方法是什么?

我知道有两种方法可以访问QImage被调用的img.

方法一

方法二

我热衷于使用第二种方法,因为它只涉及一个循环,但我也担心在pixelCount处理“足够大”的图像时任何可能的溢出。

问题

迭代存储在 a 中的所有像素的最具可扩展性的方法是QImage什么?通过可扩展性,我的意思是无论图像尺寸(宽度和高度)如何,它仍然可以工作。

注意:我已经知道在内存使用方面存在“物理”限制。我只想知道这两种方法是否能够达到这样的极限。

0 投票
0 回答
166 浏览

javascript - 如何解决此图像(逐个像素)失真问题?

我试图扭曲画布中显示的图像,所以它看起来像一个“行星”。但是,我正在努力寻找解决失真问题的方法。想到的唯一解决方案是找到一种方法来减少radiusDistance变量,它越大。也就是说,我不确定如何实现这一目标。有什么建议么?

以下是我目前用来实现此目的的数学和对象:

这是它当前产生的效果(请注意,我在将图像应用到画布之前水平翻转图像,在此示例中,我将背景设置为洋红色,以使问题更清晰):

在此处输入图像描述


注意: 我想要的是翘曲效果,而不是像素的“撕裂”,这是由于没有获得所需的所有必要像素数据而引起的。

还要记住,速度和效率还不是我的首要任务。

0 投票
1 回答
188 浏览

c++ - Qt - 像素操作后显示无符号字符

我正在尝试显示我操纵的像素(它们是灰度),它表示为 unsigned char 失败。

这是代码:

我真的不知道为什么,但代表的图片是原始图片而不是经过处理的图片,应该是灰度的。我试图在没有运气的情况下通过网络找到,有什么想法吗?提前谢谢。

0 投票
2 回答
819 浏览

javascript - 使用 FabricJS 进行像素操作

我正在使用 FabricJS v1.5.0 并且在画布上逐个像素地操作时出现问题。

为什么要添加image clear imageData?我需要转换 FabricJS 对象中的 imageData 以添加到画布中吗?

0 投票
1 回答
57 浏览

c++ - 纹理像素操作中更新方法的内存管理

传递给 Texture 类 (SFML) 中的更新方法的像素数组是如何在内存方面进行管理的?这些是我的一些猜测:

  1. 一个弱指针保存在纹理实例中;这意味着有必要保留一个指向您自己的像素数组的指针并自己管理它。

  2. 该数组由纹理复制和管理(这也意味着每次再次调用更新方法时,都会释放前一个)。

第二个猜测可以证明多次更新纹理是合理的:

每次更新纹理时重新分配像素的位置。否则(如果像素只是存储为弱指针而不是管理/取消分配/分配)将需要不同的方法,其中像素由用户管理......

提前感谢您的任何答案:)