Tag: image processing

如何检测Node.js中损坏的图像文件?

我正在寻找一些通用库来检查下载的图像是否损坏。 我发现使用ImageMagick的https://www.npmjs.com/package/gm 。 我可以使用ImageMagick中的identify来查找完全破碎的图像(我甚至无法打开)。 但也有部分破碎的图像 – 例如jpeg文件,其中一半的图像是灰色的,并且这些图像没有被标记为由gm破坏。 如何检查image.js腐败的图像? 谢谢! 编辑: 我想要检测的是没有完全下载的图像。 通过剪切最后n个字节的图像可以达到类似的效果。 我想有可能以编程方式检测它,因为在详细模式下识别commend返回: identify: Premature end of JPEG file broken_example.jpg' @ warning/jpeg.c/JPEGWarningHandler/352. identify: Corrupt JPEG data: premature end of data segment broken_example.jpg' @ warning/jpeg.c/JPEGWarningHandler/352. 例如(不幸imgur会砍掉破碎的图像,所以我不得不上传截图): 破碎的图像

无法将stream作为parameter passing给aspnet.core.NodeServices中的JS

目前我正在将一个“旧”的ASP MVC项目迁移到新的Core MVC(1.1),从一个突破转变到另一个。 我现在被困在主题“image processing”,因为System.Web.Helpers.WebImage被删除。 我看了几个可能的解决scheme,并喜欢通过Microsoft.AspNetCore.NodeServicesbuild议的方式在这个评论中描述! 使用示例脚本并传递文件名时,这一切都可以正常工作。 我花了几个小时来试图让这个同样的东西在我读取来自数据库的图像数据时传递一个字节stream,并想直接通过它传递给JS。 JS使用JIMP库: var jimp = require("jimp"); module.exports = function (result, source, mimeType, maxWidth, maxHeight) { // Invoke the 'jimp' NPM module, and have it pipe the resulting image data back to .NET jimp.read(source.buffer).then(function (file) { var width = maxWidth || jimp.AUTO; var height = maxHeight || jimp.AUTO; file.resize(maxWidth, […]

将两个图像组合成一个

我需要采取两个图像(通过URLinput),并输出如下所示: 我正在使用Jimp来生成图像。 这应该是一个相对简单的事情做一个面具。 对于我的项目,我不能使用canvas,所以如果你有例子,尽量不包括DOM。 这是我要去的: const jimp = require("jimp") const split = (url1, url2) => { jimp.read(url1, (err, image) => { //mask //paste image from url2 //return new image }) }

检测Image Nodejs OpenCV特定区域的颜色

我试图编写代码来检测图像特定区域的颜色。 到目前为止我遇到过使用OpenCV,我们可以做到这一点,但还没有find任何特定的教程来帮助这一点。 我想用JavaScript做到这一点,但我也可以使用python OpenCV来获得结果。 任何人都可以帮助我分享任何有用的链接,或者可以解释如何实现检测图像中特定区域的颜色。 例如。 红框表示不同的颜色。 我需要弄清楚它显示的是哪种颜色。 我曾经尝试过: 我已经尝试过OpenCV Canny图像,虽然我成功地将Canny图像与区域分离,但是如何检测特定Canny区域的颜色仍然是一个挑战。 另外,我用OpenCV中的inRange方法尝试了这个方法,这个方法非常完美 # find the colors within the specified boundaries and apply # the mask mask = cv2.inRange(image, lower, upper) output = cv2.bitwise_and(image, image, mask = mask) # show the images cv2.imshow("images", np.hstack([image, output])) 它运作良好,从图像中提取颜色区域但是有没有回应,如果图像具有特定的颜色,以便它可以自动完成回应?

用于stream处理图像的Node.js库

我正在构build一个处理图片上传的应用程序,当图片上传时,我想制作3张缩略图,并上传到Amazon S3。 现在我想知道是否有图书馆可以做到这一点,而图像上传,处理,并最终streamasynchronousstream。 解决这个问题的最好的逻辑方法是上传文件到服务器,一旦上传完成,创build3个缩略图,然后全部上传到Amazon S3并删除上传的文件。 但是我不希望任何磁盘I / O涉及,也没有存储。

如何在运行时在Node.js中执行一系列的image processing步骤

我正在使用gm Node模块进行裁剪并制作图像的缩略图。 这是我正在做的事情… var img = gm("./myImage.jpg"); var thmb; if(options.crop) img = img.crop(100, 50, 10, 10); if(options.resize) thmb = img.resize(240); img.stream(callback); if(thmb) thmb.stream(callback2); 预期结果: 上面的代码应该输出两个图像('img'和'thmb')。 'img'应该是原始图像的裁剪版本,'thmb'应该是原始的裁剪和resize的版本。 实际结果 “img”输出按预期裁剪,但“thmb”只是原始图像的缩放版本。 它没有按预期裁剪。 我究竟做错了什么?

如何解决JavaScript的图像透视失真和旋转?

我有一些使用手机的图像。 有没有JavaScript的图书馆,可以拉直一张纸的照片,并将其压平? 例如,我想创build一个矩形的图像没有任何失真从这个图像。 换句话说,我想知道如何通过JavaScript修复透视失真和旋转? 例如,我从这篇文章中find下面的示例图像: 如何解决这种types的图像与JavaScript?

我可以使用node-gm调整内存中的图像大小,还是需要先将其保存起来?

我允许用户上传头像,但是我想在上传时调整头像的大小。 现在看起来,gm让我把它保存到磁盘之前,它resize。 当传入的请求进来时是否有可能调整它的大小? 像这样的东西: var readStream = fs.createReadStream(req.files['profile-picture']['path']); gm(req.files['profile-picture']['path'], 'img.jpg') .write('/path/to/directory/img.jpg', function (err) { if (!err) console.log('done'); });

使用node.js快速裁剪和调整图像大小

我在Amazon EC2上运行node.js服务器。 我得到一个巨大的csv文件,数据包含远程主机上产品图像的链接。 我想在Amazon S3上裁剪和存储不同大小的图像。 这怎么可能完成,最好是只用stream,而不用保存任何东西到光盘?

如何使用低分辨率的裁剪照片作为指导重新裁剪原始的更高分辨率的副本?

我有一张正方形的,低分辨率的照片,已经被用户从高分辨率,非正方形的原稿中裁剪出来。 低分辨率的照片然后被调整为缩略图。 我想自动(不需要用户干预)以相同的方式重新裁剪原始照片,以获得更高分辨率的正方形版本。 我没有访问原始的修剪器坐标。 我只有这两张照片。 下面是一些示例图片(来自我的Facebook个人资料)来说明我的意思: 原始的,高分辨率的照片 – 裁剪,然后缩小,方形照片 再次,目标是使用小照片作为指导从源头获得更高分辨率的方形照片。 解决scheme的唯一限制是: 普遍性:我正在使用这个configuration文件图片,所以如果它只适用于完全可以接受的面孔! 没有必要推广到各种随机图像,人们的照片是一个很好的起点。 平台:我正在使用Node,但我很乐意在Ruby,Python,Java或C ++(使用Node绑定)中运行此过程。 它几乎肯定会在Heroku或AWS上运行。 速度:这将需要非常快速。 为了这是有用的,它将不得不以联机的方式运行,因为我会阻止用户的界面等待这个动作。 有没有人有任何想法? 我对image processing知之甚less,所以我不知道从哪里开始。 编辑:对于Facebook,具体来说,有一个解决scheme,几乎没有这么难。 原始作物数据可用于configuration文件图像: https : //graph.facebook.com/bcherry/profile?fields=pic_crop 这会让我立即陷入困境,但可能不是一个长期的解决scheme,所以下面提供的答案对于更一般的问题还是很有帮助的。