openCVの関数で
cvCvtColor(frameImage, hsvImage, CV_BGR2HSV);
というRGBからHSVへ変換する関数を
openGLと組み合わせたプログラムで使用していたところ,
コンパイルは通るのですが実行すると
Bad number of channels (Incorrect number of channels for this conversion code)
in function cvCvtColor. C:\User\VP\opencv\cv\src\cvcolor.cpp(2440)
と表示されてエラーとなります.
いったい何が原因なのでしょうか??
ちなみに上記関数はopenCVのみのプログラムでは正常に
動作したのを確認しました.
また,エラーが出たプログラムでは,
glutDisplayFunc(display);
glutIdleFunc(idle); //idleの中身はglutPostRedisplay();
としており,このdisplay()関数内にて
上記関数を使用したところこのような現象が起こりました.
分かる方がいらっしゃいましたら,ご回答よろしくお願いいたします.
No.1ベストアンサー
- 回答日時:
もう解決してしまわれたかな・・・?
Bad number of channels (Incorrect number of channels for this conversion code)
訳すと
「チャンネル数が間違っています(この変換コードに合っていません)」
という感じになります。これは
cvCvtColor(frameImage, hsvImage, CV_BGR2HSV);
のframeImageかhsvImageのチャンネル数が変換コード(CV_BGR2HSV)に合ってないっていうことです。チャンネル数はRGBなら3色なので3、グレースケールなら1色なので1、というような感じになります。frameImageとhsvImageを
IplImage* frameImage = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 3);
IplImage* hsvImage = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 3);
↑ここが重要
というように定義したかと思いますが、この最後の引数が3以外になってたりしてないですか?このあたりのソースコードを見てもらえると原因が分かるかなあと思います。参考までに・・・
実はすでに解決していたのですが・・・
まさにそのとおりでした!!!!
おもしろいくらいそのとおりでしたwww
でも意味はわかっていなかったので、
勉強になりました!!ありがとうございました!!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Excel(エクセル) エクセルのSUM関数について 4 2023/04/18 10:37
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ 2 2022/07/09 21:13
- Windows 10 数年前からWindows10 の Update ができないです。なぜですか? 7 2022/11/09 06:03
- その他(プログラミング・Web制作) pythonのOpenCVを自動インストールするプログラム 1 2022/09/02 08:22
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
10進数をBCDに変換する方法
-
VisualBasicをC++に変換する方...
-
エクセルVBAの自動変換機能?
-
vb.netの型変換について
-
画像ファイル変換(Tiff→PDF)
-
bmp→jpgに、jpg→bmpに
-
Mac 乗数の入力方法
-
bitmapクラスをiconクラスに変...
-
線対称の角度を求める
-
StrConvの使い方について教えて...
-
VBA 置き換え後元に戻したい時
-
画像ファイルから.icoフォーマ...
-
3のつく数字と3の倍数のみを表...
-
C#で漢字→ローマ字を変換
-
JavaプログラムをC++へ変換したい
-
ハフ変換の原理をわかりやすく...
-
MATLAB/simulinkでのD/A変換の仕方
-
Excel-VBAのmsgBox()の不思議
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
10進数をBCDに変換する方法
-
bmp→jpgに、jpg→bmpに
-
なぜ通信には16進数文字列が使...
-
画像ファイル変換(Tiff→PDF)
-
シフトJISのCSVファイルをUFT-8...
-
分を時間に変換するプログラム
-
【EXCEL】カナ、ひらがなを英字...
-
C/C++→JAVAに変換するツール
-
c++でmatからvectorへの変換の...
-
UTF8→ShiftJISに変換したいです!
-
VB6からVB2010への変換について
-
C#でのpngからbmpへの変換について
-
StrConvの使い方について教えて...
-
PHPで、日本語からアルファベッ...
-
エクセルVBAの自動変換機能?
-
C++からCへのソース変換について
-
VB.NETをJavaに変換するツール...
おすすめ情報