Windowsでプログラムを作っていると、画像の扱いにbitmapを使うと便利です。 C#には、bitmapを書き込むj多彩なクラスが準備されているので簡単に作ることができます。 まずは、bitmapの書き込み方をC#プログラムとともに紹介します。
ピクチャーボックスは画像(イメージデータ)をフォーム上に表示するためのコントロールです。同様のコントロールにはラベ ルがありますが、ラベル が文字の表示を主とするのに対し、ピクチャーボックスでの文字表示は、グラフィック文字としての表示になります。 ピクチャーボックスをフォームに貼り付ける 1 ツールボックス(ツールボックスが開いていない場合は、表示メニューから「ツールボックス」を選択 してください。)から、 Label」 をフォーム上のピクチャーボックスを貼り付けたい位置にドラッグし、ドロップす る。 2 フォーム上で、ピクチャーボックスを表示する大きさの指定は、マウスのドラッグにより行います。 3 デフォルトで、ツリービューのネーミングは、pictureBox1、 pictureBox2、・・・・の順となりま す。 ピクチャーボックスの名前を変える 1 フォームイメージが表示されるデ
前回、ポリゴンを使って画面上に四角形を描画しました。今回はそこに画像を貼り付けて、画面上に画像を表示してみましょう。いわゆるテクスチャーを張るというやつです。 テクスチャマッピング 前回、今回と3Dエンジンを使って2Dのグラフィック表示を行っています。最低限DirectDrawの2D描画機能は実装したいところです。ですから、画像ファイルを読み込んでそれを表示するくらいの機能はないと話しになりません。今回はそれを実装します。 GDI+などの描画機能で画像を表示するには、画像を持ったオブジェクト(Bitmapオブジェクトとか)から別の画像オブジェクトへ画像を転送します。ですが、Direct3Dには基本的にそのような機能はありません。そこで、それに近いテクスチャーマッピングを利用して画像の表示を行います。 テクスチャマッピングとは、画像から必要な部分を切り出して、それをポリゴンに貼り付ける処理の
Windows Mobile Blog: Moving Day As of today the Windows Mobile Blog has moved and officially joined the Windows Blog. There are now... Author: MSDN Archive Date: 07/14/2009 Getting started with widgets on Windows Mobile 6.5 Now that the Windows Mobile 6.5 Developer Toolkit is out, it is time to start writing widgets!!!... Author: JORGEBA Date: 06/03/2009 Windows Mobile RampUp track is now availabl
画像ファイルの全画素値を配列にコピーする場合の速度比較を行った。 比較するのは以下の3手法。 ・方法1: C# - C# で Bitmap クラスの GetPixel メソッドを使った - 普通の方法 ・方法2: C#(unsafe) - C# で unsafe を使った - ちょっと工夫した方法 ・方法3: C++ - C++ のクラスライブラリを作成し、C# から参照して使った - 画像処理ライブラリとして、OpenCV を用いた 一応、比較用に書いたソースは記事末に載っけときました。 557x850 の 24ビットカラー JPEG画像の場合 方法1: 21.6388260748251 (秒) 方法2: 5.06153430618396 (秒) 方法3: 0.0533208579219269 (秒) 方法1の20秒は、ありえないぐらい遅い。 unsaf
◆画像フィルタ処理 二値化、Pタイル法、判別分析法(大津の二値化)、平滑化フィルタ、ガウシアンフィルタの特徴、メディアンフィルタ 、エッジ抽出、アンシャープマスキング(鮮鋭化フィルタ)、膨張・収縮・オープニング・クロージング、細線化、画素の補間(Nearest neighbor、Bilinear、Bicubic)、外周画素の処理 ◆画像処理プログラム 二値化、ビットマップファイルフォーマット、多ビット(10Bit、12Bit)画像データの表示、フォーマット、VB6.0でビットマップファイルを開く、拡大鏡+プロファイル機能(開発中!)、残効錯視、.NET(C++/CLI)による画像拡大縮小表示、画像処理サンプルプログラム、ルックアップテーブル(ガンマ補正の例) クラス/ハンドルの作成、解放、ファイルを開くダイアログボックスの表示、ビットマップファイルをピクチャボックスに表示、ラベル背景色の透
画像ファイルの全画素値を配列にコピーする場合の速度比較を行った。 比較するのは以下の3手法。 ・方法1: C# - C# で Bitmap クラスの GetPixel メソッドを使った - 普通の方法 ・方法2: C#(unsafe) - C# で unsafe を使った - ちょっと工夫した方法 ・方法3: C++ - C++ のクラスライブラリを作成し、C# から参照して使った - 画像処理ライブラリとして、OpenCV を用いた 一応、比較用に書いたソースは記事末に載っけときました。 557x850 の 24ビットカラー JPEG画像の場合 方法1: 21.6388260748251 (秒) 方法2: 5.06153430618396 (秒) 方法3: 0.0533208579219269 (秒) 方法1の20秒は、あり
●Win32スタティック・ライブラリ(C関数)の準備 以下のコードは“Hello, world”を出力するC言語で書かれたスタティック・ライブラリ(.libファイル)のソース・コードです。 #ifndef HELLO_H__ #define HELLO_H__ #ifdef __cplusplus extern "C" { #endif void hello(); #ifdef __cplusplus } #endif #endif
OpenGL de プログラミング トップページページ一覧メンバー編集 OpenCV::グレイスケール変換2 最終更新: mikk_ni3_92 2008年08月25日(月) 13:35:20履歴 Tweet 現在地 >> メニュー >> サンプルコード::OpenCV >> OpenCV::グレイスケール変換2 関連 : OpenCV::グレイスケール画像、OpenCV::グレイスケール変換1 問題 以下のカラー画像をグレイスケールに変換せよ。 画像 その他条件: 新たにIplImageを用意して、cvCvtColor関数でコンバートし、そこに格納する。 答え #include <iostream> #include <cv.h> #include <highgui.h> const char *filename ="test.jpg"; int main( int argc, char
はじめに C++の新しい標準規格である「C++0x」の大きな新機能の1つが、マルチスレッド処理のサポートです。 従来のC++では、マルチスレッド機能は標準規格の拡張としてコンパイラごとに提供されていたため、細かな部分がコンパイラやプラットフォームによって異なっていました。しかしC++0xでは、すべてのコンパイラが同じメモリモデルに準拠し、同一のマルチスレッド機能を利用できることになります(ただし、従来同様の拡張をコンパイラが独自に提供することも可能です)。 開発者の立場からすると、マルチスレッドのコードを別のコンパイラやプラットフォームへ移植するときの手間を大きく省くことができます。複数のプラットフォーム向けの開発を行う場合でも、種々雑多なAPIや構文をいくつも頭に入れておく必要がありません。 新しいスレッドライブラリの中心を担うのは、実行スレッドを制御するstd::threadクラスです
typedef int (*sqlite3_callback16)(void*,int,__wchar_t**, __wchar_t**); int sqlite3_exec16( sqlite3 *db, /* The database on which the SQL executes */ const __wchar_t *zSql, /* The SQL to be executed */ sqlite3_callback16 xCallback, /* Invoke this callback routine */ void *pArg, /* First argument to xCallback() */ __wchar_t **pzErrMsg /* Write error messages here */ ){ int rc = SQLITE_OK; const __wc
2010年12月(1) 2010年10月(1) 2010年09月(1) 2010年08月(2) 2010年05月(1) 2010年03月(1) 2010年01月(1) 2009年12月(1) 2008年07月(1) 2008年04月(2) 2008年03月(3) 2008年02月(1) 2007年10月(1) 2007年08月(1) 2007年03月(3) 2006年12月(1) 2006年10月(1) 2006年06月(1) 2006年05月(1) 2006年04月(6) 今回は珍しく C++/CLI のお話。なお、C# と混ざると型名がややこしくなるので、今回はマネージドの型については CLR の汎用型名で統一します。 今ふと思い立ってとある C 言語のライブラリを C++/CLI でラップしようと試みているところなのですが、そこでふと気になったのが多分 C++/CLI 使う人たちが一
C++/CLI for C++ ProgrammerC++/CLIは.NETアプリケーションをつくるためのプログラミング言語です。C++をある程度知っている人は、C++/CLIを使って簡単に.NETの世界を理解することができます。 C++/CLIはVisual C++ 2005 Express Editionで扱うことができます。 SubmenuC++/CLIとはマネージヒープHello, World!ハンドル、gcnewref classnullptrトラッキング参照value classボックス化interior_ptrpin_ptrinterior_ptrとpin_ptrの違いarrayfor eachparameter arraydelegatepropertyindexed propertyeventinterfacegenericsstaticコンストラクタアセンブリアセン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く