スキップしてメイン コンテンツに移動

投稿

2月, 2007の投稿を表示しています

Flexでビデオ

も出来ちゃう。ほぼ貼り付けるだけでFlashVideoを再生出来ちゃう。 Flexヘルプをご参考に。 リッチクライアントとしての環境は申し分ないのでは。

おー便利、便利

Flexってすごい便利。というか、コンポーネントがそろってる環境が便利。きっと、RubyとかPythonもかなり効率いい開発が出来そう。何でも勝手にコンポーネントが処理してくれる。 あと、スクリプト言語ってのは使ってると不思議な感覚になる。型宣言してないのにプロパティ使えたりできるしさぁ。C++ならダイナミックキャストを使わないといけないところだけど、普通に使ってる。 GridにXMLをバインディングする ので感動した。多分、業務系の人は普通なんだろうけど。。。

CDT日本語化

CDTも日本語化できるようです。 ここから 言語パックダウンロードして、解凍してEclipseのインストールフォルダにコピーして完了。 ちなみに、CDTのバージョンは3.1.1、Lanuage Packは3.1.0だけど正常に日本語されてるよ。

EclipseでHello World

とりあえず、基本の「 Hello World 」を作成。基本っす、基本。 [ファイル]→[新規]→[Standard Make C Project] を選択でプロジェクト作成。[ファイル]→[新規]→[Source File]で「hello.c」、[ファイル]→[新規]→[File]で「MakeFile」のファイル名でファイルを作成する。 Hello.c #include "stdio.h" int main(int argc, char *argv[]) { printf("Hell, World"); return 0; } MakeFile TARGET = hello01 CFLAGS = -g OBJS = hello01.o all : $(TARGET) $(TARGET) : $(OBJS) gcc $(OBJS) -o $@ clean : rm -f $(TARGET).exe $(OBJS) んでいいみたい。ぜんぜんわからんがこれでいいみたい。 そういえば、VC以外でコンパイルするのも初めて。面倒だなぁ。とりあえずOpenCVをGCCでコンパイルしてみたいものです。

へーー

PHPで実行ファイルが出来ちゃうんだって。 今度、試してみよう。 そのうちに。。。

C++でプロパティ

こんなんの 出来るんだって。 C++で a.property = 0; int t = a.property; か。

EclipseでC/C++を使う その2

MinGWがインストールできたら、CDTをインストール。[ヘルプ] → [ソフトウェア更新] → [検索およびインストール...]でインストールできます。 [インストールする新規フィーチャーを検索] を選択。 [Callisto ディスカバリー・サイト] を選択で[C and C++ Developmenet] を選んだらOK。Eclipseを再起動すればインストールできちゃう。すごいね、Eclipse。 メニューから、[ウィンドウ] → [パースペクティブを開く] → [その他...] でC/C++を選ぶとC/C++のプロジェクトを作成できるよ。

EclipseでC/C++を使う その1

EclipseプラグインのCDT (C/C++ Development Tools) を使えば、EclipseでC/C++が開発できちゃう。CDTは、開発環境のみコンパイル、リンカー、デバッガは別途必要らしいよ。Cygwin または MinGW が使えるらしいんで、MinGWを使うことにします。MinGWはGCCのWindows版。 SourceForge からMinGW、MSYS、GDBをダウンロード。 MinGWのインストールでは、「g++ compiler」のみ選択するのがいいみたい。あと、MinGW、MSYS、GDBのインストール先のパスに空白が含まれるとダメみたい。 MSYSをインストールするとMinGWと連携するためにいくつか入力する必要があります。 Do you have MinGW installed? [yn ] MinGWをインストールしてる?y + Enterで、 Please answer the following in the form of c:/foo/bar. Where is your MinGW installation? インストール先のフォルダを入力する。パスの部分は「\」でなくて「/」で入力してね。間違えると面倒らしい。。。 環境設定のPATHにMinGW、MSYSの「bin」のパスを追加してね。

OpenCV第5回 収縮、膨張処理

画像を縮める処理を収縮処理、膨らませる処理を膨張処理。ノイズなんかを取るのにつかう。OpenCVでは 収縮処理: void cvErode( const CvArr* A, CvArr* C, IplConvKernel* B=0, int iterations=1 ); 膨張処理: void cvDilate( const CvArr* A, CvArr* C, IplConvKernel* B=0, int iterations=1 ); でできる。 Aの画像をBの構造要素を使ってiterations回収縮、または膨張処理を行ってCの画像に入れるってこと。BがNULLの場合は3×3の矩形構造要素。Bって何だろうと思って、ヘルプを見ると、収縮処理の場合、Bの構造要素の中の最小値がCの画素になり、膨張処理の場合は最大値がCの画素になるらしい。ってことは、NULLの場合は、3×3の矩形構造要素になってるけど、設定しだいでは5×5の矩形構造要素、円形構造要素とかにもなりそうな予感。 第四回 の画像をそれぞれ1回収縮、膨張処理した結果。

OpenCV第4回 閾値処理

いわゆる2値化処理。閾値以上の画素かそれ以外かを2つの値で分ける処理。 では、さっそく。 #include "stdafx.h" #include "cv.h" #include "highgui.h" // argv[1] 入力ファイル名 // argv[2] 閾値 int main( int argc, char** argv ) { if (argc return 0; //------------------------------ // 画像読込み //------------------------------ IplImage* image_load = cvLoadImage(argv[1]); //------------------------------ // 色変換 //------------------------------ IplImage* image_gray = cvCreateImage (cvSize(image_load->width, image_load->height) , IPL_DEPTH_8U, 1); cvCvtColor(image_load, image_gray, CV_BGR2GRAY); // 閾値取得 int th = atoi(argv[2]); //------------------------------ // 閾値処理 //------------------------------ IplImage* image_bin = cvCloneImage(image_gray); cvThreshold(image_gray, image_bin, th, 255, CV_THRESH_BINARY); //------------------------------ // 画像表示 //------------------------------ // 読込み画像表示 cvNamedWindow(argv[1], 0); cvShowImage(argv[1], image_load); // グレー画像表示 cvNamedWindow(...

Eclipseはじめました

FlexでEclipseを使用してみてから、使ってみたいと思ってたEclipse。ちょっと使ってみます。何回かインストールしてみたことはあったけど、再び挑戦! どうやら、C/C++もEclipseを使って開発できるみたい。 ここからダウンロード 。最新版は3.2.1。日本語化は ここから 。日本語はNLpack1かな。両方を解答して、NLpack1をコピーするだけ。

Paint.Net

Microsoftの支援を受けて開発されている Paint.net がバージョンアップらしい。って初めて知ったけど。簡単な画像作成は MSペイン か Gimp を使ってたんで、どんなものか使ってみましょう。何でも、オープンソースらしい。 ここから ダウンロード。 日本語対応みたい。日本語選んでインストール。.net framework 2.0がいるみたい。.net frameworkついてるインストーラもダウンロードできるよ。 起動画面です。タブ対応で、Gimpほど高機能でないけどインターフェイスもわかりやすくて重宝しそう。 ただ、起動がちょっと遅め。.net frameworkのアプリだからだろう。

OpenCV第3回 ファイル出力

今回は、ファイルに出力。といっても 第2回 に毛が生えた程度です。 #include "stdio.h" #include "cv.h" #include "highgui.h" // [1] 入力ファイル名 // [2] 出力ファイル名 int main(int argc, char* argv[]) { if (argc return -1; // 画像読込み IplImage* img = cvLoadImage(argv[1]); // ファイル出力 cvSaveImage(argv[2], img); cvReleaseImage(&img); return 0; } でOK。 ヘルプより int cvSaveImage( const char* filename, const CvArr* image ); は、ファイルの拡張子をみて自動的にそのフォーマットで保存してくれる。便利です。cvLoadImageで扱う形式の画像をサポートらしい。んでも、画像形式が1チャンネル(8ビット画像)か3チャンネル(24ビットカラー画像)である必要があるよ。それ以外は、 cvCvtScale か cvCvtColor 使うようにだって。多分、チャンネルを変換するんだろう。もしくは、 cvSave でXMLかYAMLで保存するらしい。