Akira_Imagingのプロフィール
- ベストアンサー数
- 3
- ベストアンサー率
- 60%
- お礼率
- 0%
- 登録日2010/06/11
- Webサイト http://imagingsolution.blog107.fc2.com/
- OpenCVの色についての質問です。
OpenCVの色についての質問です。 現在色の認識のプログラムについて検証しているのですが、 OpenCVを用いたvisualC++のプログラムはどのようにして、 認識する色を指定しているのでしょうか? bool is_yellow(CvScalar s){ return (s.val[0]<150&&s.val[1]>200&&s.val[2]>200);//BGR } 私はこの部分の値を変更すればできると考えたのですがうまくいきませんでした。 ソースを載せたいのですが、全部は載せることができません。 なので回答いただいた方に指定していただければその部分を補足として載せたいと思います。 何卒よろしくお願いします。
- 締切済み
- dante-cry
- その他(ソフトウェア)
- 回答数1
- OpenCVによる面積算出
OpenCVによる面積算出 現在OpenCVを使用して、2値化した画像を取得し保存。そして取得した画像を読み込み白い部分の面積を求めるプログラムを作成中なのですが、正直分かりません;; どのように作ればいいのか、OpenCvのプログラミングブックやGoogleで検索しても、自分で作成するに至れない状況です。もしよろしければ、アドバイス等をいただけると幸いです;;
- 細線化のプログラム
細線化のプログラム C#で細線化のプログラムを作成してみましたがうまくいきません。 http://imagingsolution.blog107.fc2.com/blog-entry-138.html を参考に作成しました。 うまくいかないところは、一部に縦線がいくつも残ってしますところです。 ソース static Bitmap Shape(Bitmap bmp) { int Flag = 0; //初期化 for (int j = 0; j < bmp.Height ; j++) { for (int i = 0; i < bmp.Width ; i++) { if (bmp.GetPixel(i, j).R != 255) { bmp.SetPixel(i, j, Color.FromArgb(0, 0, 0)); } } } while(true){ //パターン1 for (int i = 1; i < bmp.Width - 1; i++) { for (int j = 1; j < bmp.Height - 1; j++) { if (bmp.GetPixel(i, j).R == 255) { //除去しないパターン if (( 略 )) { //セーフ } else if ((略)){ //セーフ } //除去するパターン else if ((bmp.GetPixel(i + 1, j).R != 255) || (bmp.GetPixel(i, j - 1).R != 255)) { //黒にする bmp.SetPixel(i, j, Color.FromArgb(0, 0, 0)); Flag++; } } } } // MessageBox.Show(Flag.ToString()); //終了 if (Flag == 0) return bmp; Flag = 0; /*パターン2も同じようにする*/ という感じでプログラムを組んでいます。 画像は失敗例です。アドバイスをお願いします
- 細線化のプログラム
細線化のプログラム C#で細線化のプログラムを作成してみましたがうまくいきません。 http://imagingsolution.blog107.fc2.com/blog-entry-138.html を参考に作成しました。 うまくいかないところは、一部に縦線がいくつも残ってしますところです。 ソース static Bitmap Shape(Bitmap bmp) { int Flag = 0; //初期化 for (int j = 0; j < bmp.Height ; j++) { for (int i = 0; i < bmp.Width ; i++) { if (bmp.GetPixel(i, j).R != 255) { bmp.SetPixel(i, j, Color.FromArgb(0, 0, 0)); } } } while(true){ //パターン1 for (int i = 1; i < bmp.Width - 1; i++) { for (int j = 1; j < bmp.Height - 1; j++) { if (bmp.GetPixel(i, j).R == 255) { //除去しないパターン if (( 略 )) { //セーフ } else if ((略)){ //セーフ } //除去するパターン else if ((bmp.GetPixel(i + 1, j).R != 255) || (bmp.GetPixel(i, j - 1).R != 255)) { //黒にする bmp.SetPixel(i, j, Color.FromArgb(0, 0, 0)); Flag++; } } } } // MessageBox.Show(Flag.ToString()); //終了 if (Flag == 0) return bmp; Flag = 0; /*パターン2も同じようにする*/ という感じでプログラムを組んでいます。 画像は失敗例です。アドバイスをお願いします
- OpenCV2.1.0でのコンパイルエラーについて、質問があります。
OpenCV2.1.0でのコンパイルエラーについて、質問があります。 初心者で至らない点があるかと思いますが、ぜひ回答よろしくお願いします。 動画キャプチャを再生するプログラムを作ろうと、DirectXを利用しています。 (Visual C++ 2010 expressを使っています) インクルードファイルでの<cv.h>や<dshow.h>は、Microsofot windows SDK 6.1 やOpenCv2.1.0をインストールして、VC++ディレクトリ中の インクルードファイル(*.h)は c:\OpenCV2.1\include\opencv ラ イブラリファイル(*.lib)は c:\OpenCV2.1\lib ダイナミックリンクライブラリ ファイル(*.dll)は c:\OpenCV2.1\bin (これは、”実行可能なファイル"のところへ) 設定して、コンパイルエラーは出ないようになりました。 しかし、 「インクルードファイル(*.h)は c:\OpenCV2.1\include\opencv」 の処置のおかげで、同一フォルダに入っている 「cxtypes.h」と「cxoperations.hpp」の二つで、下記のようなコンパイルエラーが出ます。 エラーメッセージ > error C3862: /clr:pure または /clr:safe を伴うアンマネージ関数を コンパイルできません インラインのネイティブ アセンブリはマネージ コードで サポートされていません >error C3645: : __clrcall は、ネイティブ コードにコンパイルされた関数 では使用できません 上のエラーから、clrの問題と考えて、.NET .Freamework 4.0(x68)を 新しくインストールしましたが、上のエラーが解決せず、コンパイルできません。 VC++ディレクトリ中のリンカーは、 strmiids.lib cv.lib cxcore.lib highgui.lib dxerr.lib dxguid.lib d3dx9.lib d3dx10.lib d3d9.lib winmm.lib comctl32.lib strmbase.lib にしました。 コンパイルエラーを解決する方法をご教示くださると、大変幸いです。 よろしくお願いします。