问题标签 [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.

0 投票
1 回答
38 浏览

javascript - 将矩阵数据转换为数组、js、奇怪的行为

我正在尝试将两个数组的迭代转换为组合数组大小的 4 倍,以制作图像,

((height*width+index)*4) (我尝试过使用和不使用 *4)是我理解为将其转换为 ImageData().data 的 rgba 的公式;

我只写最新的一行,将对 ImageData.data 进行切片/连接/切片,这样我每次绘制只写一行。

预期的视觉效果是二维元胞自动机规则的可视化,一次绘制 1 条线。

实际:奇怪的电路弯曲,脉动模式。

这是完整的代码,但我确信我的这个公式有误。

上面的代码片段来自第 61 行的 draw 函数。

https://codepen.io/altruios/pen/QWEoYXz?editors=1010

编辑

产生更“稳定”但仍然不正确的东西。

所以我认为这个公式可能是正确的,并且有一些状态更新逻辑没有正确发生。

0 投票
1 回答
96 浏览

tensorflow - 如何使用 tensorflowio 从文件夹中导入图像数据集

嗨,我有来自共享文件夹的图像数据集。数据集路径如下:/media/sharing_folder/data 和 data 文件夹有两个子文件夹,分别是“masked”和“unmasked”。我尝试像这样导入数据:

但是,此导入运行非常缓慢。我想用 tensorflowio 导入数据。如何使用 tensorflowio 导入?

0 投票
2 回答
1318 浏览

javascript - 将 ImageData 转换为 JS 中的 blob?

我有一个ImageData对象,但 Tesseract.js 只接受blob对象。如何尽可能高效地将其转换ImageData为 a ?blob

0 投票
1 回答
158 浏览

javascript - ImageData 数组中的索引逻辑是什么?

这个问题是为了更深入地了解我之前关于大尺寸Canvas动画的问题。问题在这里:重复 HTML 画布元素(框)以填充整个视口

我试图了解 TypedArray - Uint8ClampedArray 背后的逻辑。我将首先从我的研究开始,然后再讨论这个问题本身。

所以,ImageData 代表 HTML5 Canvas 的像素数据。它可以实现更快的性能,并且适用于繁重的动画。在我们拥有 ImageData 对象后,我们为它创建一个缓冲区空间。因为我们不能直接从 / 到缓冲区读写,所以我们将此缓冲区传递给 TypedArray。在这种情况下,Uint8ClampedArray 就像一个普通数组,允许访问其中的数据。

我们画布上的每个像素都由 4 个整数值表示,它们代表红色、绿色、蓝色、阿尔法 - 如在 RGBA 中 - 范围从 0 到 255。这些值中的每一个都分配给从 0 开始的 Uint8ClampedArray 索引,并且数组被划分分成 4 块。所以前 4 个值是第一个像素,第二个 4 个值是第 2 个像素,依此类推。Cavnas 像素从左到右逐行读取。

因此,例如,如果我们想要获取像素的红色值的数组索引xCoord = 3; yCoord = 1; canvasWidth = 10;。来自MDN 的公式:使用画布进行像素操作建议我们进行以下数学运算:

var red = y * (width * 4) + x * 4;= 1 * 10 * 4 + 3 * 4 = 52;

但是,如果我们尝试手动执行相同的操作,并且只是逐个像素地计算自己,我们就不会得到相同的值。它总是有点偏离。我们如何手动计算?在这张图片中,我们从0 X 0to0 X 9和 to开始1 X 3。因为我们从左上角开始向右移动,所以它是倒置的, Y是我们的第一个坐标,X是我们的第二个坐标。从0 X 00 X 9我们一共记录了40个值(每个像素4个值,总宽度10个像素);从1 X 01 X 3我们总共记录了 16 个值。最后我们得到第 56 个索引,而不是我们使用公式计算的 52。

所以,请帮助我理解 Uint8ClampedArray 中的整个逻辑以及它是如何计算的。

在此处输入图像描述

0 投票
2 回答
178 浏览

php - 将元数据添加到图像的内容而不保存文件。在 PHP 中

给定一个图像文件路径,我想获取它的内容——而不是向该内容添加元数据(EXIF、IPTC、XMP 等),然后在 HTML 中显示该图像的内容,包括该元数据(可能是 base64 格式)标记而不保存文件

为什么不将文件保存在服务器上?我尝试执行的操作是针对用户出于版权目的将图像文件保存到他的计算机的情况 - 我希望将他的 IP 和我网站的 URL 存储在他下载的图像的元数据中。一分钟内将有成千上万的用户查看该图像,因此我无法在服务器上创建该图像的临时副本。

我可以生成 JPEG 或 PNG 格式的图像 - 使其工作所需的任何格式。

我目前知道如何使用 PHP 的“ iptcembed ”将 IPTC 元数据存储在 JPEG 图像中,但当然可以存储(保存)文件。

0 投票
1 回答
271 浏览

tensorflow - 将主数据目录拆分为训练/验证/测试集

我正在研究 X 射线图像分类,我的数据存储在 1 个目录中,我需要将其分为训练集、验证集和测试集。我确实设法使用 ImagedDataGenerator 分离了训练集和验证集,但在分离测试集时遇到了麻烦。这是我的代码。

我厌倦了使用拆分文件夹,但它不起作用。我认为大多数情况下都没有正确使用它,因为我不知道在拆分数据后如何访问 3 个文件夹。或者有没有其他方法可以拆分我的测试集?

0 投票
0 回答
45 浏览

javascript - 使用颜色查找图预处理 ImageData 和绘制画布的更快方法

我有一个用例,其中画布上绘制了某些不同颜色的片段,并且根据用户输入,需要使用新的 ImageData 再次重新绘制画布。对于每种不同的颜色,我们都有一个对应的 newColor 应该替换它,所有这些信息都是使用以下结构中的预处理映射给出的。{'#ff0000' : '#aa8499', '#ee00ff' : '#00ff00'} 这意味着颜色为#ff0000 的段需要替换为#aa8499 等等。目前,我迭代整个图像像素,检查当前像素颜色,使用查找图找到更新的颜色,并创建另一个具有新值的图像数据对象,稍后在 putImageData 中使用它。这种计算新图像数据并将其绘制在原始画布中的 2 路过程需要大量时间,它需要很快。有什么方法可以使用不同段的给定事实来加快处理速度。

当前代码供参考

0 投票
1 回答
245 浏览

tensorflow - ImageDataGenerator tensorflow.keras.preprocessing.image 中的 preprocessing_function 未应用

我试图使用 ImageDataGenerator 并应用一个 prepossing 函数来应用一些随机色调。当我通过 ImageDataGenerator 对单张图片运行转换时,我没有看到它的应用。

当我直接将此功能直接应用到图片中时,它可以工作。

但是当我通过 random_transform 生成它时

我没有看到任何变化。

你能告诉我为什么它会这样工作吗?

0 投票
1 回答
162 浏览

javascript - 将 SharedArrayBuffer 转换为普通的 ArrayBuffer

我正在尝试ImageDataUint8ClampedArray基于 a创建一个新的SharedArrayBuffer,因为ImageData构造函数不接受Uint8ClampedArray基于 aSharedArrayBuffer我必须以ArrayBuffer某种方式将其转换为正常。

任何想法如何将其转换SharedArrayBuffer为正常ArrayBuffer或如何ImageData创建SharedArrayBuffer

0 投票
0 回答
180 浏览

c# - linux 上的 C#:FFmpeg (FFMediaToolkit) MediaOutput..Video.AddFrame(FrameToImageData(ImageData)) 导致程序以代码 139 退出

在我的 C# 程序中,我有FFMediaToolkit的实例MediaOutput。它是这样初始化的:

当我想将帧添加到缓冲区时,我使用以下代码:

但是当代码到达时buffer.Video.AddFrame();,它会以代码退出139而不抛出任何异常。

我有两个测试文件,只有一个导致它。一个是.png文件 100x100,它工作正常。另一个是.png文件 1000x1000,一旦到达这个方法,它就会让程序退出。

退出代码139在 C# 中意味着什么?
当它没有抛出任何异常时,我如何诊断这个问题?
我该如何解决?

谢谢你的帮助。如果您需要更多信息,请发表评论,我会尽快添加。

Edit1:
这是我的 instel 驱动程序:

编辑2: