用OpenCV.js找找茬吧

for what?

为了业务的实现,开发了一个包webshotcompare用来在JavaScript语言中实现图像差异和偏移的识别。

效果?

针对几种情况,webshotcompare最终输出三种图片,分别为:

  • 框选版:针对无偏移,能快速找出差异用OpenCV.js找找茬吧_第1张图片- 差异图:针对出现偏移的情况,比较清晰的看到偏差内容用OpenCV.js找找茬吧_第2张图片
  • 点匹配图:用于确定偏移具体对象用OpenCV.js找找茬吧_第3张图片
    除此之外,还会输出具体数据结果:
{
  diffPass: false,
  shiftPass: false,
  diff: { diffPrecent: 5.39483400081052, imgDistance: 0.03125 },
  shift: { rate: 0.5106382978723404, shiftCount: 24, goodMatchesCount: 47 },
  img: {
    diff: '/Users/key/Desktop/mini/testForImgCom/images/RESULT.png',
    shift: '/Users/key/Desktop/mini/testForImgCom/images/RESULT_MATCHES.png',
    diffByPixel: '/Users/key/Desktop/mini/testForImgCom/images/RESULT_DIFF.png'

  }
}

还能收获什么

极少有人会去选择js或OpenCV.js来做图像处理,但如果你有使用JavaScript进行图像处理的需求,并且与该包需求类似,考虑到OpenCV.js在这一方面(尤其是feature2d)并没有文档,这份包的源码是一份很好的实践参考代码。并且,这份代码真正被运用到了业务中,能够保证在各种场景下能够取得预期结果,很多东西可以被复用(尤其是如何获取OpenCV初始化时机)。

你可能感兴趣的:(javascript,开发语言,ecmascript)