0
OpenCV 용 Emgu C# 래퍼를 사용하여 이미지의 뒤 프로젝션에 대한 히스토그램을 만들려고합니다.Emgu - CalcHist _rowRange 오류
char* filename = (char*)"C:\\Images\\items.jpg";
Mat im = imread(filename);
if (im.empty())
return -1;
const int channels[] = { 0, 1, 2 };
const int histSize[] = { 32, 32, 32 };
const float rgbRange[] = { 0, 256 };
const float* ranges[] = { rgbRange, rgbRange, rgbRange };
Mat hist;
Mat im32fc3, backpr32f;
im.convertTo(im32fc3, CV_32FC3);
calcHist(&im32fc3, 1, channels, Mat(), hist, 3, histSize, ranges, true, false);
calcBackProject(&im32fc3, 1, channels, hist, backpr32f, ranges);
Emgu C#을 변환 : CvInvoke.CalcHist에서 그러나
string filename = @"C:\Images\items.jpg";
Mat im = CvInvoke.Imread(filename);
if (im.IsEmpty)
{
return -1;
}
int[] channels = { 0, 1, 2 };
int[] histSize = { 32, 32, 32 };
float[] ranges = { 0.0f, 256.0f, 0.0f, 256.0f, 0.0f, 256.0f };
Mat im32fc3 = new Mat();
Mat hist = new Mat();
Mat mask = new Mat();
Mat backpr32f = new Mat();
im.ConvertTo(im32fc3, Emgu.CV.CvEnum.DepthType.Cv32F);
CvInvoke.CalcHist(im32fc3, channels, mask, hist, histSize, ranges, false);
CvInvoke.CalcBackProject(im32fc3, channels, hist, backpr32f, ranges);
, 나는 다음과 같은 얻을 오류 :
나는 Emgu C 번호로 변환하려고 다음 OpenCV의 C++ 코드를OpenCV의 0 < _rowRange.start = & & _rowRange.start < _rowRange.end = & & _rowRange.end < = m.rows
도움을 주시면 감사하겠습니다.