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に変換する方法
-
VB6からVB2010への変換について
-
VC++2005で、CString型に16進...
-
sgmlからXMLへの変換
-
なぜ通信には16進数文字列が使...
-
C# でIME の状態を知るには?
-
tex 郵便記号のだしかた
-
PHPで、日本語からアルファベッ...
-
VisualBasicをC++に変換する方...
-
php
-
UTF8→ShiftJISに変換したいです!
-
エクセルのvbaで検索ボタンを作る
-
StrConvの使い方について教えて...
-
C++からCへのソース変換について
-
SJIS⇔UTF-8の文字コード...
-
.sb3のファイルを.sb2に変換す...
-
C言語からC#への変換ツール
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
Mac 乗数の入力方法
-
3のつく数字と3の倍数のみを表...
-
10進数をBCDに変換する方法
-
bmp→jpgに、jpg→bmpに
-
エクセルVBAの自動変換機能?
-
アセンブラ言語の数字を数値に...
-
なぜ通信には16進数文字列が使...
-
SJIS⇔UTF-8の文字コード...
-
C++からCへのソース変換について
-
分を時間に変換するプログラム
-
UTF8→ShiftJISに変換したいです!
-
家電製品の電力周波数を変える機械
-
マンセル⇔XYZ,RGB変換式或いは...
-
VB.NETをJavaに変換するツール...
-
画像ファイル変換(Tiff→PDF)
-
PHPで、日本語からアルファベッ...
-
魚眼レンズの画像処理
-
C#で漢字→ローマ字を変換
-
StrConvの使い方について教えて...
おすすめ情報