问题标签 [imagedata]
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.
javascript - 如何将 ImageData 写入 HTML5 画布上下文?
我能够生成一个新ImageData
对象,但无法将其渲染到画布上下文。出于某种原因,画布 2d 上下文不喜欢它创建的 ImageData 对象。
但是,这会引发错误:
如何将ImageData
对象写入画布?
html5-canvas - 使用“ImageData”数据数组制作动画会导致非常意外和类似故障的结果
ImageData
我最近使用数据数组在画布上拉伸了一个渐变;即ctx.getImageData()
andctx.putImageData()
方法,我心想,“这可能是一种非常有效的方法来为充满移动对象的画布设置动画”。所以我将它与语句一起包装到我的 main 函数requestAnimationFrame(callback)
中,但那是事情变得奇怪的时候。我能做的最好的描述就是说它就像画布上最左边的像素列被复制到最右边的像素列中,并且根据您为get
和put
ctx
方法指定的坐标,这可能会产生奇怪的后果。
我开始使用针对画布的 get 和 put 方法,0, 0
如下所示:
但我立即注意到画布的右侧是错误的。就像渐变已经重新开始一样,最后一个像素由于某种原因没有被触及:
所以缩小我的绘制区域更改了put
ImageData 坐标以在绘制的图像和画布边缘之间获得一些空间,并且我更改了get
坐标以消除画布右边缘的那条线:
漂亮的!但是错了...所以我在codepen中复制了它。有人可以帮助我理解和克服这种行为吗?
注意:codepen 具有按比例缩小的绘图区域。如果将get
坐标更改为 0,您将看到它的行为方式与第一个示例基本相同,但在预期的正方形和意外的线之间有空白。也就是说,我将get
at 1 和put
at 0 留给了最有趣的行为。
keras - Keras:处理大型图像数据集
我正在尝试使用大型图像数据集来拟合模型。我有 14 GB 的内存 RAM,数据集的大小为 40 GB。我尝试使用fit_generator
,但最终得到的方法在使用主题后不会删除加载的批次。
如果无论如何要解决问题或资源,请指点我。
谢谢。
生成器代码是:
然后我为训练和验证图像创建了两个生成器:
fit_generator 调用如下:
javascript - 如何在 JavaScript 中对画布图像进行灰度化?
我在 HTML5 画布中有一个 28x28 像素大小的图像。我使用以下代码将画布的 imageData 作为 RGBA(红色、绿色、蓝色、alpha)值的数组:
现在我想对图像进行灰度化处理,以便得到一个包含 784 个值(28x28 像素)的数组,其中每个像素都有一个值(而不是四个)。
我发现了很多不同的灰度公式,有些是乘以 rgb 值,有些只是计算平均值——我真的不知道该使用哪一个......
我也坚持获得 784 个值 - 它始终是 3136(因为有 4 个通道)......
提前致谢!
python - 导入多张图片
我想用这段代码复制我的照片:
一张照片一切正常。但是我在这条路上有很多照片。我怎样才能得到所有的照片 - 一张一张?
javascript - javascript ImageData 复制或移动性能
我正在为 SDR 接收器编写“瀑布”图,该图显示在网页的画布中。
画布的大小为 w=1000 h=800 像素。第一行每 50 毫秒从服务器发送一次。浏览器(使用 javascript)必须将所有行向下移动一行,然后在顶部插入新行。这给出了瀑布的外观,其中所有像素都从上到下移动。
它工作正常,但像素移动的 CPU 负载非常高,对于树莓来说太高了。
我正在做的是:
我还尝试直接复制 imagedata[some index] 中的像素数据,这会产生几乎相同的不良性能。
在另一个 C 程序中,我用一个非常快的简单 memcpy 操作做了同样的事情。但是用 Javascript 做什么呢?有 800.000 个像素,即 3.200.000 字节。如何在 Javascript 中以最佳性能复制或移动它们?
regex - 带有正则表达式的 Python
请帮我。
我有一个包含以下路径文件的列表:
此列表是使用 get_image_files 创建的。
这是鹦鹉的图像列表。在巴西 papagaio = 鹦鹉。
为了在机器学习中使用文件名进行分类,我尝试使用以下正则表达式:
但是,在 ImageDataBunch 中使用它之后......
我收到以下错误消息作为回报:
IndexError:没有这样的组
而且我不知道如何解决它。有人能帮我吗?
为了澄清起见,我正在尝试使用我硬盘上的一些文件从 fast.ai 课程中重现第 1 课。
node.js - React/Node 无法将 ImageData 发送到服务器
我有一个问题,我有一些问题将画布的 imageData 发送到我的服务器来处理它。
这是我发送数据的 react/redux 操作:
这是我处理请求的方式:
这是一个特征方法的示例:
就在我发送之前的console.log()(我希望发送的内容):
我无法粘贴从服务器获取的内容,但我丢失了宽度、高度键,typeof 是 Object 而不是 ImageData,数据键是 typeof Object 而不是 Uint8ClampedArray。
所以我的问题是:我怎样才能让我的路线访问我发送的相同数据,以便我能够处理它?
如您所见,我将它们作为字符串化 json 发送,并且我的服务器上有一个 json bodyparser 中间件,也许它来自那里。我也关于内容类型标题
编辑:感谢 Kaiido,我已经修改了我的代码,这似乎在 1 exeption 工作
我如何修改我的代码,前面:
背部:
剩下 1 个问题:假设我使用 150*300px 的图像进行测试,我的数据数组应该是 180000 长(300*150*4),直到我发送服务器的响应。当前端收到它调用的响应时,res.arrayBuffer()
它会创建一个新的 Uint8ClampedArray 但在这种情况下我的长度不再是 180000 而是 543810。正如 Kaiido 所说,我可能想对那个数组进行切片,我试过了,但没有用。
我应该怎么切?180000个第一个?180000持续一个?其他方式?
keras - 如何处理 ImageDataGenerator 生成的数据?
我正在尝试使用 Keras ImageDataGenerator 用大型立体数据集训练我的模型。
对于每个场景,我有两个 rgb 图像,我必须将它们拆分并连接起来,以获得 6 个单通道图像作为模型的输入(即这个形状 (6,224,224,1))。对于小型数据集,这很容易,因为我可以将两个子数据集上传到内存中,并将图像的串联处理为 ndarrays。但是对于 ImageDataGenerator,情况就不一样了,因为我必须确保它从两个子数据集中获取相同的批次,并且能够在将输入传递给我的模型之前处理连接。
受这篇文章的启发,我尝试了以下代码:
在我的情况下,我如何处理两个系列 X1i[0] 和 X2i[0] 以及批量大小(224,224,3)的图像,以获得 X1Sum 的大小(6,224,224),而不是:yield [X1i[0] , X2i[0]], X2i[1] 我将得到:yield X1Sum, X2i[1]
javascript - PutImageData() 不绘制 ImageData
我想制作一个使用这种方法的分形生成器:https ://www.johndcook.com/blog/2017/07/08/the-chaos-game-and-the-sierpinski-triangle/ 这真的很有趣,我想要在正方形和五边形等上尝试。下面代码的结果应该看起来像一个谢尔宾斯基三角形,但不幸的是画布保持空白:/
谢谢你的帮助:)