Delphi-OpenCV - cvMat或PIplImage的像素值

时间:2016-02-28 12:47:27

标签: delphi opencv

我正在使用Delphi-OpenCV,不像高级功能,如对象检测等,我无法实现一个相当简单的事情 - 从PIplImage或pCvMat读取像素值。

由于几乎没有Delphi-OpenCV的文档,我进行了很多实验,但是当我尝试通过多种不同方法填充TCvScalar时,我能得到的最接近的是一些无意义或opencv核心dll错误。 / p>

我有一个8位,1通道jpg图片,需要提供一个像素坐标,并在C ++中得到这样的值:

Scalar intensity = img.at<uchar>(y, x);

有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

您可以在 pIplImage 图像上使用 TocvImage 类,例如:

var
  image: pIplImage;
  img: TocvImage;
  px: TocvPixel;
begin
  image:= cvLoadImage(c_str('d:\IMAG0132.jpg'),CV_LOAD_IMAGE_GRAYSCALE);
  img := TocvImage.Create(image);
  px := img.Pixel[100,100];
  img.Free;
end;

或者参考TocvImage.GetPixel函数作为参考,如何直接从pIplImage读取像素信息。