Tag: image processing

使用base64图像数据在NodeJS中进行image processing

我有一个nodejs服务器,通过websocket接收base64编码的图像。 我想对这些图像进行一些image processing并将其发送回去。 我在网上search了一下,find一些图书馆来帮助我做这件事,但是我能find的所有图书馆都是把图片存储在服务器端的某个地方,进行操作并保存图片。 显然,他们都把一个包含图像文件名的string作为input,所以我猜测他们通过文件stream手动获取图像。 我的问题是,是否有一个库可以帮助我直接在base64数据上工作(即将数据作为input传递给函数)还是应该每次将图像保存在服务器上,修改并将其发回? 我宁愿不去与后者,因为我正在做一些高性能的应用程序,所有这些保存/加载看起来浪费周期。 否则,你有没有看到其他方式可以实现这个目的(例如,获取图像文件而不保存并重新加载)? 谢谢。

Nodejs创build一个带有文本的PNG图像

我试图创build一个新的PNG文件通过HTTP服务回客户端(作为响应types的图像/ PNG) 新文件是通过连接3个基本PNG文件并在图像中间添加自定义text创build的。 问题是,nodejs中没有内置库来执行此操作。 我花了几个小时search,令我惊讶的是,没有pure JS库来做到这一点。 最接近的是node-pngjs,但缺乏添加文本的能力。 我知道文本部分是复杂的,因为它在某种程度上依赖于操作系统(安装的字体,与所述字体接口的DLL等)。 还有其他节点模块是imageMagick( gm )和GTK( canvas )的包装,但不幸的是imageMagick是155MB的二进制文件,并使用canvas,你需要从源代码编译,安装python和VS 2010 C++ Express Edition ,它不起作用在最新版本的GTK上。 我现在最好的方法是编写一个.NET程序集,并通过edge.js从节点内部使用它,但这需要在服务器上安装Windows操作系统和.NET框架。 同样,这里复杂的部分是添加图像中的文本。 任何关于如何在没有外部依赖的情况下工作的build议?

如何比较图像,并确定哪些内容更多?

目标:我想从animationGIF抓取最好的框架,并将其用作静态预览图像。 我相信最好的框架是展示最多内容的框架 – 不一定是第一个或最后一个框架。 以这个GIF为例: – 这是第一帧: – 这是第28帧: 很明显,第28帧代表了整个GIF。 我怎样才能以编程方式确定一个帧是否有更多的像素/内容比另一个? 任何想法,想法,包/模块或文章,你可以指向我将不胜感激。

AWS Lambda图像已损坏

我遇到了AWS Lambda问题,每隔几次上传,我的resize的图像就会被损坏。 我写了一个脚本,从S3中取出,并将其大小调整为另一个存储桶中的3种大小,主要是使用文件stream。 这里是代码: https://github.com/handonam/AWS-Resizer/blob/493ff10c317e7150d1ac040f54065083963a9c67/createThumbnails.js 您可以看到较大的512px放大文件(resize)以及原始(200px) 另一个resize为120px 我的lambda消费看起来大部分完全正常。 它设置在768mb内存和20s超时的同一地区。 这些脚本使用90 / 768mb的小图像(如500px宽)执行大约2秒,或者在更大的图像(如2000px宽)上执行14秒@ 648 / 768mb。 但即使是一个小图像,resize也会影响到我。 如果我放弃文件stream,只是写入缓冲区(就像aws示例一样 ),那么image processing将以缓冲区结束,而lambda将耗尽太多的资源。 任何指导表示赞赏!

hough变换 – javascript – node.js

所以,我试图实现霍夫变换,这个版本是基于次要属性的1维(它的所有变暗减less到1个昏暗的优化)版本。 封闭的是我的代码,具有示例图像…input和输出。 明显的问题是我做错了什么。 我翻了三倍检查我的逻辑和代码,它看起来也很好,我的参数。 但显然我错过了什么。 注意,红色像素应该是椭圆中心,而蓝色像素是要去除的边缘(属于符合math方程的椭圆)。 另外,我不感兴趣的openCV / matlab / ocatve /等..使用(没有任何反对他们)。 非常感谢你! var fs = require("fs"), Canvas = require("canvas"), Image = Canvas.Image; var LEAST_REQUIRED_DISTANCE = 40, // LEAST required distance between 2 points , lets say smallest ellipse minor LEAST_REQUIRED_ELLIPSES = 6, // number of found ellipse arr_accum = [], arr_edges = [], edges_canvas, […]

用Node.js在现有的PNG上写文本

我试图创build一个简单的dynamic徽章(PNG)embedded到静态页面,让我知道我的应用程序的状态。 我想这样使用现有的PNG图像,并用Node.js写上一些文字。 我发现很多库,但他们都使用Imagemagick或开罗作为本地依赖,我想避免在服务器上安装任何东西。 然后我发现了lwip,但是我不能真正理解如何在它的图像上写文本。 我能怎么做?

用javascript创buildInstagram-esquefilter?

我可以使用JavaScript创buildInstagram-esquefilter吗? 图像可以被处理客户端或服务器端(node.js) 我可以用css覆盖一些PNG和盒子阴影以获得有限的类似效果,但是我想知道是否有任何可以在js中像这样处理图像的东西。 谢谢!

NodeJSimage processing/分析可能吗?

我在服务器端运行NodeJS ,我正在尝试做一些自动化的image processing来确定图像的“基本颜色”。 以下是我想要做的步骤: 拍摄一个图像(在远程服务器上,通过URL传递)并获取其尺寸 使用尺寸来计算图像的中心 围绕中心点绘制一个10px x 50px(WxL)的矩形 获取每个像素的RGB值(每个图像500个) 输出像素的平均值 我知道这样的事情可能在PHP中,但我想使用节点是可能的。 我已经看过关于使用Node-imagick进行基本处理(如resize和裁剪)的教程,但不知道从哪里开始进行更高级的分析。 问题 (一)这是可能的节点? (b)哪些图书馆允许我这样做?

上传时错误的图像方向 – Amazon S3

我让用户使用Multer-S3将多个图像直接上传到Amazon-S3,然后通过循环在前端显示这些图像。 所有的作品完美。 但是,当通过手机上传图片(在iPhone或Android上拍摄的图片)时,手机的方向是正确的,但在桌面上没有正确的方向。 主要问题。 这是由于我相信图像的EXIF数据。 看起来像ImageMagick或Kraken JS https://kraken.io/docs/storage-s3可能是一种解决方法,但对于我的生活,我无法弄清楚如何以我上传和显示图像的方式来实现如下所示。 如何更改我的代码以自动定位图像? 注意:它必须适用于多个图像 。 谢谢你的帮助! 下面是我让用户直接向Amazon-S3上传多个图片的方式: aws.config.update({ secretAccessKey: 'AccessKey', accessKeyId: 'KeyID', region: 'us-east-2' }); var s3 = new aws.S3(); var storage = multerS3({ limits : { files: 25 }, s3: s3, bucket: 'files', key: function (req, file, cb) { var fileExtension = file.originalname.split(".")[1]; var path = "uploads/" + […]

纯JavaScriptimage processing

我有一个用例,我想创build(a)Node应用程序(b)执行基本的图像操作(PNGresize和裁剪),但(c)我不能像本地库,GraphicsMagick,ImageMagick,PhantonJS, Inkscape等 这一切都必须在纯JavaScript中完成。 鉴于我想要做的操作简单(只是PNGresize和裁剪),这似乎不可能。 但是,我找不到最终没有外部或本地依赖的裁剪/resize的库。 这样一个真正纯粹的JavaScript库是否存在作物/resize? 如果我必须自己做这个,纯粹用JavaScript来实现这个有多困难? 我应该从哪里开始? 另外,是否有一个合适的C函数,我可以使用emscripten编译,例如?