画像をYCrCb画像空間に変換した後、JPEG画像の侵食を実行しようとしています。次のコードを使用する
YCrCbMin.val[0] = 0;
YCrCbMin.val[1] = 131;
YCrCbMin.val[2] = 80;
YCrCbMax.val[0] = 255;
YCrCbMax.val[1] = 185;
YCrCbMax.val[2] = 135;
imshow("img",Img);// Img is the JPEG image I load off the disk.
waitKey(0);
Mat YCrCbImg;
cvtColor(Img, YCrCbImg, CV_BGR2YCrCb);
Mat erodedImg;
inRange(YCrCbImg, YCrCbMin, YCrCbMax, erodedImg);
Mat InterMediateImg = YCrCbImg;
IplConvKernel* element = new IplConvKernel();
element->nCols = 12; element->nRows = 12; element->anchorX = 6; element->anchorY = 6;
cvErode(&erodedImg, &InterMediateImg, element, 1);
element->nCols = 6; element->nRows = 6; element->anchorX = 3; element->anchorY = 3;
cvDilate(&InterMediateImg, &erodedImg, element, 2);
最初の侵食では、スクリーンショットに示すように、次のエラーが発生します。
次の画像を入力として使用しました
私はここで何が間違っているのですか?