exifをいじってロスレス画像回転

久しぶりに投稿を

ちょいと案件で画像をロスレスで回転できないかなってことでやってみたのでメモ

調べてみたところ、画像のexifをいじるのはexiftoolってのが便利みたい。
他にもpelとかあるけど、どうもコードが長くなる傾向が。

www.sno.phy.queensu.ca
lsolesen/pel @ GitHub

結果から言うとexifでのロスレス回転はできるものの、chromeなどのブラウザではimgタグで画像を表示する際はexifの回転情報を反映しないとのこと
#新規タブで画像のみを開く場合はOK

ってことで、現状ではPHPなりconvertなりで画像を劣化させながら回転されるしか無いみたい。

縦と横が8の倍数であれば、ロスレス回転も可能だが、スマホのカメラなどの画素数は8の倍数なんだろうか。
maplesikou.seesaa.net

簡単なソースコード

<?php

/*
  1: // 通常
  2: // 水平反転
  3: // 180°回転
  4: // 垂直反転
  5: // 水平反転、 時計回りに90°回転
  6: // 時計回りに90°回転
  7: // 時計回りに270°回転(反時計回りに90°回転) 水平反転
  8: // 時計回りに270°回転(反時計回りに90°回転)
*/

$rotate_id = 3;
$filename = "image.jpg";

$cmd = "exiftool -overwrite_original -Orientation={$rotate_id} -n {$filename} ";
system( $cmd );

私的メモ

RaspberryPi - Raspberry PiとArduinoでシリアル通信 - Qiita http://qiita.com/k_kinukawa/items/6eefb56c5c76863f7697

RaspberryPi - Raspberry Piで音を出すまで - Qiita http://qiita.com/plsplsme/items/57b8d79d3725497fd69b

Raspberry Piで音遊び! | Device Plus - デバプラ http://deviceplus.jp/hobby/raspberrypi_entry_012/

Raspberry Piで手作り目覚まし時計!(2)音声アラーム編」 | Device Plus - デバプラ http://deviceplus.jp/hobby/raspberrypi_entry_020/

Raspberry pi http://www.yam-web.net/raspberry-pi/music.html

SmartLaser mini をちょっとやってみた

f:id:haru-komugi:20151006172857j:plain

少し、暇なので、レーザーカッターを買って遊んでみました。

今回使用したレーザーカッターは、SmartLaser miniで、木に刻印をしたり紙を切ったりできる代物です。
ただ、商品を注文しても材料が送られてきて自分で組み立てる必要があるので結構たいへんかもしれません。
#一応5~6時間で作れます

www.smartdiys.com

今回の作品の設定はこんな感じ

画像 f:id:haru-komugi:20151006172934j:plain f:id:haru-komugi:20151006172947j:plain f:id:haru-komugi:20151006172958j:plain
速度 F1500 F1500 F1200
出力 80% 100% 100%

他にも、焦げる系のものであれば、なんでも刻印できると思います。
薄い場合は、複数回刻印をすると文字ははっきりします。

f:id:haru-komugi:20151006173421j:plain

イラストの塗りつぶし部分は、アミカケで表現します。

f:id:haru-komugi:20151006173457j:plain

ちなみに、写真でもやってみたのですが、どうにもキレイにいかなかったのでこれは練習が必要そうです。
#はっきりした写真のほうがいいのかも?

f:id:haru-komugi:20151006173709j:plain

参考リンク

www.smartdiys.com

CentOS6.5 に mod_h2(http2) をインストールしてみた(失敗中)

CentOS6.5 に mod_h2(http2) をインストールしてみました(失敗中)

mod_h2のインストールには autoconf >= 2.6.8 や nghttp2 などが必要なので、順次先に入れておきます。

以下、手順。

autoconf 2.6.9 のインストール

$ wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
$ tar zxvf autoconf-2.69.tar.gz
$ cd autoconf-2.69
$ ./configure --prefix=/usr
$ make
$ make install
$ autoconf --version

APXS ( APache eXtenSion tool ) のインストール

多くの方は入れていると思いますが、APXSってあまり聞かなかったので掲載

$ yum install httpd-devel

nghttp2 のインストール

$ git clone https://github.com/tatsuhiro-t/nghttp2.git
$ cd ./nghttp2
$ autoreconf -i
$ automake
$ autoconf
$ ./configure
$ make
$ make install

mod_h2 のインストール

$ wget https://github.com/icing/mod_h2/archive/master.zip
$ unzip master.zip
$ cd mod_h2
$ autoreconf -i
$ automake
$ autoconf
$ ./configure
$ make

コンパイルエラーが出て諦め
おそらくは apache2.4 をインストールすれば問題ないような
ぼちぼちDockerでも・・・

参考リンク

github.com
d.hatena.ne.jp
serverfault.com
qiita.com

Webカメラでインターバル撮影

Webカメラでインターバル撮影を行ってみました。

f:id:haru-komugi:20150629165842j:plain

最初は一眼レフのインターバル機能で撮影をしていたのですが、そういえば、linuxであればcronとWebカメラを使えば同様のことができるのでは? ってことでやってみました。

最終的にこんな感じの動画を作ることができます。www.youtube.com

#1日中撮影すると結構おもしろいかも

静止画撮影もできる fswebcam のインストール

$ sudo apt-get install fswebcam

作業ディレクトの作成とキャプチャー用シェルの新規作成

$ mkdir /var/www/captureImage
$ sudo chmod 777 /var/www/captureImage
$ sudo emacs /var/www/captureImage/captureImage.sh

記述する内容はこちら
出力するファイル名あたりはお好みで

#!/bin/bash

DATE=$(date +"%Y%m%d%H%M%S")

fswebcam -r 640x480 --no-title --no-banner --no-shadow /var/www/captureImage/$DATE.jpg

実行権限の付加

$ sudo chmod +x /var/www/captureImage/captureImage.sh

クローンで定期実行(1分ごとに)

$ crontab -e
*/1 * * * * /var/www/captureImage/captureImage.sh

#emacs派な自分にはviが立ち上がるので面倒ですが、そこは気合で

これで1分ごとにカメラからの静止画が /var/www/captureImage/ ディレクトリに追加されていきます。
あとは convert や ffmpeg などで動画化してあげれば変化の様子が分かるかと思います。

ffmpegのインストールと静止画から動画

通常通りインストールすると面倒らしいので motion からffmpegをインストール

$ sudo apt-get -y install motion

ffmpeg用にキャプチャーした画像ファイルのリンクを連番で作成(これめんどい)

$ c=1 ; for i in ??????????????.jpg ; do ln $i `printf %d $c`.jpg ; c=$((c+1)) ; done

静止画から動画に変換

$ sudo ffmpeg -f image2 -r 15 -i %d.jpg -r 15 -an -vcodec libx264 -pix_fmt yuv420p video.mp4

参考リンク

d.hatena.ne.jp
qiita.com
qiita.com
www21.atwiki.jp
www.server-memo.net