2019年6月15日土曜日

ImageMagick インストール



 ImageMagick インストール
[2019-06-15 10:35]

pythonにはPythonMagickがあってそれをインストールすれば
PythonMagickで画像を揺らす
http://kyle-in-jp.blogspot.com/2011/05/pythonmagick_22.html
# coding=UTF-8
import PythonMagick
# 画像を揺らす
...............
でpythonで直接画像を操作するコードが書ける。


とできるようだが、使い勝手が悪いという情報があり
下記サイト参考に、ImageMagickをインストール。
UbuntuにImageMagickをインストールする
https://pcl.solima.net/archives/716


また
Python3 別途ライブラリをインストールせず、ImageMagickを使用するpymraw
https://symfoware.blog.fc2.com/blog-entry-2022.html
をインストールすれば,同様にコードが書ける。
しかしこれもやめておく。


で、pythonからImageMagickのターミナルコマンドを実行させ るコードを書く。
(ImageMagickはターミナルからコマンドを実行させる形式)

方法1
import os から
 cmd = "...."%(INPUT, SIZE, SIZE, ox, oy, out)
 print cmd
 os.system(cmd); #これでターミナルコマンドを実行
参考サイト
ImageMagickで画像を切り抜いて連結する
https://qiita.com/2dgames_jp/items/dd42246007e88609fabd

方法2
cmd = cmd + o_resize + o_out
res = subprocess.call(cmd, shell=True)#これでターミナルコマンドを実行
参考サイト
dondakeshimoの丸太
https://went-went-takkun135.hatenablog.com/entry/2017/06/26/233256


上サイトの引用と蛇足で作成したコード
#!/usr/bin/env python
# -*- coding: utf-8 -*- 

import subprocess

def changeSize(image, scale):
    #画像のサイズを縦横比を変えず%で指定
    comd = "convert {} ".format(image)
    o_resize = "-resize {}% ".format(scale)
    o_out = "rsize_{}".format(image)

    comd = comd + o_resize + o_out
    res = subprocess.call(comd, shell=True)
    #コマンドは半角スペース毎に配列で与えるため、split関数を使う
    #subprocess.call(comd.split())

changeSize("m_aoi.png", 50)


ターミナルコマンドを実行するには以下のどちらでもよかった。
    subprocess.call(comd, shell=True)
    subprocess.call(comd.split())


ImageMagickのAPIの参考サイト
ImageMagickの使用例 -- 入門
https://qiita.com/mtakizawa/items/a74bd91f7b3835976461
ImageMagick コマンドリファレンス
https://image-magick.com/

~                                             

0 件のコメント:

コメントを投稿

About

参加ユーザー

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

ページ

Featured Posts