理工系、特に電気情報系、の学生と技術者を対象としたVisual C++の解説を行います。ただし、初めてプログラムを学ぶ全くの初心者向けではありません。
 本資料の一部のJava版が(株)翔泳社のウエブサイトCodeZineにありますので、こちらもご利用ください(Java版とある場所をクリックして下さい)。
 作成時期が異なるため、Visual C++のVersionが異なっていますが、本質的に変わりはありません。
 (株)マイナビより、「Visual C# 2013 画像処理・数値プログラミング」が出ています。これは、本サイトの画像処理関連と数値計算関連から選んだテーマを加筆・改良して、Visual C#に書き直したものです。「Visual C#の勉強部屋」とも言えるものです。
 この本で紹介しているものは、下記「マイナビ」欄に「C#」で記してあります。
 OpenCV3.2.0がダウンロード可能になりました。ここで取り扱う範囲に限っては、OpenCV3.1.0と大きな違いはなさそうなので、項目別ではなく、ダラダラとメモ的に書くことにしました。

 Visual Studio 2017が公開されました。Visual C++に関しては、Universal Windows Platform(UWP)アプリ開発向けのテンプレートが充実しましたので、UWPアプリを中心に「Visual Studio Communiuty 2017の使い方」シリーズを始めます。



New!Visual Studio Community 2017の使い方
Universal Windows Platformアプリケ―ションの紹介が中心です

    サブタイトル(クリックしてください) 第1版 最新版
New! ( 1) Visual C++ 2017をインストールして、Universal Windows Platformアプリケーション作成の準備をする 2017. 4.12.  
New! ( 2) TextBoxへ入力して演算結果をTextBlockへ表示する 2017. 4.20.  


OpenCV3.2.0に関するメモ
OpenCV3.1.0との違いなどをメモ的に記述しています>/A>



OpenCV3.1.0とVisual C++ 2015による画像処理と認識
OpenCV3.1.0になって、大きく変わったもののみです(欠番あり)

    サブタイトル(クリックしてください) 第1版 最新版
  ( 1) OpenCV3.1.0をダウンロードしてVisual Studio Community 2015で使う 2016. 7. 2.. .2016. 8.26.
  ( 2) 原画像をRGB成分に分解してピクセル単位の画像処理をする 2016. 7.10.  
  ( 3) グローバルしきい値とローカルしきい値を用いた二値化の比較 2016. 7.17.  
  ( 4) HSV表色系へ変換しての処理と道路標識の検出への応用 2016. 7.25.  
  ( 5) 画像のヒストグラムを取得し、コントラストの改善と画像の検索を行う 2016. 8. 2.  
  ( 6) エッジ保存平滑化フィルタを比較する 2016. 8.14.  
  ( 7) 各種エッジ検出フィルタと関連類似関数を試みる 2016. 8.22.  
  (10) OpenCV3.1.0で用意されている各種特徴点検出器を試す 2016. 9. 9.  
  (11) BRISK、ORB、KAZE、AKAZEを用いて特徴点のマッチングを採る 2016. 9.18.  
  (14) ニューラルネットワークで数字を判別する 2016. 9.27.  
  (15) SVM(サポートベクターマシン)を使ってみる 2016.10. 8.  
  (16) ブーストで、顔図形の分類と二次元座標の分類を試みる 2016.10.17.  
  (20) tsukuba画像とaloe画像を使って視差マップ(disparity map)を作成する 2016.10.30.  
  (21) ホモグラフィー変換やStitcherを用いて二枚の画像を合成する 2016.11.9.  


OpenMPとVisual C++による並列処理
Win32アプリケ―ションです

    サブタイトル(クリックしてください) 第1版 最新版
  ( 1) OpenMPを使えるようにして、forループの並列演算を試みる 2016 2.16.. 2016. 2.29.
  ( 2) Visual C++のデフォルト並列化機能と、Qpar、OpenMPの使用効果を比較する 2016. 2.24. 2016. 3. 2. 
  (2A) Win32アプリケーションで、グラフを用いてVisual C++、Qpar、OpenMPの使用効果を比較する 2016. 3.20.  
  ( 3) より長い処理を、多数回測定して、OpenMPの効果を確認する 2016. 3. 8.  
  ( 4) 画像反転(ネガ化)とグレイ化の簡単な画像処理で、OpenMPの効果を確認する 2016. 3.15.  
  ( 5) コンボリューションを用いた画像処理で、OpenMPの効果を確認する 2016. 3.26.  
  ( 6) ヒストグラム作成は、OpenMPの効果が期待できない 2016. 4. 3.  
  ( 7) コントラスト強調では、OpenMPの効果があまりない 2016. 4.12.  
  ( 8) 補間処理を含む画像の回転では、OpenMPの効果がある 2016. 5. 2.  
( 9) テンプレートマッチングでは、OpenMPの効果が大きい 2016. 5.14.


Visual Studio Community 2015の使い方
Win32アプリケ―ションのGUI紹介が中心です

    サブタイトル(クリックしてください) 第1版 最新版
  ( 1) Visual C++ 2015をインストールして、Win32コンソールアプリケーションを作成する 2015.11.19.  
  ( 2) Visual C++でWindowsフォームアプリケーションを作成する 2015.11.24.  
  ( 3) Win32アプリケーションで、メニューを作成する 2015.11.30.  
  ( 4) Win32アプリケーションで、ボタン類を使用する 2015.12. 9.
  ( 5) Win32アプリケーションで、コンボボックスを使用する 2015.12.15.  
  ( 6) エディット、コンボボックス、スタティックの各コントロールとボタンを使用する 2015.12.25.  
  ( 7) 水平と垂直のトラックバーを使用して色を作成する 2016. 1. 9.  
  ( 8) マウスで座標位置を入力して、回帰直線を求める 2016. 1.29.  


OpenCVとVisual C++ による画像処理と認識
全面的にOpenCV2.4.10のライブラリを使用したものです

    サブタイトル(クリックしてください) 第1版 最新版
  ( 1) OpenCVをダウンロードしてVisual Studioで使う 2014.11.26. 2015. 1.23.
  ( 2) 原画像をRGB成分に分解してピクセル単位の画像処理をする 2014.12. 2. 2014.12. 9.
  ( 3) 二値化のいろいろと、トラックバーの使用 2014.12. 8.  
  ( 4) HSV表色系への変換rと道路標識の検出 2014.12.13. 2016. 7.21.
  ( 5) ヒストグラムを作成し、equalizeHist関数で画像を補正する 2014.12.20.  
  ( 6) いろいろな平滑化フィルタで画像を加工する 2014.12.27.  
  ( 7) いろいろなエッジ検出フィルタを比較する 2014.12.31.  
  ( 8) Hough変換を用いて、直線を検出する 2015. 1. 8.  
  ( 9) Hough変換を用いて、円を検出する 2015. 1.15.  
  (10) いろいろな特徴検出法を試し、道路標識に応用する 2015. 2. 3.  
  (11) ORBを用いて特徴点のマッチングを行う 2015. 2.13.  
  (12) テンプレートマッチングで道路標識と数字を検出する 2015. 2.20.  
  (13) カスケード分類器と訓練済みデータで顔と人物を検出する 2015. 3. 1. 2015.10.26.
  (13A) HOGDescriptorとSVMで人(歩行者)を検出する 2015.11. 7.
  (14) ニューラルネットワークで数字と文字を識別する 2015. 3.11.  
  (15) サポートベクターマシンを使ってみる 2015. 3.24.  
   (16) ブースティングで、簡単な真顔と偽顔の図形を識別する 2015. 4.21.  
  (17) 三次元再構成の準備として、カメラキャリブレーションを行う 2015. 5.21.  
  (18) 色情報と隠点消去処理を加えて、3D→2D変換を行う 2015. 6. 6.  
  (19) 二枚のカメラ画像から基礎行列を求めるのは難しい 2015. 7. 4. 2015. 9.25.
  (20) Tsukuba標準画像その他を使って視差マップ(disparity map)を作成する 2015. 7.27. 2015.10.10.
  (21) ホモグラフィー変換やStitcherを用いて二枚の画像を合成する 2015. 8.28.  
  (22) triangulatePoints関数を詳しく調べる 2015. 9.11.  
  (23) findFundamentalMat関数を詳しく調べる 2015. 9.25.  
  (24) reprojectImageTo3D関数とprojectPoints関数を使う 2015.10.14.


Visual C++ 2008 Express Editionの易しい数値計算
計算のみはコンソールで、計算してグラフ化はWindowsフォームです

    サブタイトル(クリックしてください) 第1版 最新版 マイナビ
   ( 1) 最初はHello Worldから 2008. 2.21.          
  ( 2) 数値を数字(文字列)に変換して表示し、ファイルに保存する 2008. 2.29.    C#
  ( 3) 入力した数字(文字列)を数値に変換して統計処理をする 2008. 3. 7.  
  ( 4) ファイルからデータを読み込んで統計処理をする 2008. 3.11.  
  ( 5) 連立方程式を解いて、回路計算をする 2008. 3.19.  
  ( 6) RungeKutta法で一元微分方程式を解き、回路の過渡現象を計算する 2008. 4. 4.  2014. 2.21. C#
  ( 7) RungeKutta法で二元連立微分方程式を解き、LCR回路の過渡現象を計算する 2008. 4.10.  2014. 2.21.  C#
  ( 8) Taylor展開の計算と、交流理論の簡単な複素数計算 2008. 4.21.  
  ( 9) T型−π型変換と、それを用いたT型回路の計算 2008. 5.23.  
  (10) 定積分の計算と、正弦波形の平均値と実効値 2008. 6.23.  
    (11) 波形の数値積分と電気回路への応用 2008. 7.16.  


Visual C++ 2010 Expressの易しい使い方
グラフィックスに重点を置いたWindowsフォームアプリケーションです

    サブタイトル(クリックしてください) 第1版 最新版 CodeZine マイナビ
  ( 1) コンソールアプリケーションの場合             2010. 5.20.     C#
  ( 2) プログラムの実行結果をフォームに出力する 2010. 5.20.      C#
  ( 3) テキストボックスへ入力して結果をラベルに出力する 2010. 5.21. 2010. 6.3.   C#
   ( 4) メニュー選択を使用する入力と別フォームを使用する入力 2010. 5.24.     C#
  ( 5) プリンタに出力したり、ファイルに出力したりする 2010. 5.25.     C#
  ( 6) Graphicsを用いて、画面上にグラフを描く 2010. 5.25.      C#
  ( 7) マウスでパターンを入力し、ファイルに格納する 2010. 5.27. 2011.3.17.  
  ( 8) 一次元DCTプログラムを作ってみよう 2010. 5.28.     C#
  ( 9) リサージュ波形を画面に表示させる 2010. 5.30.     C#
  (10) 標準C++ライブラリのcomplexクラスを使用し、複素数計算の結果をグラフに表す 2010. 6. 2. 2014.2.10   C#
  (11) C++標準のcomplexクラスを用いて水晶発振子の等価回路特性を描く 2010. 6. 7.    
  (12) 高速化のためにcomplexクラスを使用しないでMandelbrot図形を描く 2010. 6.13.   Java版
  (13) 三次元グラフィックの例題としてのFET静特性の表示 2010. 6.24.    
  (14) Turtle Graphicsを用いた、再帰プログラムの例題としてのフラクタル図形の描画 2010. 7.18.   Java版  
  (15) 4次Runge-Kutta法による微分方程式の求解とLorenz Attractor図形の描画 2010. 7.27.      C#
  (16) 複素数演算による等角写像と電磁気学への応用 2010.10.18.     C#
  (17) Lagrange、Newton、Splineなどの色々な補間方式を実現する 2010.10.30. 2014.2.21. Java版 C#
  (18) 最小二乗法により、測定データに多項式を当てはめる 2010.11. 7.   Java版 C#
  (19) Mandelbrot図形の一部をクリックして、対応する条件でJulia図形を描く 2010.11.23.   Java版
  (20) 三次元グラフで陰線処理を行う 2010.12. 3.   Java版


Visual C++ 2010 Expressの易しい画像処理
画像処理を目的としたWindowsフォームアプリケーションです

    サブタイトル(クリックしてください) 第1版 最新版 CodeZine マイナビ
  ( 1) 原画像を読み込み、RGBとCMYの三色に分解する                   2010.12. 7.      
  ( 2) 原画像のピクセル毎のRGBデータを加工する 2010.12.11.     C#
  ( 3) 原画像のRGBデータをHSV(HSB)表示に変換して加工する 2010.12.16.   Java版 C#
  ( 4) 原画像のヒストグラムを変換して新しい画像を描く 2010.12.20.   Java版 C#
  ( 5) コンボリューションを用いた画像の平滑化、鮮鋭化、エッジ検出 2010.12.26.   Java版 C#
  ( 6) 画像の拡大と縮小 2011. 1. 7. 2011.1.25.    
  ( 7) エッジ検出と線画化 2011. 1.15.   Java版 C#
  ( 8) 分かりやすいアルゴリズムで二値画像を細線化する 2011. 1.19. 2014. 2.8. Java版 C#
  ( 9) モノクロ化と二値化(グローバルしきい値法、ローカルしきい値法) 2011. 1.24.     C#
  (10) 画像の回転と拡大 2011. 2. 2.   Java版  


Visual Studio Express 2012 ( Visual C++ ) の易しい使い方
Win32アプリケーションの作成例の紹介が中心です

    サブタイトル(クリックしてください) 第1版 最新版 マイナビ
  ( 1) コンソールアプリケーションの場合             2013. 5.30.   C#
  ( 2) プログラムの実行結果をWindowsフォームに出力する 2013. 6. 5. 2015.11.23. C#
  ( 3) Win32アプリケーションを始める 2013. 6.27.  
  ( 4) Win32で、計算結果を表示、ボタンを使う 2013. 7. 4. 2015.11.25. 
  ( 5) Win32で、グラフを表示、メニューを使う 2013. 7.17  
  ( 6) Win32で、画像を読み込み、簡単な画像処理を行う 2013. 7.30.  
  ( 7) Win32で、ファイルから画像を読み込み、コンボリューションによる画像処理を行う 2013. 8.20.  


Visual Studio Express 2013 ( Visual C++ ) の新しい使い方
C++の比較的新しい仕様を用いたコンソールアプリケーションが中心です


    サブタイトル(クリックしてください) 第1版 最新版
  ( 1) コンソールアプリケーションで、vector、for_each、ラムダ式を使う 2014. 3.31.  
   ( 2) コンソールアプリケーションで、range-based forを使う       2014. 4. 8.  
   ( 3) コンソールアプリケーションで、complexテンプレートクラスを使う 2014. 4.28  
  ( 4) コンソールアプリケーションで、generateとラムダ式を使う 2014. 5.20. 2014. 6. 1.
  ( 5) コンソールアプリケーションで、Stopwatchとchronoを使って、実行時間を測定する 2014.10.27.
  ( 6) Windowsフォームアプリケーションを始める 2014.11.21.



@niftyがカウンター機能の提供を中止しましたので、
2016.11.10の最後のカウンタを画像で表示します。
このカウンタは、これ以上増えることはありません。



RoomMaster's Voice(筆者の独り言)Facebookの一部を紹介しています

石立 喬のホームページへ戻る