「imagemagick」を含む日記 RSS

はてなキーワード: imagemagickとは

2023-06-01

ImageMagickはそろそろ0から設計した奴に代変わりして欲しい

ただね、特定機能だけ持ってますってのは要らねーのよ

互換性があってセキュリティ的に再設計したやつが必要なの

特にCUI大事なのにGUIのビューアとか代替品として提案してるやつは目玉引っこ抜いてミキサーに掛けるから

2023-02-20

結局Mastodon(ActivityPub/Fediverse)ってギーク砂場なのよね

Twitterとの大きな違い、それは誰しもがActivityPubプロトコル互換分散SNSサーバーを立ち上げられるという技術的な面以外にも文化的な大きな違いがあって、Twitterでは誰しもが受信者であり発信者であることが工程されるけれども、ActivityPubプロトコルネットワーク通称Fediverseでは発信者の中でも特に面白いことを作り出す創造者が特に高く評価される傾向にある。

ActivityPubプロトコル互換分散SNSサーバーであるMastodonやMisskeyにはユーザー自身(正確にはサーバー管理者)が自由投稿文中へ埋め込めるカスタム絵文字を設定できるし、更にMisskeyではカスタム絵文字によるSlackDiscodeのようなリアクション対応し、MFM(Markup language For Misskey)と呼ばれる文字装飾に関するマークアップ環境が整えられておりユーザーはより自由度の高い自己表現投稿をすることが可能だ。

そんなFediverseに居る創造者たちはGIMPInkscapeFFmpegImagemagickなどを使いこなし、日々面白いカスタム絵文字アニメーションGIFを生み出してはタイムライン上で笑いを誘い、そしてTwitterでは知られることのないネットミームを生み出しては、いつの間にかTwitterでも使われるようになるのは珍しくなくなっている。

そのノリはまるで世間を全く知らない男子中学生のようで、バイトを始める人が多くなる高校生にすら至らない子供じみた文化だと言える。

ここまで書いて思うのはActivityPub、プロトコル分散SNSサーバー、Fediverse、GIMPInkscapeFFmpegImagemagicketc...様々な単語を持ち出したが、これら単語へ即座に反応できる人こそが色々と問題騒動が巻き起こっている現在Twitterから別のマイクロブログSNS移住することができる素質を持つ人々だということだ。ポイントは「移住することができる」である。つまりTwitterには「できない」人が居るのだ。

男子中学生のような子供じみた文化についていけない以前に、明らかにFediverseでは実際に手を動かして五感を刺激する創造へ対する評価が妙に高い。例えば社会問題へ鋭い意見を単なる文字で"ツイート"するだけじゃFediverseでは評価されにくいのではないか?という疑念がある。

Twitterでもイラストショート動画面白いGIF評価される。しかユーザー割合で言うと、そのような実際に手を動かして五感を刺激する創造を行える者は少ない。Fediverseではそれが当たり前だとでも言うかのように割合として創造者が多すぎる。

無産オタクなどという言葉が稀に見られるけれどもFediverseでは無産オタクであっても少なくともカスタム絵文字マークアップ面白おかしく装飾できるようでないと居心地が悪く感じてしまうのだ。Fediverseで無産オタク価値がないと誰も言わないが、創造者への評価が異常に高いので相対的に無産オタク価値は低いという現状がある。

誰かが砂場で山を作る、そしてそれを面白がった誰かがトンネルを掘る、水を使えば更に面白い造形が出来て流れる水はスゴイのでは?と誰かが提案し実行する。

Fediverseでは砂場の周りで評論しても砂場の中で遊んでいる子供は決して砂場の外へ目を向けない。眼の前の砂の山をどうするかで頭が一杯なのだ

それは選民意識か?おそらくたぶんきっと違う。

選民意識に使うリソースなどFediverseの創造者たちは持っておらず砂の山しか見ておらず、砂場の周りで評論する自分たちことなんか全く気にしていないからだ。

2021-12-16

anond:20211216144836

昔、画像ImageMagickでいじって返すだけのサイトをやってたとき日本企業はもうだめだと思った

なおいわゆるバズった(当時はそんな言葉もなかったが)あとに一番多かった問い合わせは「画像を返してください」だったので覚悟するとよいよ

2021-03-04

Power automate desktop を試してハマったこ

スキャンしてOCRかけてデータ化を試してた時にうまくいかない。範囲指定画像認識して範囲指定がうまくいかない。

色々試して解決したのでメモ

スキャン画像と画面表示のdpiを一致させなければいけない模様。

スキャンは200dpiでやっていたのでデータも200dpi作成されていたけど画面が96だった。

powershellスクリプトimagemagick使ってスキャン画像dpiを96に変更してからOCRかけたらうまくいった。

全然ヘルプもなくググってもわからなかったので時間かかってしまったけど解決して満足。

これからもいろいろ試して遊べそう。

2018-06-14

anond:20180614110424

Webサーバ動かしたり、ImageMagickとか使うとWindows上の仮想環境だと重いのが難点だけどね

ハイパワーマシンあるならSSHしたほうが良いし

2018-06-13

anond:20180612193118

バッチ処理なら、ImageMagick&GhostScriptではいかんのか?

CLIでやる話にいちいちXvfbを持ち出すのは気が進まなくてなー。

2018-06-12

anond:20180612125650

GUI普通に使えて、Ctrl+Alt+Tでターミナル起動してtouchやmkdirやcpmvを知っていてVim設定ファイル簡単な書き換えができる程度

たぶんwgetImageMagickFFmpegあたりも使えるはず

娘はやらん

2014-08-24

http://q.hatena.ne.jp/1408437001

~/hatena/q1408437001% sh batch.sh cat.jpg glenn.jpg london.jpg virgo.jpg

jpeg run with "cjpeg -quality 30 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 cat1.diff.png: mean 658.499

#10 cat10.diff.png: mean 0

#100 cat100.diff.png: mean 0

#1000 cat1000.diff.png: mean 0

im run with "convert w.pnm -quality 15 t.jpg" & "convert t.jpg w.pnm"

#1 cat1.diff.png: mean 1012.47

#10 cat10.diff.png: mean 0

#100 cat100.diff.png: mean 0

#1000 cat1000.diff.png: mean 0

j2k run with "opj_compress -r 400 -i w.pnm -o t.jpg.j2k > /dev/null 2>&1" & "opj_decompress -i t.jpg.j2k -o w.pnm > /dev/null 2>&1 ; mv t.jpg.j2k t.jpg"

#1 cat1.diff.png: mean 852.046

#10 cat10.diff.png: mean 153.899

#100 cat100.diff.png: mean 0

#1000 cat1000.diff.png: mean 0

jpeg run with "cjpeg -quality 30 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 glenn1.diff.png: mean 3399.9

#10 glenn10.diff.png: mean 13.1817

#100 glenn100.diff.png: mean 0

#1000 glenn1000.diff.png: mean 0

im run with "convert w.pnm -quality 15 t.jpg" & "convert t.jpg w.pnm"

#1 glenn1.diff.png: mean 3774.37

#10 glenn10.diff.png: mean 2.9123

#100 glenn100.diff.png: mean 0

#1000 glenn1000.diff.png: mean 0

j2k run with "opj_compress -r 400 -i w.pnm -o t.jpg.j2k > /dev/null 2>&1" & "opj_decompress -i t.jpg.j2k -o w.pnm > /dev/null 2>&1 ; mv t.jpg.j2k t.jpg"

#1 glenn1.diff.png: mean 5124.25

#10 glenn10.diff.png: mean 34.9354

#100 glenn100.diff.png: mean 0.54037

#1000 glenn1000.diff.png: mean 0

jpeg run with "cjpeg -quality 30 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 london1.diff.png: mean 1145.86

#10 london10.diff.png: mean 2.94233

#100 london100.diff.png: mean 0

#1000 london1000.diff.png: mean 0

im run with "convert w.pnm -quality 15 t.jpg" & "convert t.jpg w.pnm"

#1 london1.diff.png: mean 1589.42

#10 london10.diff.png: mean 0.262741

#100 london100.diff.png: mean 0

#1000 london1000.diff.png: mean 0

j2k run with "opj_compress -r 400 -i w.pnm -o t.jpg.j2k > /dev/null 2>&1" & "opj_decompress -i t.jpg.j2k -o w.pnm > /dev/null 2>&1 ; mv t.jpg.j2k t.jpg"

#1 london1.diff.png: mean 1874.1

#10 london10.diff.png: mean 34.7301

#100 london100.diff.png: mean 0

#1000 london1000.diff.png: mean 0

jpeg run with "cjpeg -quality 30 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 virgo1.diff.png: mean 655.998

#10 virgo10.diff.png: mean 0.593173

#100 virgo100.diff.png: mean 0

#1000 virgo1000.diff.png: mean 0

im run with "convert w.pnm -quality 15 t.jpg" & "convert t.jpg w.pnm"

#1 virgo1.diff.png: mean 967.051

#10 virgo10.diff.png: mean 0.276289

#100 virgo100.diff.png: mean 0

#1000 virgo1000.diff.png: mean 0

j2k run with "opj_compress -r 400 -i w.pnm -o t.jpg.j2k > /dev/null 2>&1" & "opj_decompress -i t.jpg.j2k -o w.pnm > /dev/null 2>&1 ; mv t.jpg.j2k t.jpg"

#1 virgo1.diff.png: mean 689.347

#10 virgo10.diff.png: mean 72.9174

#100 virgo100.diff.png: mean 55.549

#1000 virgo1000.diff.png: mean 145.837

追記:quality 95でも行った。収束は遅くなるが100回までで収束した。

jpeg95 run with "cjpeg -quality 95 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 cat1.diff.png: mean 59.3537

#10 cat10.diff.png: mean 9.35999

#100 cat100.diff.png: mean 0

#1000 cat1000.diff.png: mean 0

jpeg95 run with "cjpeg -quality 95 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 glenn1.diff.png: mean 2104.51

#10 glenn10.diff.png: mean 69.472

#100 glenn100.diff.png: mean 10.8727

#1000 glenn1000.diff.png: mean 0

jpeg95 run with "cjpeg -quality 95 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 london1.diff.png: mean 79.604

#10 london10.diff.png: mean 80.2684

#100 london100.diff.png: mean 8.79387

#1000 london1000.diff.png: mean 0

jpeg95 run with "cjpeg -quality 95 w.pnm > t.jpg" & "djpeg t.jpg > w.pnm"

#1 virgo1.diff.png: mean 213.594

#10 virgo10.diff.png: mean 11.7891

#100 virgo100.diff.png: mean 0.00817928

#1000 virgo1000.diff.png: mean 0

~/hatena/q1408437001% cat batch.sh

#/bin/sh
work=w.pnm
temp=t.jpg
list="jpeg im j2k"
enc_jpeg="cjpeg -quality 30 $work > $temp"
dec_jpeg="djpeg $temp > $work"
enc_im="convert $work -quality 15 $temp"
dec_im="convert $temp $work"
enc_j2k="opj_compress -r 400 -i $work -o $temp.j2k > /dev/null 2>&1"
dec_j2k="opj_decompress -i $temp.j2k -o $work > /dev/null 2>&1 ; mv $temp.j2k $temp"

for orig in "$@" ; do
	for name in $list ; do
		eval enc=\$enc_$name
		eval dec=\$dec_$name
		if [ "x$enc" == x -o "x$dec" == x ] ; then continue ; fi
		echo $name run with  \"$enc\" "&" \"$dec\" || continue
		mkdir $name > /dev/null 2>&1
		chdir $name || contimue
		convert ../$orig $work || return 1
		i=0
		before=../$orig
		for c in 1 10 100 1000 ; do
			while [ $i -lt $c ] ; do
				eval $enc && \
				eval $dec && \
				i=$((i+1)) || break
			done
			base=${orig%.*}${i}
			cp $temp ${base}.jpg
			convert $work ${base}.png
			composite $before ${base}.png -compose difference ${base}.diff.png
			echo -n "#$i "
			identify -format '%f: mean %[mean]\n' ${base}.diff.png
			before=${base}.png
		done
		chdir .. || return 1
	done
done

サンプルデータの元は下記を使用

cat.jpg
http://f.hatena.ne.jp/SQB/20140823171814
glenn.jpg
https://www.flickr.com/photos/nasacommons/9417092314/?rb=1
london.jpg
http://f.hatena.ne.jp/SQB/20140823144943
virgo.jpg
https://www.flickr.com/photos/stuutje/14970601715/?rb=1

コーデックは下記を使用

jpeg
cjpeg & djpeg, The Independent JPEG Group's, var.8d, http://www.ijg.org/
im
convert, ImageMagick, ver.6.8.9-4, http://www.imagemagick.org/
j2k
opj_compress & opj_decompress, The OpenJPEG library, var.2.1.0, https://code.google.com/p/openjpeg/

2014-01-06

http://anond.hatelabo.jp/20140106114700

はてな別にそんな関係ないだろ。

はてな以前に2chで盛り上がってまとめで取り上げる、ってところまでで終わってるんだから

はてブなんてまとめサイトの内容がなんであれ簡単に人気エントリ化する馬鹿システムなんだから


でも、見てりゃ初心者だろ?

初心者を装った中級者と自称してる馬鹿が実はホント初心者レベル馬鹿だったってとこじゃないか

Bashの主な用途ImageMagickアニメキャプチャGIFを作ること

Bash関係ないし。でも多分本人はこれでImageMagick知ってる自分すげー、を少しアピールしたいんじゃ?

えっ非同期処理?書き方すらというかどういうシーンで活躍するかもわかんない!

ずっとBashでif文とループ文書いておけば冗長になっても何とかなるし!

非同期、って言葉を知ってる自分アピールしたいのかなんなのか知らんが、Bashでもあるんだけどな。。。


と、この辺いくつか見てると、vimshellで見せてる辺りも使えてる自分すげーなんだろうし、

中途半端に覚えた馬鹿初心者装って自分すげーアピールしつつ釣りをしようと思った、ってとこじゃないか

でも実はホント初心者だった、ていう落ちじゃん?


てか、あの程度なら普通にbashスクリプトで書けば良いじゃん。。。($RANDOMすら知らんのかね。。。?)

2013-12-10

環境設定が一番大変

Redmineインストールがようやく終わった。

rubyインストールして、railsインストールして、PostgreSQLインストールして、OpenSSLインストールして、ImageMagickインストールしたけどrmagickがインストール出来ずに断念して、ようやくRedmineインストール可能な状態になったって敷居高すぎだろ。手順に沿って上記のソフトを入れるだけでも面倒なのに、所々でエラーになるし、手順は大抵Unix/Linux環境向けだし、インストールで力尽きた感がある。

大体新しい物を学習しようと思った時は一番最初環境設定の部分で躓くんだよな。

 
ログイン ユーザー登録
ようこそ ゲスト さん