delphi11 cvLoadImage jpg转灰度 显示到Timage 详细代码
时间: 2024-03-08 18:49:24 浏览: 134
以下是使用Delphi 11编写的将jpg图片转换为灰度图像并显示在TImage组件上的代码:
```delphi
uses
OpenCV_ImageProc, // OpenCV_ImageProc单元中包含了CV_LOAD_IMAGE_GRAYSCALE常量
Vcl.Imaging.jpeg; // Vcl.Imaging.jpeg单元包含了TJPEGImage类
procedure ConvertToGrayScale(const FileName: string; Image: TImage);
var
JPEG: TJPEGImage;
GrayImage: IplImage;
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
JPEG.Free;
end;
end;
```
使用方法如下:
```delphi
procedure TForm1.Button1Click(Sender: TObject);
begin
ConvertToGrayScale('test.jpg', Image1);
end;
```
其中,`test.jpg`是要转换为灰度图像并显示的JPEG图像文件名,`Image1`是要显示灰度图像的TImage组件。
阅读全文