小编Emi*_*ebb的帖子

什么是OpenCV模板匹配Max Min值范围?需要用作theshold/c ++/java

我正在使用模板匹配创建一个简单的openCV应用程序,我需要比较在大图像中查找小图像并返回结果为true(如果匹配找到)或false(未找到匹配项).

    Imgproc.matchTemplate(largeImage, smallImage, result, matchMethod);
    Core.normalize(result, result, 0, 1, Core.NORM_MINMAX, -1, new Mat());

    MinMaxLocResult mmr = Core.minMaxLoc(result);

    double minMaxValue = 1;
    if (matchMethod== Imgproc.TM_SQDIFF || matchMethod== Imgproc.TM_SQDIFF_NORMED)
    {
        minMaxValue = mmr.minVal;
        useMinThreshold = true;
    }
    else
    {
        minMaxValue = mmr.maxVal;
    }
Run Code Online (Sandbox Code Playgroud)

现在的问题是使用这个minMaxValue做出决定(真/假).我知道上面两种方法TM_SQDIFF和TM_SQDIFF_NORMED返回低值,而其他方法返回高值,所以我可以有2个不同的阈值并比较一个阈值(取决于模板方法类型).

因此,如果有人可以解释MinMaxLocResult返回的minVal和maxVal范围是多么好.

它是0到1范围?

如果是,对于Max类型模板方法,值1是否完美匹配?

c++ java opencv image-processing template-matching

7
推荐指数
1
解决办法
9044
查看次数

使用 pHash 搜索庞大的图像数据库,最好的方法是什么?

我需要搜索一个巨大的图像数据库以使用 pHash 查找可能的重复项,假设这些图像记录具有使用 pHash 生成的哈希码。

现在我必须比较一个新图像,我必须使用 pHash 针对现有记录为此创建哈希。但根据我的理解,有比较并不像

hash1 - has2 < threshold
Run Code Online (Sandbox Code Playgroud)

看起来我需要将两个哈希码传递到 pHash API 中进行匹配。所以我必须从数据库中批量检索所有哈希码并使用 pHash API 一一比较。

但是如果我有大约 1000 张图像在队列中与数百万已经存在的图像进行比较,这看起来不是最好的方法。

我需要知道以下内容。

  1. 我对使用 pHash 与现有图像数据库进行比较的理解/方法是否正确?
  2. 有没有更好的方法来处理这个问题(不使用像里拉这样的 cbir 库)?
  3. 我听说有一种叫做 dHash 的算法,它也可以用于与哈希码的图像比较。是否有任何 java 库用于此,可以将其与 pHash 一起使用以优化大图像和重复图像处理任务的任务。

提前致谢。

java image-processing duplicate-removal cbir phash

4
推荐指数
1
解决办法
2703
查看次数

使用java解析robot.txt并确定是否允许使用url

我目前在应用程序中使用jsoup来解析和分析网页.但我想确保我遵守robot.txt规则并且只访问允许的页面.

我很确定jsoup不是为此制作的,而是关于网页抓取和解析.所以我打算让函数/模块读取域/站点的robot.txt,并确定我是否允许访问的URL.

我做了一些研究,发现了以下内容.但我不确定这些,所以如果有人做同样的项目,其中涉及到robot.txt解析请分享你的想法和想法会很棒.

http://sourceforge.net/projects/jrobotx/

https://code.google.com/p/crawler-commons/

http://code.google.com/p/crowl/source/browse/trunk/Crow/src/org/crow/base/Robotstxt.java?r=12

java web-scraping jsoup crawler4j

4
推荐指数
1
解决办法
5462
查看次数