小编mat*_*ias的帖子

选择具有自定义排名功能的独立搜索服务器,spartial search

我正在研究为我参与的项目选择搜索服务器的不同选项.搜索服务器用于在Rails中构建的约会网站上提供结果,其中搜索提供所有'匹配' - 魔术.

典型的查询将涉及使用表达式(伪代码)对文档/结果进行排名:

  • 按排名排序:
    • 如果has_image属性为true,则为+50
    • 如果has_boost属性为true,则为+10
    • 如果纬度/经度距离[点] 40英里以内,则为+50
    • +20如果纬度/经度在80英里以内[点]
    • - (从属性'age'到30的距离)
  • 过滤:
    • 属性'年龄'在25到35之间
    • 属性"性"等于"男性"

默认情况下,我不需要大多数搜索服务器的全文功能,而且我不需要检索完整的文档 - 只需要一个唯一的ID.

项目的性质为具有以下属性的搜索服务器产生:

  • Spartial排名
  • 基于自定义函数的结果排名
  • 属性过滤器
  • 可扩展且快速
  • 自由

我找到了Sphinx,Solr和ElasticSearch,但所有这些(据我所见)都是针对全文搜索构建和优化的,ES和Solr都是基于Lucene构建的,我不知道什么会表现最好用于过滤/属性重搜索.

我的问题:

  • 您更喜欢哪些服务器?为什么?
  • 我错过了其他明显的选择吗?

lucene solr full-text-search sphinx

3
推荐指数
1
解决办法
763
查看次数

使用 ImageMagick 裁剪具有焦点区域(面部)的图像

我正在努力寻找正确的方法来调整大小、裁剪和图像,并有一个重点区域。在我的情况下,焦点区域是图像中检测到的人脸,我需要确保该区域在裁剪后的版本中可见。

我有例如给出的焦点区域。face_height、face_width、face_center_x 和 face_center_y。这些值是原始图像尺寸的百分比。

我想做的是得到一个例如。60x60 缩略图。正常的方法是调整大小,使图像的高度或宽度等于 60px,然后从中心裁剪 60x60,如下所示:

mogrify -resize 60x -gravity 'Center' -crop 60x60 image.jpg
Run Code Online (Sandbox Code Playgroud)

可以采取什么方法将我的作物集中在给定区域周围?

我正在考虑一个包含多个路径的解决方案:

  1. 如果脸部区域比想要的缩略图大,调整图像大小,使整个脸部以 60x60 像素可见,然后裁剪
  2. 如果面部区域小于想要的缩略图,则裁剪“扩大”我的面部区域,直到我想要的拇指可以放入该区域。然后裁剪。我想我需要确保这不会超出原始图像的范围。

有没有更聪明的方法?您可以尝试制作一些示例代码吗?

谢谢!

algorithm geometry crop imagemagick face-detection

3
推荐指数
1
解决办法
6496
查看次数