如何动态查找图像中的主要矩形图像?
How to dynamically find main rectangular image within an image?
我想截一张图片,然后从截图中提取图片。
例如:
我想从屏幕截图中动态提取该图像。但是,我希望能够动态检测要提取的图像在屏幕截图图像中的位置。因此,例如,如果我在 Instagram 上截图了一张图片,我想从截图中动态提取图片。所以我觉得我只需要想出一个计算来找到截图图像中的“主体”在哪里。
我做了一些研究,但我发现的大部分内容都是人们想要从扫描图像中提取图像,其中主体周围的一切大部分都是纯色,所以我认为这不会在这里工作。
我正在使用 Jimp (https://www.npmjs.com/package/jimp) 作为图像处理器,因为它没有本机依赖项,这将进入 React Native 应用程序。
如有任何帮助,我们将不胜感激。提前致谢!
我从来没有找到已经存在的东西,所以我自己做了一些东西。使用我的 img-items 节点模块,我可以通过执行以下操作来完成此操作:
const Jimp = require('jimp')
const imgItems = require('imgItems')
Jimp.read('image.png')
.then(image => {
return imgItems(image)
.then(items => {
const largest = items.reduce((p, c) => ((p.width + p.height) > (c.width + c.height)) ? p : c)
return image
.crop(largest.left, largest.top, largest.width, largest.height)
.writeAsync('largest.png')
})
})
我想截一张图片,然后从截图中提取图片。
例如:
我想从屏幕截图中动态提取该图像。但是,我希望能够动态检测要提取的图像在屏幕截图图像中的位置。因此,例如,如果我在 Instagram 上截图了一张图片,我想从截图中动态提取图片。所以我觉得我只需要想出一个计算来找到截图图像中的“主体”在哪里。
我做了一些研究,但我发现的大部分内容都是人们想要从扫描图像中提取图像,其中主体周围的一切大部分都是纯色,所以我认为这不会在这里工作。
我正在使用 Jimp (https://www.npmjs.com/package/jimp) 作为图像处理器,因为它没有本机依赖项,这将进入 React Native 应用程序。
如有任何帮助,我们将不胜感激。提前致谢!
我从来没有找到已经存在的东西,所以我自己做了一些东西。使用我的 img-items 节点模块,我可以通过执行以下操作来完成此操作:
const Jimp = require('jimp')
const imgItems = require('imgItems')
Jimp.read('image.png')
.then(image => {
return imgItems(image)
.then(items => {
const largest = items.reduce((p, c) => ((p.width + p.height) > (c.width + c.height)) ? p : c)
return image
.crop(largest.left, largest.top, largest.width, largest.height)
.writeAsync('largest.png')
})
})