InstagramのAPIを使用してWebアプリケーションを実行しています。この演習に必要なポイントの 1 つは「Python コードで C ライブラリを使用する」であるため、CTYPES を使用して ImageMagick を調整し、写真にフィルターを適用します。
だから、私はURL画像を持っていて、フィルターを適用したい:
from ctypes import *
factor = 2
libwand=CDLL("libMagick++.so.5")
libwand.MagickWandGenesis()
magick_wand = libwand.NewMagickWand()
#url_image is a simple url like http://www.images.com/123.jpg
libwand.MagickReadImage(magick_wand,url_image)
libwand.MagickBlueShiftImage(magick_wand,factor);
libwand.MagickWriteImage(magick_wand,'./login/static/images/imagenNueva.jpg');
単純な tets.py でこれを行うと正常に動作しますが、django の views.py に配置すると、セグメンテーション違反が発生します。
gdb の出力は次のとおりです。
プログラム受信信号 SIGSEGV、セグメンテーション違反。0x00007ffff782dfb7 in kill () at ../sysdeps/unix/syscall-template.S:81 81 ../sysdeps/unix/syscall-template.S: ファイルまたはディレクトリが存在しません。