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

プロフィール

Akira

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

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

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

04 | 2010/05 | 06
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 31 - - - - -

趣味のブログ

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購入

【C++/CLI】大文字/小文字、全角/半角、ひらがな/カタカナ変換

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

大文字/小文字の変換をするには System.String クラスの ToLowerToUpper メソッドを用います。

【コード例】
String^ str;

//大文字→小文字変換

str = "ImagingSolution";    // → imagingsolution
str = str->ToLower();   
//小文字→大文字変換       
str = "Imagingsolution";    // → IMAGINGSOLUTION
str = str->ToUpper();   

さらにVBの関数を用いると全角/半角、ひらがな/カタカナの変換も行う事が出来ます。
VBの関数をC++/CLIから使う方法は VB.NET固有の関数を使用する方法 を参照願います。

【コード例】
using namespace Microsoft::VisualBasic;

String
^ str;

//大文字→小文字変換

str = "ImagingSolution";    //→imagingsolution
str = Strings::StrConv(str, VbStrConv::Lowercase, 0);
//小文字→大文字変換
str = "Imagingsolution";    //→IMAGINGSOLUTION   
str = Strings::StrConv(str, VbStrConv::Uppercase, 0);         

//全角→半角変換
str = "画像処理ソリューション";    //→画像処理ソリューション
str = Strings::StrConv(str, VbStrConv::Narrow, 0);
//半角→全角変換
str = "画像処理ソリューション";            //→画像処理ソリューション
str = Strings::StrConv(str, VbStrConv::Wide, 0); 

//ひらがな→カタカナ
str = "画像処理そりゅーしょん";    //→画像処理ソリューション
str = Strings::StrConv(str, VbStrConv::Katakana, 0);
//カタカナ→ひらがな
str = "画像処理ソリューション";    //→画像処理そりゅーしょん
str = Strings::StrConv(str, VbStrConv::Hiragana, 0);

(参考)
http://msdn.microsoft.com/ja-jp/library/7wtc81z6%28v=VS.80%29.aspx
http://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.vbstrconv.aspx
 
 

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購入

OpenCVでアンシャープマスキング(Unsharp Masking)

メインページOpenCV

アンシャープマスキング(Unsharp Masking)もOpenCVに無い関数の1つのなのですが、OpenCVの関数を使ってアンシャープマスキングを実現する手法を紹介します。

アンシャープマスキングのアルゴリズムについては以前、アンシャープマスキング(鮮鋭化フィルタ)のページで紹介しているので、そちらを参照願います。

カーネルを直に設定する方法

void cv_UnsharpMasking1(IplImage* src_img, IplImage* dst_img){
    //カーネルの設定
    float KernelData[] = {
        -1/9.0f, -1/9.0f, -1/9.0f,
        -1/9.0f, 17/9.0f, -1/9.0f,
        -1/9.0f, -1/9.0f, -1/9.0f,
        };
    //カーネルの配列をCvMatへ変換
    CvMat kernel = cvMat (3, 3, CV_32F, KernelData);
    //フィルタ処理
    cvFilter2D (src_img, dst_img, &kernel);
}

アルゴリズムを忠実に行う方法

ただ単にアンシャープマスキングを行うのであればカーネルを指定してしまった方が簡単ですが、ここでは負の輝度値が必要となる場合の画像間演算(cvAddやcvSubなど)を使う例として参照して頂ければと思います。

void cv_UnsharpMasking2(IplImage* src_img, IplImage* dst_img){

    // 符号付き画像データの確保
    IplImage* src_imgS = cvCreateImage(cvGetSize(src_img), IPL_DEPTH_16S, src_img->nChannels);
    IplImage* dst_imgS = cvCreateImage(cvGetSize(src_img), IPL_DEPTH_16S, src_img->nChannels);
    IplImage* ave_imgS = cvCreateImage(cvGetSize(src_img), IPL_DEPTH_16S, src_img->nChannels);
    IplImage* sub_imgS = cvCreateImage(cvGetSize(src_img), IPL_DEPTH_16S, src_img->nChannels);

    //平滑化
    cvSmooth(src_img, dst_img, CV_BLUR);

    //符号付き16 ビット整数に変換
    cvConvertScale(src_img, src_imgS, 1, 0);
    cvConvertScale(dst_img, ave_imgS, 1, 0);

    // 元画像から平滑化画像を引く
    // src_imgS - ave_imgS = sub_imgS
    cvSub(src_imgS, ave_imgS, sub_imgS);

    // 元画像に上記差分を足す
    // src_imgS + sub_imgS = dst_imgS

    cvAdd(src_imgS, sub_imgS, dst_imgS);

    // 符号付きデータから符号なしデータへ
    cvConvertScale(dst_imgS, dst_img, 1, 0);

    // 解放
    cvReleaseImage(&src_imgS);
    cvReleaseImage(&dst_imgS);
    cvReleaseImage(&ave_imgS);
    cvReleaseImage(&sub_imgS);
}

ポイントは画像間演算の計算では、計算するデータの全て(関数の引数全て)が同じ型にしないとならない点。
つまり、計算結果に符号付きの値が欲しい場合は、計算する元のデータも符号付きにしないとなりません。

例えば、cvSubの引数に全て符号無しの値を設定してしまうと、当然、符号無し(負の値は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プログラミング診断室

メインページ参考文献
プログラムの作法について書かれているのが、この本。
以前、紹介した
達人プログラマー―システム開発の職人から名匠への道ではプログラム手法を論理的に解説しているのに対し、この本はダメなサンプルプログラムを掲載し、それを修正していくより実践的な内容になっています。
本の内容は同名のHP 
Cプログラミング診断室 で全て公開されているのですが、本の方が読みやすかったので、買っちゃいました。

HPを見ても分かるように、こんなダメなプログラムは全て捨てて直した方が早いなどと、やや過激な否定的な表現が多くなっています。だた、そんな表現にも内容的には共感する物も多く、この本はアイツに読ませないとダメだな?!とか思いながら読んだりもしていました。
また、自分がこれまでやっていた事を指摘されると、なんだか恥ずかし目を受けているようでした。
特に、C言語のプログラムはとりあえず書けるんだけど、やたらとコピペして書いていく傾向の強い、新入社員に読ませるのも良いと思います。

この本にあまりにも触発されて否定的な事ばかりを言っていると、周りの人に反発を食らうので、他の人の汚いソースコードを見たときでも、そこはグッとこらえて親切丁寧に指導してあげましょう!
 

目次


第1部 外来診療室

第1章 普通の初心者
第2章 これでもプロ
第3章 上司が問題
第4章 キャストが好き
第5章 管理は複雑に
第6章 不慣れ
第7章 文字列処理は得意
第8章 Pascalが好き

第2部 集中治療室

第9章 珠玉の力作
第10章 最長不倒関数
第11章 奇っ怪な条件
第12章 芸術的字下げ
第13章 計算は自分で
第14章 メモリが足りない
 
 


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購入

FinePix HS10 (富士フィルム)レビュー(撮影サンプル画像)

メインページ

富士フィルムのFinePix HS10を買った当初は雨続きだったので、なかなか写真が撮れなかったのですが、GW中はずっと良い天気が続いたので、その時に近所や立つレッサーパンダの風太くんで有名な千葉市動物公園へ行った時の写真をUpしてみました。
いまいち写真のセンスがありませんが、参考まで...

広角側24mmで撮影したものがこちら↓

FinePix HS10(富士フィルム)レビュー

この写真↑の中央付近のピンク色付近を最大の30倍ズーム(720mm)で撮影したものがこちら↓

FinePix HS10(富士フィルム)レビュー

光学ズーム30倍は伊達じゃない。
ちなみに、このHS10にはデジタルズームはありません。

で、花いろいろ↓

FinePix HS10(富士フィルム)レビュー

FinePix HS10(富士フィルム)レビュー

FinePix HS10(富士フィルム)レビュー

FinePix HS10(富士フィルム)レビュー

以下、千葉市動物公園にて

FinePix HS10(富士フィルム)レビュー

画像処理の世界では有名なマンドリル!
本物を見たの初めてだったのですが、お尻までカラフルだと言うのは初めて知りました。
この写真は手前の金網にフォーカスが合ってしまった失敗例。
このようなはマニュアルフォーカスの出番だとは思うですが、相手(動物)が動くとマニュアルでフォーカスを合わせるのは、なかなか至難の技です。というか、私にはできませんでした。

FinePix HS10(富士フィルム)レビュー

風太くん!?(もう一匹、同じオリの中にレッサーパンダがいたので、間違っていたらゴメンなさい)
ちょこちょこ動きまわって、全々立ってくれませんでした。

FinePix HS10(富士フィルム)レビュー

FinePix HS10(富士フィルム)レビュー

このHS10は、なかなか厳しい意見も多いようですが、個人的には4万円そこそこで買ったカメラとしては上出来かな?

※これらの写真はブログに掲載する都合上、ファイルサイズに制限があるため、3648×2736画素で撮影した写真を1600×1200画素に縮小しています。
等倍の写真はやや画素が粗い印象があるので、縮小するとキレイに見えるので、かえっていいかも?
この画素の粗さに関してはFinePix HS10 (富士フィルム)の夜景の実力は?のページで等倍で見て頂くと雰囲気は分かると思います。

FUJIFILM デジタルカメラ FinePix HS10 ブラック FX-HS10FUJIFILM デジタルカメラ FinePix HS10 ブラック FX-HS10

FUJIFILM FinePixS100FS用 ソフトケース ブラック SC-K10 SanDisk SDHCカード Class10 8GB SDSDX3-008G-J31A SanDisk SDHCカード Class10 32GB SDSDX3-032G-J31A エツミ 液晶保護フィルム プロ用ガードフィルム フジファインピックス HS10専用 E-1896 FUJIFILM AC-5VX ACアダプター 5V

by G-Tools



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購入

【トレたま】人間には負けません♪(エアホッケーロボ)

さっきワールドビジネスサテライトを見ていたら、私の好きなトレたまのコーナーで画像処理をしながら人間 VS ロボットでエアホッケーをしている千葉大学の研究室の紹介がされていました。

なんか、東大の石川小室研究室でやっている研究と似ているな?!と思ったら、研究室(並木研究室)の先生はやっぱり東大出身。

この、エアホッケーの処理は1秒あたりに500枚撮影して、反応速度は0.002秒!

画像処理的にはリアルタイムでフレーム間差分処理をして、パックの移動方向を求め、ロボットアームを制御しているのかな?って私の勝手な想像ですが...
なんとなく、アームに近い場所でサイドに高速に反射させれば、人間でも勝てるんじゃないか?と勘ぐってみたりもしますが。

使っているカメラはBaslerだったので、たぶんこれ(A504k/kc
500fpsで処理しているって事はソフト処理だけだと厳しそうなので、FPGA処理も併用しているのか?

技術レベル的には東大の研究室で行っている方が三次元の処理が多いので難しそうですが、千葉大学の研究室も開発環境に恵まれているようで、ウラやまし~
 
 

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】VB.NET固有の関数を使用する方法

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

.NET Framework ではVisual Basic.NETであっても、ただのVisualBasicという名前空間であるだけなので、C#やC++/CLIからVB.NET固有の関数を使うことが可能です。

以下、VB固有の関数の代表格のInputBox関数の使用方法を紹介します。

まず、VisualBasicの名前空間を参照できるように参照設定を行います。

プロジェクトの名前の部分で右ボタンをクリックし、参照を選択します。

VB.NET固有の関数を使用する方法

次に新しい参照の追加ボタンをクリックします。

VB.NET固有の関数を使用する方法

すると、使用可能な.NETの名前空間を表示されるので、この中からMicrosoft.VisualBaicを選択しOKボタンをクリックします。

VB.NET固有の関数を使用する方法

すると、現在参照設定している名前空間んお一覧にMicrosoft.VisualBasicの名前か追加されます。

VB.NET固有の関数を使用する方法

これで準備は完了です。

実際にInputBoxを呼び出すのは、こんな感じ↓です。

String^ str = Microsoft::VisualBasic::Interaction::InputBox("入力文字?", "タイトル", "初期値", -1, -1);

とすると、このよう↓に表示されます。

VB.NET固有の関数を使用する方法

C++からVBの関数が呼べてしまうのは不思議な感じもしますが、他にも使いたいVBの関数があったので、今回わざわざ記事にしてみました。
 
 

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



現在の閲覧者数: / 合計