var lines: TIEVisionVectorScalarInt32; i: integer; begin ImageEnView1.IO.LoadFromFile('input.jpg'); lines := ImageEnView1.IEBitmap.GetIEVisionImage().detectLines(ievBinaryDescriptor); // draw results ImageEnView1.IEBitmap.PixelFormat := ie24RGB; ImageEnView1.IEBitmap.Origin := ieboBOTTOMLEFT; for i := 0 to lines.size() - 1 do begin with lines.getScalarInt32(i) do begin with ImageEnView1.IEBitmap.Canvas do begin Pen.Width := 2; Pen.Color := TRGB2TColor(CreateRGB(Random(255), Random(255), Random(255))); MoveTo(val[0], val[1]); LineTo(val[2], val[3]); end; end; end; ImageEnView1.Update(); end;
Comparison of Line Detection Methods
// BINARY DESCRIPTOR lines := ImageEnView1.IEBitmap.GetIEVisionImage().detectLines( ievBinaryDescriptor ); for i := 0 to lines.size() - 1 do begin sc := lines.getScalarInt32(i);
// LSD DETECTOR lines := ImageEnView1.IEBitmap.GetIEVisionImage().detectLines( ievLSDDetector ); for i := 0 to lines.size() - 1 do begin sc := lines.getScalarInt32(i);