SRL Archive - Unofficial Development

SimbaExt - My little library!


slacky

2014-03-18 18:33:03

SimbaExt
So I have been working on a small plugin for Simba (originally for SCAR). It contains some extra functionality for Simba, pretty much just a Standard Library Extension for Simba, hence the name (Short for Simba Extension). Contains some cool TPointArray function, some math function, and some matrix functions. Also added a small wrapper around simba bitmap to make it more easy for me to convert from matrix to image, and the other way around (nothing special), and stuff like that.


Get it now:
The include (extract in to Includes-folder), and source is found @ https://github.com/WarPie/SimbaExt


Documentation!
Even tho most of the function-names speaks for it self, a documentation is really needed, as it has become pretty large.
If you find that a function it's bugged then post it here, with a small example.


Other notes:
  1. (Almost) every function should start with a prefix: se. this is to avoid collision with functionality from other libraries. This way SimbaExt can be used together with SRL. Functions that does not necessarily start with a prefix is a type helpers, EG: `TIntMatrix.Indices(..)`, `TPointArray.Append(..)`.
  2. Type methods for matrices uses: TIntMatrix, TFloatMatrix, TDoubleMatrix, TExtMatrix.. EG:

  3. var mat: TIntMatrix;
    begin
    Mat.SetSize(10,10);
    WriteLn(Mat);
    Mat.Put([Point(5,5),Point(5,6)], 15);
    WriteLn(Mat);
    end;
  4. Plugin/Include is ONLY supported in Lape, I do not plan to support PascalScript.

Olly

2014-03-18 18:52:46

:spot:


program new;
{$I SimbaExt/SimbaExt.simba}

var
BMP:TRafBitmap;
Mat:T2DFloatArray;
TPA,crc: TPointArray;
ATPA:T2DPointArray;
i:Integer;
t: Int64;
begin
saveBitmap(BitmapFromString(585, 455, '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'), 'hi.bmp');


bmp.Open('hi.bmp'); //what ever bitmap...


TPA := se_FindCornerMidPoints(BMP.ToMatrix(), 1.0, 2, 0.1, 10);
for i:=0 to High(TPA) do
begin
SetLength(crc, 0);
se_TPACircle(crc, TPA[i],7);
crc := se_FloodFillTPA(crc, middleTPA(crc), false);
BMP.SetPixels(crc, $0000FF);
BMP.Pixel(TPA[i].x, TPA[i].y, $0000FF);
end;

BMP.Debug();
BMP.Free;
end.

slacky

2014-03-20 01:26:21

se_TPACircle is now a function, and supports to be filled.

A new example of Corner Detection on a image:

program new;
{$I SimbaExt/SimbaExt.simba}

var
BMP: TRafBitmap;
TPA: TPointArray;
i: Integer;
begin
BMP.Open('Tests/chess.png');
TPA := se.FindCornerMidPoints(BMP.ToMatrix(), 1.0, 1, 0.3, 1);
for i:=0 to High(TPA) do
BMP.SetPixels(se.TPACircle(TPA[i], 2, True), $0000FF);

BMP.Debug();
BMP.Free();
end.
chess.png


Fixed version of what olly posted:
[spoiler="updated ollys example"]

program new;
{$I SimbaExt/SimbaExt.simba}

var
BMP:TRafBitmap;
TPA:TPointArray;
i:Integer;
begin
bmp.Create(585, 455, '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'); //what ever bitmap...

TPA := se.FindCornerMidPoints(BMP.ToMatrix(), 1.0, 2, 0.1, 10);
for i:=0 to High(TPA) do
BMP.SetPixels(se.TPACircle(TPA[i], 7, True), $0000FF);

BMP.Debug();
BMP.Free;
end.
[/spoiler]

Clarity

2014-03-20 01:43:10

Incredible.

Flight

2014-03-20 07:24:06

Really great work Slacky, this is awesome. Also, why the name-change?

Gu3st...

2014-03-20 11:42:47

Very nice! Congratulations on the release! :)

slacky

2014-03-20 17:59:20

Thanks for the nice comments guys!

From: Flight
Really great work Slacky, this is awesome. Also, why the name-change?

I usually go under the nick "slacky", but when I registered here, slacky was taken..


———
If anyone got some suggestions, please feel free to share! :)

Gu3st...

2014-03-21 10:46:53

I am interested in knowing more about TRafBitmap and the se_Im-functions in SimbaExt_Imaging.pas
Could you post some examples of what one can do differently in simba using TRafBitmap and the se_Im-functions as opposed to TMufasaBitmap?

You probably already know this, but documentation of such huge plugins is what differs the great plugins from the exceptional ones and you'll see more use if you document it :)

slacky

2014-03-21 19:16:12

From: Zyt3x
I am interested in knowing more about TRafBitmap and the se_Im-functions in SimbaExt_Imaging.pas
Could you post some examples of what one can do differently in simba using TRafBitmap and the se_Im-functions as opposed to TMufasaBitmap?

TRafBitmap as mentioned is just a wrapper around Simba bitmap.. I do prefer short function-names and a basic object oriented style. There is not that much more to it. Well when I made it, BitmapToMatrix did not exist in Simba, so it also had faster converting from bitmap to matrix / and back. It also features BMP.FindColorTol(…), and no need to often call GetBitmapSize(BMP, W,H), it has the size stored, so you just do BMP.Width, BMP.Height (simpler). It's these small things which matters for me :)

Donno what I can say about the se_Im functions, it's just more image-functions.. Functions there are before I made SimbaExt, when I was still only working on SCARExt: SCAR did not have these functions. We see that Simba is taking some of the more important "se_Im" functions, and adding it (mostly thanks to olly). EG: ThresholdAdaptiveBitmap(..) that function is "se_ImThresholdAdaptive(..)", the se_ImResize() was also added to Simba, under ResizeBitmapEx(), tho the bicubic interpolation was left out, as it very similar to my bilinear interpolation, only slower.
The rest is just stuff I have needed in one or more projects, often used to OCR.

From: Zyt3x

You probably already know this, but documentation of such huge plugins is what differs the great plugins from the exceptional ones and you'll see more use if you document it :)

Hopefully I can come up with some documentation, but it will take me some time.

CynicRus

2014-03-22 03:20:44

Nice work!

KeepBotting

2014-03-23 08:22:57

This is awesome <3

slacky

2014-05-06 14:21:42

Have to mention that SimbaExt got some documentation online now!! Check it out at http://slackworld.net/docs/!

Hopefully it can get a couple of uses :)

Zef Style

2014-11-25 15:52:55

Giving this another bump, its awesome, I just started playing around with it

are the docs going to be posted anywhere since the site is down?

3Garrett3

2014-11-25 15:58:19

From: Zef Style
Giving this another bump, its awesome, I just started playing around with it

are the docs going to be posted anywhere since the site is down?


Docs site seems to be working for me (link in Slacky's signature). Can confirm that this is awesome and has so many cool functions.