0

私はopenCVで作業しており、画像を単一チャンネルの画像に変換しようとしています。画像を次のようにロードしました: IplImage* img=cvLoadImage(“abc.pbm”); シングルチャンネルに変換する方法がわからなかったので、次を使用しました:

IplImage* temp = cvCreateImage(cvGetSize(img), img->depth, 1); cvSetImageCOI(img, 1); cvCopy(img, temp);

正常にコンパイルされますが、実行時に「opencv エラー: アサーションが失敗しました (src.channels()==dst.channels()) in unknown function ...」というメッセージが表示されてクラッシュします。

誰でも私を助けることができますか?? シングルチャンネル画像に変換するためのより良い提案を得ることができますか?

4

2 に答える 2

4

グレースケールとしてロードすることもできます。

IplImage* img=cvLoadImage(“abc.pbm”,CV_LOAD_IMAGE_GRAYSCALE);
于 2012-05-10T19:26:32.340 に答える
2

を使用する必要がありますcvCvtColor()

于 2012-05-07T09:24:28.293 に答える