Main Page

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/hyakuren-soft/www/diary/includes/dateLink.php on line 19

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/hyakuren-soft/www/diary/includes/dateLink.php on line 20


2013年 5月 24日 (金)  
今日から1日1つ、何でもいいので作ったものを報告していこうと思う。
(料理でも工作でも、ソフトウェアでも何でもいいことにする。)
ものづくりの勘を再確認するのが目的。

そして、記念すべき初回は、

「なべしき(段ボール)」

加工前


加工後 (左側の角を取った面を使う)


アマゾンで単行本を買ったときに付属してくる段ボールを加工して作成しました。
我ながら、出だしから気が抜けていて、いい感じです。

これからも頑張ります。




転職前の会社の同僚から荷物が届いた。
かなり以前に貸した CD-ROM ボックスが発掘されたので送ったよ、とのこと。



だが、だとしたらこの突起物は何? (新潟県の白山神社、らしい。)
「怪しいなー」とか「配達の方、ご苦労様です」とか思いながら開封してみた。



なんかタペストリーっぽいものが出てきた!



シュタインズゲートのタペストリーだった!
私、シュタインズゲートのゲームはプレイしたことがないんだが...。

とりあえず、チケット管理システムに

「シュタインズゲートの環境を整備してプレイする」

と登録しておいた。


2013年 5月 25日 ()  
今日は、段ボールでゴミ箱を作った。

側面の段ボールを、底面の円にガムテープで取り付けていく。


出来上がり。


がんばった。


2013年 5月 26日 ()  
今日は「ルンバが動作する空間を作る!(部屋の片付け)」とかの予定だったが、断念...。
そのかわり、知人の2歳になる娘さんと遊ばせてもらったので良しとする。


2013年 5月 27日 (月)  
今日は、会社の席に座ったときに

「よーし! 今日はなんか仕事するぞー」

って言うくらいにはヤル気だった。



白黒の濃淡画像からカラー画像に切り替わるシーンエフェクトや、
線画からカラー画像に切り替わるシーンエフェクトを作ろうと重い、濃淡画像とエッジ画像を
作るプログラムを OpenCV を使って実装した。

OpenCV を使うと作成するのは簡単だった。

「ありがとう... ありがとう OpenCV ...」


白黒画像を作る C++ プログラム
/*!
  \file
  \brief 濃淡画像の生成

  \author Satofumi Kamimura
*/

#include <iostream>
#include <opencv/cv.h>
#include <opencv/highgui.h>

using namespace std;
using namespace cv;


int main(int argc, char *argv[])
{
    if (argc < 1) {
        cerr << "usage: " << argv[0] << " <image file>" << endl;
        return 1;
    }
    const char* image_file = argv[1];
    const char* dest_file = (argc >= 3) ? argv[2] : "grayscale.png";

    Mat grayscale = imread(image_file, CV_LOAD_IMAGE_GRAYSCALE);
    imwrite(dest_file, grayscale);

    return 0;
}


エッジ画像を作る C++ プログラム
/*!
  \file
  \brief エッジ画像の生成

  \author Satofumi Kamimura
*/

#include <iostream>
#include <opencv/cv.h>
#include <opencv/highgui.h>

using namespace std;
using namespace cv;


int main(int argc, char *argv[])
{
    if (argc < 1) {
        cerr << "usage: " << argv[0] << " <image file>" << endl;
        return 1;
    }
    const char* image_file = argv[1];
    const char* dest_file = (argc >= 3) ? argv[2] : "canny.png";

    Mat grayscale = imread(image_file, CV_LOAD_IMAGE_GRAYSCALE);

    Mat canny;
    Canny(grayscale, canny, 50.0, 200.0);
    imwrite(dest_file, canny);

    return 0;
}


オリジナルのソースコード置き場: https://bitbucket.org/satofumi/party_tactics/src/af7839be699dc1c70786c8b82a47efda9f64fa76/example?at=default

本当は、これをフェードさせるあたりのコードを書きたかったが、また明日だな。


2013年 5月 28日 (火)  
フェードさせて、濃淡画像からカラー画像に切り替えるようなデモを作成した。

--! \example fade_original_example.lua
--! 濃淡画像やエッジ画像からオリジナルの画像に切り替えるサンプル

require("strict")
require("screen_utils")

_G.Fps = 60


local screen, input_events, front_layer, scene =
   screen_initialize(SizeF(640, 480), "grayscale_to_rgb_example")

-- 濃淡画像とオリジナル画像の両方を配置し、オリジナル画像の透明度を変更して
-- 表示内容を切り替える
local back_layer = Layer:new()
scene:push_back(back_layer)

local back_image = "grayscale.png"
if #arg >= 2 then
   back_image = arg[2]
end

back_layer:push_front(Label:new(Image_surface:new(back_image)))
front_layer:push_front(Label:new(Image_surface:new("original.png")))
front_layer:set_alpha(0.0)


local scheduler = Scheduler:new()
local left_click = Click_event:new(SDL_BUTTON_LEFT)
local space_pressed = Key_event:new(SDLK_SPACE)

local is_next_fade_in = true
local fade_task = nil

while not input_events:has_quit_event() do
   if not scheduler:is_active(fade_task) then
      if left_click:is_activated() or space_pressed:is_activated() then
         local args = {
            target = front_layer,
            mode = 'Alpha',
            total_sec = 2.0,
         }
         if is_next_fade_in then
            fade_task = scheduler:insert(fade_in_coroutine, args)
         else
            fade_task = scheduler:insert(fade_out_coroutine, args)
         end
         is_next_fade_in = not is_next_fade_in
      end
   end

   scheduler:update()
   screen_redraw()
end


https://bitbucket.org/satofumi/party_tactics/src/af7839be699dc1c70786c8b82a47efda9f64fa76/example/fade_original_example.lua?at=default

ゲームにて、エンディングとかの効果には使えそうに思った。


2013年 5月 31日 (金)  
画像に対するエフェクト作成の続きで、濃淡画像とオリジナルのカラー画像とを、
ワイプで切り替えるデモを作成しようと思う。


本人へのコメント送信



Main Page