delphixe delphi-opencv-master cvLoadImage jpg转灰度 显示到Timage 详细代码
时间: 2023-12-14 15:03:53 浏览: 109
基于opencv的彩色图变灰度图代码
以下是使用 Delphi-OpenCV 库在 Delphi XE 中将 jpg 图片转换为灰度图像并显示在 TImage 组件上的详细代码:
```delphi
uses
OpenCV_Core, OpenCV_ImageProc, // Delphi-OpenCV 库单元
Vcl.Imaging.jpeg; // VCL 图像处理单元
procedure ConvertToGrayScale(const FileName: string; Image: TImage);
var
JPEG: TJPEGImage;
GrayImage: pIplImage;
begin
// 加载 JPEG 图像
JPEG := TJPEGImage.Create;
try
JPEG.LoadFromFile(FileName);
// 将 JPEG 图像转换为灰度图像
GrayImage := cvLoadImage(PAnsiChar(AnsiString(FileName)), CV_LOAD_IMAGE_GRAYSCALE);
// 将灰度图像显示在 TImage 组件上
Image.Picture.Assign(IplImageToBitmap(GrayImage^));
finally
cvReleaseImage(@GrayImage); // 释放灰度图像内存
JPEG.Free;
end;
end;
```
使用方法和前面的代码示例相同。需要注意的是,在 Delphi XE 中,`cvReleaseImage` 函数的参数应该传入指向指针的指针,即 `@GrayImage`。
阅读全文