うなすけとあれこれ

2013年05月26日

XcodeでOpenCV始めると大変

OpenCVのインストール

前回記事でMacPortsを使ってGitをインストールした。その流れにのり、MacPortsでOpenCVをインストールする。

$ sudo port selfupdate
$ sudo port install opencv

長い時間掛かるかもしれないのでこれからの苦難を想像して身構えておくのが吉。

Xcodeの準備

まずはプロジェクトの作成から始める。 プロジェクトの作成 Create a new Xcode project"を選択し…… プロジェクトの選択 OS X"の"Application"の"Command Line Tool"を選択し…… プロジェクトの作成2 各項目を記入し…… こんな画面になるかと思うので、囲ったところをクリックして下準備。 プロジェクトを作成

下準備

まずはHeader Search PathとLiberty Search Pathを設定する。それぞれ MacPortsからインストールした場合は、Header Search Pathが /opt/local/include Liberty Search Pathが /opt/local/include /opt/local/lib と、それぞれnon-recursiveで設定する。recursiveにすると大量のエラーが出る。Liberty Search Pathは設定してない例もいくつか見つけたので不要かもしれない。 Search Pathの設定 Seach Path設定完了

次にLink Binary With Librariesを設定する。今回はウィンドウの表示、ガウシアンフィルタを利用するので、以下の4つのLibraryをリンクさせる。 libc++.dylib libopencv_core.2.4.5.dylib libopencv_highgui.dylib libopencv_imgproc.dylib

OpenCVの.dylibは(MacPortsからのインストールなら)/opt/local/libにあるので検索すると見つけやすい。追加は"Add Other"から行う。 libc++.dylibのリンク libopencv_hoge.dylibのリンク これで下準備は終わり。

テストプログラムを打ち込む

今回はある画像をガウシアンフィルタを適用しぼかす。

//
//  main.cpp
//  OpenCV-test
//
//  Created by unasuke on 2013/05/26.
//  Copyright (c) 2013年 unasuke. All rights reserved.
//

#include <iostream>

#ifdef __cplusplus
#include <opencv2/opencv.hpp>
#endif

int main(int argc, const char * argv[])
{
  // insert code here...

  //画像を開く
  IplImage* before_img = cvLoadImage("/Users/yusuke/Desktop/lena.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR );
  if( before_img == NULL )
  {
    return 0;
  }

  //ウィンドウの作成
  cvNamedWindow("test-before", CV_WINDOW_AUTOSIZE);
  cvNamedWindow("test-after" , CV_WINDOW_AUTOSIZE);

  //画像変換のためIplImage型で宣言
  IplImage* after_img = cvCreateImage(cvGetSize(before_img), before_img->depth, before_img->nChannels);

  //ガウシアンフィルタを使って画像をぼかす
  cvSmooth(before_img, after_img, CV_GAUSSIAN , 9);

  //画像をウィンドウに表示
  cvShowImage("test-before", before_img);
  cvShowImage("test-after", after_img);

  //キーの入力待ち
  cvWaitKey();

  //すべてのウィンドウを削除
  cvDestroyAllWindows();

  //画像データの開放
  cvReleaseImage(&before_img);
  cvReleaseImage(&after_img);

  return 0;
}

で、実行するとこうなる。 サンプルコードの実行結果 疲れた。

2013年05月26日
2013年05月23日

Macで始めるGUIを使わないやさしくないGit

GUIを使わないのはついマウスに手が伸びる癖を何とかしたいから。

MacPortsのインストール

Gitをインストールするために、まずはMacportsをインストールする。MacPortsのインストールにはXcodeが必要なのでそれはMacAppStoreからダウンロードとインストール。 The MacPorts Project

Gitのインストール

Gitのインストールの前に、まずはMacPortsを最新の状態にする。

$ sudo port selfupdate

何か言われたらそれもやっておく。

$ sudo port upgrade outdated</pre>

Gitをインストールするために以下のコマンドを実行。

$ sudo port install git-core</pre>

Gitを使ってみる

まずは適当なフォルダに適当なコードを保存する。今回は試しにということで授業で出された課題である電話帳のプログラムでGitを使ってみた。 finderで見るとこんな感じ ホームフォルダの下に WorkSpase/database/database.cと配置した。この場所はどこでもいいと思う。 そして。このフォルダに移動する。

$ cd WorkSpase/database

そしたらこのフォルダをGitで管理するために以下のコマンドを実行。

$ git init

でもこのままではまだ何も管理してくれないのでプログラムを登録する。

$ git add database.c

これファイル名のところを".“にするとそのフォルダに有るすべてのファイルを登録できるとか。便利。 じゃあ今どんな状態か見てみよう、と。

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#  modified:   database.c
#
no changes added to commit (use "git add" and/or "git commit -a")

人によるかもしれないけどだいたいこんな感じの表示が出てくる。じゃあ、変更を登録しよう。

$ git commit -m "first commit."

"first commit"のところは変更点(どんな関数を追加したとか)を英語で書くといいかも。書かなくてもいいかも。ただ書いたほうが絶対にいい、かも。 で、状態をみてみると……

$ git status
# On branch master
nothing to commit, working directory clean

はい、記録されたようですね。じゃあ今までの履歴を見てみよう。

$ git log
commit 5b54c1047d3cbf5f3b828f8361c2cc49f83649e2
Author: unasuke
Date:   Fri May 24 00:45:39 2013 +0900

    add comment.

commit 6f517649010f2fe6177655951e1bcd21aa6d8347
Author: unasuke
Date:   Thu May 23 01:40:49 2013 +0900

    first commit.

僕は2回程度commitしたのでこんな感じになってるけどだいたいそんなような表示になったはず。 やったぜ!Git入門だ!

……で?これだけで何が嬉しいの?状態なのではやめにGitHubとあれこれさせたいところ。専門用語はあえて使わなかった。理解してからまたまとめ直すかもしれない。

2013年05月23日
2013年05月21日

GitHubアカウントを取得した。

後々Twitter Bootstrapを使ってデザインを変更するつもりだったので、どうせならとGitHubアカウントをとってみた。

Gitの使い方は全くわかっていないので、今はBootstrapとTwitter4Cをwatchしている。

2013年05月21日
2013年05月17日

MacにBootcampでWindows8をインストールした後にパーティションを追加するとWindows8が起動しなくなる問題の解決法

タイトルが長い。 MacにBootcampを使ってWindowsをインストールすると、標準ではMacとWindowsの2つのパーティションができる。しかし、どちらもどちらのファイルシステム(HFS+とNTFS)を読み書きすることができないので、データの共有は外部保存領域を使用せねばならない。これは面倒である。まあ再起動も面倒ではあるのだが。 そこで、ディスクユーティリティ.appを用いて共有パーティション(exFAT)を作成したのだが、Windowsが起動ディスク選択画面で見えなくなってしまった。

共有パーティションを作成した例

そこで、Windows8のインストールディスクを挿入し、optionキーを押しながら起動。この時の起動ディスクは光学メディアの形のUEFIではなく、光学メディアの形のWindowsである。そしてコンピュータの修復から自動修復を選択し、あとは待っていれば自動修復が完了しWindowsが起動できるようになる。

2013年05月17日
2013年05月13日

WordPressに移行した

はてなダイアリーからTumblrになって、さらにWordPressにまでお引越し。「うなすけとあれこれ」のリンクが3回も変わってしまいました。

今後投稿する内容として、はてダとTumblrで反応が多かった記事を加筆・訂正して投稿し直すことや日常的または技術的なことです。要するに今までの内容プラス過去の投稿で閲覧稼ぎといったところです。

しばらくしたら、はてなのアカウントを消したいです。利用しているサービスがはてなダイアリーとはてなフォトライフのみだったので。あとはてなブックマークの仕組みもよく分からなかったので。Tumblrは残します。

広告がいやでTumblrに移行したのですが、はてなダイアリーふうに使っていくにはあまりにもTumblrのいいところ(リブログ)を活かせないと思ったのが主な移行理由です。

拙い文章を長々垂れ流すブログですが、今後とも宜しくお願い致します。

2013年05月13日
新しい投稿