画像処理ソリューション
これを見れば画像処理の入門から基礎~応用まで全てがわかるのを目指して!
   
翻訳(Translate)

プロフィール

Akira

ニックネーム:Akira
東京都の町田事業所に勤務
画像処理ソフトの開発を行っています。リンクフリーです!
詳細プロフィールは こちら
お問い合わせは、こちら↓

【補助HP】
画像処理ソリューションWeb版 【Newブログ】
イメージングソリューション

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

08 | 2010/09 | 10
S M T W T F S
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -

趣味のブログ

iPhone萬歳!
iPhoneの情報いろいろ。
ブログ学習帳
ブログ、SEO、アフィリエイト情報など(まだまだこれから)
俺流クラフト日記
ハンドメイド作品の記録(現在、放置中)

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

OpenCVのライセンス

メインページOpenCV

OpenCVはBSDラインセンスに基づき、商用/非商用問わず、無償で使用する事が可能です。

このBSDライセンスに基づきという部分がポイントなのですが、OpenCVを使用する場合には下記の著作権表示免責事項に基づき、明示的にこの著作権表示および免責事項を原文のまま(英語のまま)表示し、その内容に従う必要があります。

著作権、免責事項の内容↓ (これを必ず表示する事)
IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.

 By downloading, copying, installing or using the software you agree to this license.
 If you do not agree to this license, do not download, install,
 copy or use the software.


                          License Agreement
               For Open Source Computer Vision Library

Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
Copyright (C) 2008-2009, Willow Garage Inc., all rights reserved.
Third party copyrights are property of their respective owners.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

  * Redistribution's of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

  * Redistribution's in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

  * The name of the copyright holders may not be used to endorse or promote products
    derived from this software without specific prior written permission.

This software is provided by the copyright holders and contributors "as is" and
any express or implied warranties, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose are disclaimed.
In no event shall the Intel Corporation or contributors be liable for any direct,
indirect, incidental, special, exemplary, or consequential damages
(including, but not limited to, procurement of substitute goods or services;
loss of use, data, or profits; or business interruption) however caused
and on any theory of liability, whether in contract, strict liability,
or tort (including negligence or otherwise) arising in any way out of
the use of this software, even if advised of the possibility of such damage.

この内容の実体はOpenCVをインストールしたフォルダの\doc内にlicense.txtというファイルがあるので、そちらを参照下さい。


で、ちょっと話はそれますが、英文が苦手は私は翻訳ソフトに頼ってみたりもするのですが、いくつかのソフトで上記の内容を日本語に変換し、翻訳ソフトの性能比較をしてみました。

bing Translator】 (マイクロソフト)
重要: ダウンロード、コピー、インストールまたは使用する前に読みます。

 ダウンロードすることによって、コピー、インストール、またはソフトウェアを使用して、このライセンスに同意します。
 このライセンスに同意されない場合はダウンロード、インストール、コピーまたはソフトウェアを使用します。


                          ライセンス契約のオープン ソース コンピュータ ビジョン ライブラリ
著作権 (C) 2000年-2008、インテル、無断転載を禁じます。
著作権 (C) 2008年-2009、柳ガレージ社、無断転載を禁じます。
サード パーティの著作権はそれぞれの所有者に帰属します。

再配布および使用ソースおよびバイナリ形式、変更の有無では許されない、次の条件が満たされている場合は、:

 * 前述の著作権表示、このリストの条件、および次の否認ソース コードの再を保持する必要があります。

  * 配布のバイナリ形式では、上記の著作権表示、このリストの条件、次の注意事項は、マニュアルおよび/または配布で提供されるその他の資料を再現する必要があります。

  著作権者の名前は、推奨またはプロモーション商品のこのソフトウェアから派生して特定の事前の書面による許可なしに使用できます。

このソフトウェアは、著作権者と「そのまま」の貢献者とを含む、あらゆる明示的または黙示的保証によって提供されますが、ないまで、商品性および特定目的暗黙保証を否認します。
インテル コーポレーションまたはコントリビューター直接、間接、偶発的、特殊、懲戒的、または間接的な損害に対して、代替商品またはサービスの調達に限らず (損失の使用、データ、または利益; または usiness 中断) 負わないものとしかし原因および責任、契約、厳格責任、または不法行為にかどうか (過失を含むまたはそれ以外の場合)、そのような損害の可能性を通知した場合でも任意の方法をこのソフトウェアの使用に起因します。

Google 翻訳
重要:ダウンロード、コピーの前にお読みください用いた。

 ダウンロードすることにより、コピー、インストールするか、この使用許諾契約に同意し、ソフトウェアを使用します。
 あなたはこのライセンスに同意しない場合は、ダウンロードしない、インストール、コピー、またはソフトウェアを使用します。


                          使用許諾契約書
               オープンソースのコンピュータビジョンのライブラリについて

本文へ(C)は2000年から2008年、インテル社は、すべての権利予約。
本文へ(C)は2008年から2009年、Willow Garageの社は、すべての権利予約。
サードパーティの著作権はそれぞれの所有者に帰属します。

再配布および変更の有無にかかわらず、ソースおよびバイナリ形式で使用するには、次の条件が満たされていることが許可されます:

  *再配布は、上記の著作権通知、本条件の一覧、および下記免責条項を保持しなければならないソースコードのです。

  *再配布は、上記の著作権表示、この条件リスト、およびドキュメントには、次の免責および/または配布物とともに提供されるその他のマテリアルを複製する必要がありますバイナリ形式でです。

  *著作権所有者の名前が支持したり、特定の事前の書面による許可なしに、本ソフトウェアから派生した製品を宣伝するために使用されない場合があります。

このソフトウェアは、著作権保有者と貢献者によって提供されるなど、任意の明示的または黙示的な保証、これらに限定されないが、特定の目的への適合性の黙示の保証を放棄します"のようになります"。
使用、データまたは利益の損失、いかなる場合にも、Intel Corporationまたは寄稿者を含むいずれか、間接的、偶発的、特殊、典型的な、直接または間接的な損害(のが、責任の代替商品またはサービスの調達、これらに限定されないこと。またはusinessは中断)しかし、そのような損害の可能性について知らさ場合でも、契約、厳格責任、または本ソフトウェアの使用に何らかの方法で発生した過失またはその他を含む不法行為()内かどうか、責任のいずれかの理論と発生します。

エキサイト翻訳
重要: ダウンロード、コピー、インストールまたは使用の前に読んでください。
ソフトウェアをダウンロードするか、コピーするか、インストールするか、または使用することによって、あなたはこのライセンスに同意します。
このライセンスに同意しないなら、ダウンロードしないでください、インストールするか、コピーするか、またはソフトウェアを使用しないでください。


許諾契約
オープンソースコンピュータビジョン図書館に

Copyright(C)2000-2008、インテル社、All rights reserved。
著作権(C)2008-2009、Willow Garage Inc.、All rights reserved。
第三者著作権は彼らのそれぞれの所有者の資産です。

変更のあるなしにかかわらず、以下の条件が満たされれば、ソースと二部形式における再分配と使用は受入れられます:

 * 再分配のソースコードのものは上の版権情報、状態のこのリスト、および以下の注意書きを保有しなければなりません。

 * 二部形式における再分配のものは上の版権情報を再生させなければなりません、と状態のこのリストとドキュメンテーション、そして/または、その他の材料における以下の注意書きは分配に前提としました。

 * 著作権保有者の名前は、このソフトウェアから特定の書面による事前の許可なしで得られた製品を宣伝するか、または促進するのに使用されないかもしれません。

このソフトウェアが著作権保有者、「そのままな」貢献者、およびどんな速達によっても提供されるか、または黙示的な保証、包含、他、市場性の黙示的な保証、および特定の目的のためのフィットネスは放棄されます。
そのような損害の可能性についてアドバイスされても、契約、厳しい責任負担、または不法行為(そうでなければ怠慢を含んでいて)にかかわらずインテル社か貢献者がしかしながら、もたらされたどんな直接の、または、間接的であるか、付帯的であるか、特別であるか、模範的であるか、必然的な損害賠償他、 包含、 (; サービス、代替財、使用の損失、データ、または利益の調達; usiness中断)と責任のどんな理論の上でもこのソフトウェアの使用から何らかの方法で起こるのにおいて決して、責任がないでしょう。

Yahoo!翻訳
重要:コピーして、装置するか、使うことをダウンロードする前に、読んでください。

 ソフトウェアをダウンロードするか、コピーするか、インストールするか、使用することによって、あなたはこの許可に同意します。
 あなたがこの許可に同意しないならば、ソフトウェアをダウンロードしないか、インストールしないか、コピーしないか、使用しないでください。


                          ライセンス契約
               オープンソース計算機視覚図書館のために

著作権(C) 2000-2008、インテル社、保有されるすべての権利。
著作権(C) 2008-2009、Willow Garage社、保有されるすべての権利。
第三者著作権は、彼らのそれぞれの所有者の財産です。

以下の条件が満たされるならば、源とバイナリ形式の再分配と使用は、修正の有無にかかわらず、許されます:

  *ソースコードの再分配のものは、上記の著作権通知(状況と以下の断り書きのこのリスト)を保持しなければなりません。

  *バイナリ形式の再分配のものは上記の著作権通知を複写しなければなりません。そして、状況のこのリストとドキュメンテーションや他の材料の以下の断り書きが配布を備えています。

  *著作権者の名前は、特定の先の書面による許諾なしでこのソフトウェアに由来する製品を支持するか、販売促進するのに用いられないかもしれません。

このソフトウェアは「現状のまま」著作権者と誘因によって提供されます、そして、どんな明示または暗黙の保証でも市場性の暗黙の保証と特定の目的のための適合性を含むがこれに限らず否認されます。
決して、インテル社または誘因は、典型的で、少しのdirect,indirect,incidental(スペシャル)に対しても責任がありませんまたは結果として生じる損害賠償∥(代用品またはサービスの入手を含むがこれに限らず;使用の損失、データまたは利益;またはusiness中断)契約、厳格責任または不法行為(怠慢またはその反対を含む)において、たとえ損害の可能性を知らされていたとしても、このソフトウェアの使用からどんな形であれ起こるかどうかに関係なく、原因の如何を問わず、そして、どんな責任の理論に関してでも。

免責事項の部分はそれぞれ微妙にニュアンスが異なるので、自動翻訳をそのまま信用するのは注意が必要です。
固有名詞など完璧には翻訳されにくいようにも思いますが、比較的Yahoo!翻訳が優れているでしょうか?

逆にエキサイト翻訳は、昔は良く使っていましたが、今となっては、笑えるぐらいヒドすぎる~
 

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

[完全版] 究極のC#プログラミング ~新スタイルによる実践的コーディング

最近はC++/CLIよりもWPFやXNAのできるC#へと興味が移りつつあるのですが、C#は、なんとなく分かるけど、ちゃんと勉強したいと思い、良いページが無いか?探していたところ、@ITにたどり着き、このページ↓

  連載:[完全版]究極のC#プログラミング

を見ていたのですが、この内容を本にしたのが、この究極のC#プログラミング
やっぱり私にとっては本の方が見やすいので、思わずこの本を購入してしまいました。
内容はHPを見てもらえば分かりますが、サンプルコードもふんだんに記載されているので、意外と退屈せずに読めました。
※全くの初心者が読むような類の本では無いので、ご注意下さい。

この著書の他の連載も、とても良い感じです。まだ見たことが無ければ是非ともどうぞ!
(って今さら言うな!という声が聞こえて来そうですが...)

 連載  改訂版 C#入門 
 C# 2.0 入門
 連載:C# 3.0 入門



[完全版] 究極のC#プログラミング ~新スタイルによる実践的コーディング
川俣 晶
技術評論社
売り上げランキング: 12781
おすすめ度の平均: 5.0
5 変わったアプローチで参考になります。
5 使いこなすためのアレコレ
4 川俣さんよくぞ言ってくれました!サンプルは今一歩ですが
5 良書すぎる
5 C#3.0の機能を理解したいなら






Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【C#】ビットマップファイルをバイナリで開く

これまでOepnCVのようなC言語のライブラリを使う事が多かったので、ライブラリをそのまま使えるC++/CLIでプログラムする事が多かったのですが、アプリっぽいプログラムを作ろうとすると、ところどころで不満な点もあったので、今回はC#のお勉強プログラム第一弾、ビットマップファイル(*.bmp)をバイナリで開くプログラムを作成してみました。

ただし、ビットマップの輝度値を参照したいだけであれば、【C++/CLI】画像の輝度値を取得、設定するのページでも紹介しているようにLockBits~UnlockBitsを使った方が簡単です。

まず、ビットマップファイル(*.bmp)をバイナリで開くためにビットマップファイルのフォーマットを知らないとできません。 このフォーマットについてはビットマップファイルフォーマットのページでも紹介していますが、おさらいです。 ビットマップファイルの構造は
BITMAPFILEHEADER
BITMAPINFOHEADER
カラーパレット(RGBQUAD)
(無い場合もある)
画像データ
(データは画像の左下から順に格納されています)
カラーの場合はBGRBGR・・・の順

C言語でのそれぞれの宣言では、
typedef struct tagBITMAPFILEHEADER {//全14Byte
        WORD    bfType;                //2Byte
        DWORD   bfSize;               //4Byte
        WORD    bfReserved1;     //2Byte
        WORD    bfReserved2;     //2Byte
        DWORD   bfOffBits;           //4Byte
} BITMAPFILEHEADER;

typedef struct tagBITMAPINFOHEADER{//全40Byte
        DWORD   biSize;                      //4Byte
        LONG       biWidth;                    //4Byte
        LONG       biHeight;                  //4Byte
        WORD      biPlanes;                 //2Byte
        WORD      biBitCount;              //2Byte
        DWORD   biCompression;    //4Byte
        DWORD   biSizeImage;          //4Byte
        LONG        biXPelsPerMeter;  //4Byte
        LONG        biYPelsPerMeter;  //4Byte
        DWORD    biClrUsed;             //4Byte
        DWORD    biClrImportant;      //4Byte
} BITMAPINFOHEADER;

typedef struct tagRGBQUAD {
  BYTE    rgbBlue;
  BYTE    rgbGreen;
  BYTE    rgbRed;
  BYTE    rgbReserved;
} RGBQUAD;

のようになっています。 ビットマップファイルは上記の順番でヘッダ情報(画像の幅や高さなど)が記録されているので、ファイルの先頭から順に2byte、4byte、2byte、2byte、4byteとファイルを読み込めばBITMAPFILEHEADERが読み込め、同様にBITMAPINFOHEADERなど、次々とファイルを読みこめばビットマップファイルを開く事が可能となります。

ここで、C言語の型でWORDやLONGなどが出てくるのですが、これはそのままC#では使えないので、.NETで使える型との対比は以下のようになります。

C言語.NETデータサイズ(バイト数)
BYTEByte1
WORDUInt162
DWORDUInt324
LONGInt324
この型についてはVB.NET/VB6.0/CLR/C/C++/Win32API 型一覧表のページが参考になりました。

ファイルの読み書きにはSystem.IO.File.Open、System.IO.FileStream.Close、System.IO.File.Read、System.IO.File.Write、System.IO.File.Disposeの各メソッドを用います。 詳細はMSDNでご確認下さい。↓
File.Openメソッド
http://msdn.microsoft.com/ja-jp/library/system.io.file.open%28VS.80%29.aspx
FileStream.Closeメソッド
http://msdn.microsoft.com/ja-jp/library/system.io.stream.close%28v=VS.80%29.aspx
FileStream.Readメソッド
http://msdn.microsoft.com/ja-jp/library/system.io.filestream.read%28v=VS.80%29.aspx
FileStream.Writeメソッド
http://msdn.microsoft.com/ja-jp/library/system.io.filestream.write%28v=VS.80%29.aspx
FileStream.Disposeメソッド
http://msdn.microsoft.com/ja-jp/library/ms227422%28v=VS.80%29.aspx
ただ、ここで問題が一つ。
FileStream.Readメソッドでは読み込んだ値はバイト配列へ格納されるため、バイト配列からInt32などの型へ変換する必要が出てきます。
同様にFileStream.Writeメソッドでは、バイト配列を指定してファイルへ書き込む必要があります。

ここで、バイト配列から各Int32などの型へ変換するにはSystem.BitConverterクラスのToInt32メソッドなどを用います。 その逆に各型からバイト配列へ変換するにはGetBytesメソッドを用います。
(参考)System.BitConverterクラス
http://msdn.microsoft.com/ja-jp/library/system.bitconverter_members%28v=VS.80%29.aspx

これらを駆使して、やっとビットマップファイル(*.bmp)をバイナリで開く事が可能となります。 このサンプルプログラムはこちら↓
そして、このバイナリファイルの読込、書込のメソッドImagingSolution.BitmapBinary.LoadとImagingSolution.BitmapBinary.Saveを用いた処理例は以下の通りです。
処理的にはぜんぜん意味がないですが、画像の各輝度値を反転させて戻してます。
Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

Windows7マシン購入!

遅れ馳せながら、やっと私もWindows7へ移行(の予定)
今のVistaマシンがあまりに遅いので、Windows7のマシンを思わずポチッっと予約してしまいました。

Windows7マシンでやりたかった事は
Direct2D
GPGPU(CUDA)
64bitプログラム
並列プログラミング
など

これらについては、いづれ記事にできればと思います。

ただ、OSを64bitにすると、現状持っているソフトやプリンタなどが64bit環境で動いてくれるのか?とても不安。
そんな時にはWindows7および32bit/64bitの対応状況をまとめたページがあるので、参考になると思います。
 Windows7対応製品情報
でも、やっぱり不安

ちなみに、購入したのはマウスコンピューターにてMDVシリーズのこれ↓(MDV-ADS7310X)


ざっくり仕様はCore i7-870、NVIDIA GeForce GTX470/1280MBの最小構成で 119,700円(税込)なのですが、買う気も無かった24インチのLED液晶モニタが21,000円+送料3,150円だったので、思わず購入で、完全予算オーバー。

届くのが楽しみ!!!

マウスコンピューター/G-Tune
マウスコンピューター/MDV ADVANCEシリーズ

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【C++/CLI】画像データの拡大縮小

メインページC++/CLI プログラミング

以前、画像表示の拡大縮小については画像の拡大縮小表示(高機能版)として紹介しましたが、今回は画像データのそのものを拡大縮小する方法を紹介します。

画像データを拡大縮小するにはSystem.Drawing.Bitmapクラスの以下のコンストラクタを用いる事で可能となります。

Bitmap (
    Image^ original,
    int width,
    int height
)

概要
指定したサイズを使用して、指定した既存のイメージで Bitmap クラスの新しいインスタンスを初期化します。

パラメータ
original新しい Bitmap の作成元の Image
width新しい Bitmap の幅 (ピクセル単位)
height新しい Bitmap の高さ (ピクセル単位)

処理例
//元の画像
Bitmap^ src = gcnew Bitmap("test.bmp");
//縮小画像(1/2に縮小)
Bitmap^ dstSmall = gcnew Bitmap(src, src->Width / 2, src->Height / 2);
//画像の保存
dstSmall->Save("SmallImage.bmp", Imaging::ImageFormat::Bmp);
//拡大画像(2倍に拡大)
Bitmap^ dstBig = gcnew Bitmap(src, src->Width * 2, src->Height * 2);
//画像の保存
dstBig->Save("BigImage.bmp", Imaging::ImageFormat::Bmp);

処理結果
元の画像(test.bmp)
画像データの拡大縮小
縮小画像(SmallImage.bmp)
画像データの拡大縮小
拡大画像(BigImage.bmp)
画像データの拡大縮小

補間モード(InterpolationMode)を指定して保存したい場合は、いったGraphicsを通して画像を描画することで、補間モードを設定します。

//元の画像
Bitmap^ src = gcnew Bitmap("test.bmp");
//拡大画像データの確保
Bitmap^ dst = gcnew Bitmap(src->Width * 2, src->Height * 2);
//Graphicsオブジェクトの確保
Graphics^ g = Graphics::FromImage(dst);
//補間モードの設定
g->InterpolationMode = Drawing2D::InterpolationMode::HighQualityBicubic;
//拡大してGraphicsへ描画
g->DrawImage(src, 0, 0, src->Width * 2, src->Height * 2);
//画像の保存
dst->Save("BigImage.bmp", Imaging::ImageFormat::Bmp);

ただし、この方法では元の画像データ(src)がモノクロデータ(8Bit)の場合、上記のプログラムのままではR,G,Bの値が等しい24Bitのカラー画像として保存されてしまいます。
モノクロ画像データとして保存したい場合は、カラー画像からモノクロ画像に変換するしかなさそうです。

【関連記事】
画像の拡大縮小表示(高機能版)
8Bitモノクロのカラーパレット設定
画素の補間(Nearest neighbor,Bilinear,Bicubic)


Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【C++/CLI】アンカープロパティによるフォームのリサイズ処理

メインページC++/CLI プログラミング

フォームのリサイズ時にボタンなどの位置をフォームの大きさに合わせて調整する場合、位置を調整するコントロールのAnchorプロパティを設定すると簡単に位置調整が可能となります。

Anchorプロパティによるフォームリサイズ時の位置調整

Anchorプロパティは指定した方向がリサイズ時の位置の基準となり、指定した方向の距離が一定に保たれるようにコントロールの位置が調整されます。

何はともあれ、以下の動きを見て頂くと分かりやすいと思います。

【button1~button4:Top,Leftの場合】※Top,Leftはデフォルト設定値です。
Anchorプロパティによるフォームリサイズ時の位置調整



【button4:Bottom,Rightの場合】
Anchorプロパティによるフォームリサイズ時の位置調整



【button2,button4:Top,Left,Rightの場合】
Anchorプロパティによるフォームリサイズ時の位置調整



【button3,button4:Bottomの場合】
Anchorプロパティによるフォームリサイズ時の位置調整



【button4:Top,Bottom,Left,Rightの場合】
Anchorプロパティによるフォームリサイズ時の位置調整





VB6.0の時はフォームのリサイズイベントで座標を計算しながら位置を調整していましたが、.NETからは、このAnchorプロパティを使う事でやたらと簡単になりました。

Loading...
スポンサーリンク



現在の閲覧者数: / 合計