Delphi-OpenCV/samples/LibTest/cvResize/cv_Resize.dpr
Laex fde0aa2f53 Add samples
LibTest
[+] cv_CalcOpticalFlowPyrLK
[+] cv_SnakeImage
MultiDemo
[+] CameraShift
[+] Squares

Signed-off-by: Laex <laex@bk.ru>
2013-04-05 15:36:47 +04:00

63 lines
1.3 KiB
ObjectPascal

// JCL_DEBUG_EXPERT_GENERATEJDBG OFF
// JCL_DEBUG_EXPERT_INSERTJDBG OFF
// JCL_DEBUG_EXPERT_DELETEMAPFILE OFF
program cv_Resize;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils,
{$I ..\..\uses_include.inc}
;
Const
// èìÿ êàðòèíêè
filename = 'Resource\cat2.jpg';
Var
// èñõîäíàÿ
image: PIplImage = nil;
dst: array [0 .. 3] of PIplImage;
i: Integer;
begin
try
image := cvLoadImage(filename, 1);
i := 0;
Writeln('[i] image: ', filename);
if not Assigned(image) then
Halt;
// ñîçäàíèå óìåíüøåííûõ êàðòèíîê (ðàçíûé òèï èíòåðïîëÿöèè)
for i := 0 to 3 do
begin
dst[i] := cvCreateImage(cvSize(image^.width div 3, image^.height div 3), image^.depth,
image^.nChannels);
cvResize(image, dst[i], i);
end;
// îêíî äëÿ îòîáðàæåíèÿ êàðòèíêè
cvNamedWindow('original', CV_WINDOW_AUTOSIZE);
cvShowImage('original', image);
// ïîêàçûâàåì ðåçóëüòàò
for i := 0 to 3 do
begin
cvNamedWindow(PCVChar(IntToStr(i)), CV_WINDOW_AUTOSIZE);
cvShowImage(PCVChar(IntToStr(i)), dst[i]);
end;
// æä¸ì íàæàòèÿ êëàâèøè
cvWaitKey(0);
// îñâîáîæäàåì ðåñóðñû
cvReleaseImage(image);
// óäàëÿåì îêíà
cvDestroyAllWindows();
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.