javascript - 如何在图像中动态查找主矩形图像?
问题描述
我想截取图像的屏幕截图,然后从屏幕截图中提取图像。
例如:
我想从屏幕截图中动态提取该图像。但是,我希望能够动态检测要提取的图像在屏幕截图图像中的位置。例如,如果我在 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')
})
})
推荐阅读
- html - 当我在 html 表中检索 firebase users 值时出现重复值
- python - discord.py - 列表反应问题
- android - 自定义对话框需要时间才能显示
- android - 同一个活动的翻译使用两个不同的字符串资源文件
- reactjs - 我如何通过路由器链接传递道具?
- visual-studio - 哪个证书用于使用 VSIXSignTool 对 Visual Studio 集成扩展 (.vsix) 进行数字签名?
- osgi - OSGi 在注入列表时是否强制执行服务排名顺序
- appium - 使用 Appium 自动化可滑动的底部工作表
- javascript - 什么决定了 MongoDb Atlas 中的表名
- python - 计算python中每15行的方差和标准差