cvInRangeS を使用して画像から特定の色を削除しようとしています。このチュートリアルを実行しましたが、返されたマスクは 0 の値しか保持していないようです。これが私のコードのコピーです:
-(IplImage*)removeBackgroundLinear:(IplImage*) inImg{
IplImage *imgHSV =cvCreateImage(cvGetSize(inImg), 8, 3);
cvCvtColor(inImg, imgHSV, CV_BGR2HSV);
IplImage* mask = cvCreateImage(cvGetSize(inImg), 8, 1);
cvZero(mask);
cvInRangeS(imgHSV, cvScalar(20, 100, 100), cvScalar(30, 255, 255), mask);
cvReleaseImage(&imgHSV);
return mask;
}
何が原因でしょうか? もちろん、黄色いオブジェクトが入った画像に対してコードを試しています。
ありがとう。