zoukankan      html  css  js  c++  java
  • Erlang/Elixir: 使用 OpenCV, Python 搭建图片缩略图服务器

    这篇文章是在OSX上测试和运行的的, Ubuntu下的安装和配置请移步到这里

    应用程序进程树, 默认 Poolboy 中初始化10个用于处理图片的 Python 工作进程(Worker)

    首先安装OpenCV需要的工具包

    使用 Homebrew 的 Python 版本, 而不是 Mac OS X 系统自带的 Python

    创建 Elixir 项目

    Elixir 模块

    图像处理

    获取宽高

    在 Erlang 和 Python 之间传输二进制数据

    Erlang 的binary()数据类型和 Python 之间的映射关系, 在Python 2.x 中二进制数据类型为 str() 表示, Python 3.x 中为 bytes()

    buf = resp.read(), 其中变量 buf 的类型为

    在 Elixir 我们看的如下的值

    调用 Python 函数

    创建 Python 模块

    之前的 Python 图像处理模块可以组织到一个项目中单独维护. 这里使用工具 cookiecutter创建 Python 一个基本的项目骨架, 用于实现缩略图的功能

    cookiecutter 可以通过多种方式安装, 包括pipeasy_installcondabrew 厦门电动叉车

    目录结构

    API实现

    调用需要从 Poolboy 池中取出一个工作进程, 并调用工作进程的call_python, 进程使用完成后返回 Poolboy 进程池, 这里封装一下以简化调用

    源码

    https://github.com/developerworks/opencv_thumbnail_server

    参考资料

    利用Python和OpenCV将URL直接转换成OpenCV格式
    How to read raw png from an array in python opencv?
    Install OpenCV for Python on Mac OS X
    Installing scikit-image
    How can i read an image from an internet url in python cv2 , scikit image and mahotas
    Using Elixir, erlport with Python 2.7.9, receiving an arity error
    How to read image from in memory buffer (StringIO) or from url with opencv python library
    Python OpenCV convert image to byte string?

  • 相关阅读:
    Python 杨辉三角形
    Python 输出由星号*组成的菱形图案
    Python 计算组合数C(n,i),即从n个元素中任选i个,有多少种选法
    Python 快速判断一个数是不是素数
    判断今天是今年的第几天
    Pyhon 输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是 否继续输入下一个成绩,回答“yes”就继续输入下一个成绩,回答“no” 就停止输入成绩
    KMP算法
    递归实现求解幂集问题
    Python 用大量小矩形来画曲线
    Python 所谓的艺术操作2(带颜色)
  • 原文地址:https://www.cnblogs.com/xyou/p/8249770.html
Copyright © 2011-2022 走看看