kinectを使うファイルでオブジェクト認識のサンプルのコードを持っていき、実行したのですが、エラーになり、表示されたメッセージとしてAssertion failed (scn == 3 || scn == 4) in cv::ocl_cvtColor,...となっているためこのワードを調べたのですが、どうすれば解決できるのかよくわかりませんので教えてください。以下が該当箇所です。
string cascadeName = "cascade.xml";
VideoCapture capture;
capture = VideoCapture(1);
CascadeClassifier cascade;
UMat im, gray, equalize;
const char* wName = "dst";
namedWindow(wName, CV_WINDOW_AUTOSIZE);
while (true)
{
capture >> im;
cvtColor(im, gray,COLOR_RGB2GRAY);
equalizeHist(gray, equalize);
vector<Rect> objs;
cascade.detectMultiScale(equalize, objs,
1.2, 1, CV_HAAR_SCALE_IMAGE, Size(30, 30));//このサイズはカスケード分類した数値にしてみる1.2,1の1は認識個数
vector<Rect>::const_iterator it = objs.begin();
for (; it != objs.end(); ++it)
{
rectangle(im, Point(it->x, it->y),
Point(it->x + it->width, it->y + it->height),
Scalar(0, 0, 200), 2, CV_AA);
}
imshow(wName, im);
}
回答1件
あなたの回答
tips
プレビュー