gpt4 book ai didi

java - 在 Android 中查找图像(位图)之间的相似性

转载 作者:行者123 更新时间:2023-12-01 16:21:25 24 4
gpt4 key购买 nike

我存储了一些 100x100 位图,并且我想要将我的应用中的其他传入 100x100 位图与现有的位图进行比较找出图像之间的相似性,并将结果返回给用户哪个位图与传入的位图匹配。

例如,考虑一下我已经拥有的这个令人兴奋的位图:图像的背景实际上是透明的

Existing Bitmap

然后我收到以下位图作为用户的输入:

User input image

现在,我想向用户输出一些相似性度量,并告诉用户这两者是相似的,因为它们是笔直的、指向上方的,并且它们有一个像从底部开始的效果一样的拖尾。

目前我已经尝试了以下方法,但它们没有按预期工作

  1. 从位图对象中提取像素并比较数组
  2. 将位图编码为 Base64 字符串,然后进行比较

如果有人向我推荐 OpenCV,请详细解释 OpenCV 方法。我找不到任何合适的 OpenCV android/Java 教程的 Material /资源来查找图像之间的相似性。

最佳答案

我终于实现了我想要的

  1. 将输入和存储的位图缩放至 100x100。
  2. 使用bitmap.extractAlpha()提取上述两者的Alpha层。
  3. 通过使用getPixels()提取像素来计算输入的余弦相似度;相似度范围为 -1 到 1。
  4. 如果相似度>阈值(在我的例子中为0.6),则返回相同,否则不同<

关于java - 在 Android 中查找图像(位图)之间的相似性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62263854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com