2018年9月18日火曜日

Yocamで電車車窓と車内のタイムラプス

中華カメラの割に、車内と外の明暗差で黒つぶれ白飛びしていない。
10秒おきに静止画撮影してffmpegで動画作成。
カメラをポン置きしただけなので、列車の揺れでズレる。

2018年8月20日月曜日

土手かぼちゃ収穫

「斜面にかぼちゃを作ると良い」、と農業書に書いてあったので栽培。
実の接地面が傾斜地なので、あまり汚れず良い。


2018年8月7日火曜日

おれんじ鉄道爆走・JR線乗り入れ

西熊本駅で待っていたら、通過電車に注意のアナウンス。
ものすごい爆走で、おれんじ鉄道の車両が通過していった。

普段は田園地帯の単線をのんびり走っているイメージだが、土日休日のJR乗り入れでは
複線の高架に興奮して走って来たイメージ。

2018年8月6日月曜日

ポップコーンを播いたらポップしない

スーパーで売っている調理用のポップコーンの実を播いたら、結実した。
それをポップするよう調理したら、はじけない。
元がF1品種だったのか?

2018年8月1日水曜日

自作バロックリュートもどきをルネサンスリュートの調弦で弾く

張力でテイルピース壊れたので、弦の数を減らして、ルネサンスリュートにする。
ダウランドを弾いてみる。
低音弦がオクターブの副弦なので、旋律の対位が明瞭。(ギターでは低音がぼーっとして気が付かない)


2018年7月28日土曜日

2018年7月8日日曜日

enfuse画像のHDR画像加工自動化Pyhthonプラグイン成功

enfuse画像のHDR画像加工自動化Pyhthonプラグイン成功。
Pythonの書式に従ってタブ下げすればよかった。

Hello Worldのサンプルに付け足した。

#!/usr/bin/python
from gimpfu import *
import gimpfu,time
from datetime import date

def plugin_main(image, drawable):
theImage=gimp.image_list()[0] 
lay=theImage.active_layer

drawable = pdb.script_fu_separate_luminance(theImage, TRUE, FALSE)
active_layer = pdb.gimp_image_get_layer_by_name(theImage, "Lum")
pdb.gimp_levels_auto(active_layer)


pdb.gimp_image_set_active_layer(theImage, active_layer)
pdb.script_fu_advanced_tone_mapping(theImage, active_layer, 10, 75, 90, 2)


active_layer = pdb.gimp_image_get_active_layer(theImage)
pdb.gimp_levels_auto(active_layer)

pdb.gimp_image_lower_layer(theImage, active_layer)
pdb.gimp_image_lower_layer(theImage, active_layer)

new_layer=theImage.add_layer(pdb.gimp_layer_copy(active_layer, True),-1)
layer=theImage.active_layer
active_layer=pdb.gimp_drawable_set_name(layer, 'ToneMapcopy1')

active_layer = pdb.gimp_image_get_layer_by_name(theImage, "Chroma")
new_layer=theImage.add_layer(pdb.gimp_layer_copy(active_layer, True),-1)
layer=theImage.active_layer
active_layer=pdb.gimp_drawable_set_name(layer, 'Chromacopy')

active_layer = pdb.gimp_image_get_layer_by_name(theImage, "Lum")
pdb.gimp_image_lower_layer(theImage, active_layer)
active_layer = pdb.gimp_image_get_layer_by_name(theImage, "ToneMapcopy1")
pdb.gimp_image_raise_layer(theImage, active_layer)
pdb.gimp_image_raise_layer(theImage, active_layer)
active_layer = pdb.gimp_image_get_layer_by_name(theImage, "Chromacopy")
pdb.gimp_displays_flush()
pdb.script_fu_sg_copy_mask_from_above(theImage, active_layer)
active_layer = pdb.gimp_image_get_layer_by_name(theImage, "Chromacopy")
pdb.gimp_image_raise_layer_to_top(theImage, active_layer)

active_layer = pdb.gimp_image_get_layer_by_name(theImage, "Lum")
pdb.gimp_image_raise_layer(theImage, active_layer)

mask = pdb.gimp_layer_create_mask(active_layer, 5)
pdb.gimp_layer_add_mask(active_layer, mask)
pdb.gimp_invert(mask)
pdb.gimp_layer_set_mode(active_layer, 4)

active_layer = pdb.gimp_image_get_layer_by_name(theImage, "ToneMapcopy1")
mask = pdb.gimp_layer_create_mask(active_layer, 5)
pdb.gimp_layer_add_mask(active_layer, mask)
pdb.gimp_invert(mask)
pdb.gimp_layer_set_mode(active_layer, 5)

pdb.gimp_displays_flush()


register(
        "python_fu_resize",
        "Saves the image at a maximum width and height",
        "Saves the image at a maximum width and height",
        "Nathan A. Good",
        "Nathan A. Good",
        "2010",
        "<Image>/Image/Resize to max...",
        "RGB*, GRAY*",
        [],
        [],
        plugin_main)
main()