LoginSignup
1
2

More than 5 years have passed since last update.

dockerfile php + libpuzzle

Posted at

さらっと類似画像検索を試したく、phpのlibpuzzleを使おうとした時のdockerfileメモ。

FROM centos:7

RUN yum -y install gd gd-devel gcc gcc-c++ make php-devel which wget
RUN cd /usr/local/src && \
    wget https://download.pureftpd.org/pub/pure-ftpd/misc/libpuzzle/releases/libpuzzle-0.11.tar.gz && \
    tar -xvzf libpuzzle-0.11.tar.gz
RUN cd /usr/local/src/libpuzzle-0.11 && \
    ./configure --with-libpuzzle && \
    make clean && \
    make && \
    make install 
RUN cd /usr/local/src/libpuzzle-0.11/php/libpuzzle && \
    phpize && \
    ./configure --with-libpuzzle && \
    make && \
    make install
RUN sed -ie '$ a extension=libpuzzle.so' /etc/php.ini

サンプル

smp.php
$a = puzzle_fill_cvec_from_file('./a.jpg');
$b = puzzle_fill_cvec_from_file('./b.jpg');
$diff1 = puzzle_vector_normalized_distance($a, $b);
echo "a-b:" . $diff1 . "\n";
# out: a-b: 0.723XXXXX

本題とは全然関係ないけど

smp.php
$img = file_get_contents("http://hoge/a.jpg");
$a = puzzle_fill_cvec_from_file($img);

だと上手くシグネチャを作ってくれなかった。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2