ruby

nilじゃない場合だけループを実行する。

objects.each do |object| p object.name endループ処理を書く際、上のように単純に書くとobjectsがnilの場合に例外が出る。 ただ問題を回避するだけなら生真面目にif文で分岐するだけで良い。 unless objects.blank? objects.each do |object| p object.nam…

RMagickで画像を魚眼風に変換してみた。

普通の画像を魚眼レンズで撮った画像みたいに変換してみた。 画像の中心点を基準にして 点xの変換前の距離をd 変換後の距離をd' 焦点距離をf 魚眼レンズの半径をrとすると、座標の変換式は以下。 d' = (r*d) / (f^2 + d^2)^(1/2) この変換式を使って処理する…

RMagickでモザイク処理をしてみた。

像。 モザイク処理をしてみた。 例えばモザイクの単位を5ピクセルにする場合 縦5ピクセル、横5ピクセルの5*5マスのRGB値平均値を算出。 該当範囲をその色で塗りつぶす。 require 'rubygems' require "RMagick" include Magick def mozaic(image, filename, p…

RMagickで特定の色を基準に色置換をしてみた。

画像。 指定したRGB値を基準に色を置換する。 特定の色だけ自然な感じで変えたい時に使える。かもしれない。 require 'rubygems' require "RMagick" include Magick def colorconvert(image, filename, r, g, b) # 置換するRGB値 cr = 255 cg = 255 cb = 220…

RMagickでアンチエイリアス処理をしてみた。

画像処理。 アンチエイリアス処理をしてみた。 処理はエッジ検出の応用。 RGB値が大きく変化している箇所を見つけて、中間色に置き換えることで輪郭が滑らかに見えるようにする。 require 'rubygems' require "RMagick" include Magick def antialias(image,…

RMagickで乗算合成をしてみた。

引き続き画像処理。ピクセル楽しい。今回は乗算合成をやってみた。 乗算合成では、合成後の色を次の式で算出する。 元画像の色 * 合成画像の色 / 256 = 合成後の色 require 'rubygems' require "RMagick" include Magick def multipleconb(image1, image2) i…

RMagickで二値化処理をしてみた。

前回やったエッジ検出が思いのほか楽しかったので二値化処理もやってみた。処理は超単純。 ピクセルごとにRGB値を合計、しきい値を超えたら白、超えなかったら黒で置き換える。 equire 'rubygems' require "RMagick" include Magick def binarize(file, t) w…

RMagickで簡単なエッジ検出をしてみた。

macportsインストール そういえば買い替えてからmacportsを入れてなかったので http://svn.macosforge.org/repository/macports/downloads/からdmgを持って来てインストール。 ImageMagickインストール http://rmagick.rubyforge.org/install-osx.html を参…

twitter bot「cupidder」作ったー

cupidderをフォローしてしばらくするとフォロー返しされる。 フォローされた状態で「彼女欲しい」or「彼氏欲しい」と発言すると、同じように発言した相手をcupidderが紹介してくれるよ!id:maraigueさんのtwbotを使ってみて、うひょーこれならすぐ作れるじゃ…