delphi11 opencv img
时间: 2023-06-28 17:16:16 浏览: 84
在 Delphi 11 中,您可以使用 OpenCV 库进行图像处理。以下是一个使用 Delphi 11 和 OpenCV 的示例代码,展示了如何加载、显示和保存图像:
```delphi
uses
System.SysUtils,
System.Types,
System.UITypes,
System.Classes,
FMX.Types,
FMX.Graphics,
FMX.Controls,
FMX.Forms,
FMX.Dialogs,
FMX.StdCtrls,
ocv.core.types_c,
ocv.core_c,
ocv.highgui_c;
procedure LoadAndShowImage();
var
img: pIplImage;
bmp: TBitmap;
begin
// 从文件中加载图像
img := cvLoadImage('image.jpg', CV_LOAD_IMAGE_COLOR);
if img = nil then
begin
ShowMessage('Failed to load image!');
Exit;
end;
// 创建一个 TBitmap 对象,并将图像数据拷贝到它里面
bmp := TBitmap.Create;
bmp.SetSize(img.width, img.height);
bmp.CopyFromBits(img.imageData, img.width * img.height * 3);
bmp.Rotate(90);
// 在一个名为 'Input Image' 的 TImage 控件中显示图像
Image1.Bitmap.Assign(bmp);
// 等待用户按下任意键
cvWaitKey(0);
// 保存图像到文件
cvSaveImage('output.jpg', img);
// 释放图像和 TBitmap 对象
cvReleaseImage(img);
bmp.Free;
end;
```
这个示例代码加载一张名为 'image.jpg' 的图像,并将它转换为 TBitmap 对象,然后在名为 'Input Image' 的 TImage 控件中显示它。然后,它等待用户按下任意键,将图像保存到名为 'output.jpg' 的文件中,并释放图像和 TBitmap 对象。注意,使用 OpenCV 库需要注意数据类型的转换和内存管理,建议使用 Delphi 11 提供的 OpenCV 接口进行图像处理。