Archive

Archive for April, 2017

Remove #Grey from an image using C# #ImageProcessing

April 12, 2017 Leave a comment

Image processing in C# is surprisingly fast, and not too difficult. Here is a simple example of how to remove greys from an image, an extract only colour.

Firstly, a pure Grey is one defined as a colour where the Red, Green, and blue component are exactly equal. This spans the spectrum from White (all 255), to Black (all 0). In natural photographs, then the Grey may not be exactly pure, with small variations in the colour components.

So, lets see the core processing code:

public static byte[] PreprocessStep(byte[] input)
{
Stream sInput = new MemoryStream(input);
var imgEasy = Bitmap.FromStream(sInput) as Bitmap;
var img2dEasy = new Color[imgEasy.Width, imgEasy.Height];
for (int i = 0; i < imgEasy.Width; i++)
{
for (int j = 0; j < imgEasy.Height; j++)
{
Color pixel = imgEasy.GetPixel(i, j);

// Preprocessing
if (pixel.R == pixel.G && pixel.B == pixel.G)
{
// Convert all greys to white.
pixel = Color.White;
}

img2dEasy[i, j] = pixel;
}
}

var imgOut = new Bitmap(imgEasy.Width, imgEasy.Height);
for (int i = 0; i < imgEasy.Width; i++)
{
for (int j = 0; j < imgEasy.Height; j++)
{
imgOut.SetPixel(i, j, img2dEasy[i, j]);
}
}
var stream = new MemoryStream();
imgOut.Save(stream, ImageFormat.Png);
var bytes = stream.ToArray();
return bytes;
}

This accepts an image as a byte array, and outputs a byte array in PNG format. by accepting and returning a byte array, it makes it more “pluggable” into different inputs and outputs, like Files, HTTP streams etc.

Here’s how to use it with an input and output file.

static void Main(string[] args)
{
var strExePath = AppDomain.CurrentDomain.BaseDirectory;
var strEasyImage = strExePath + “il_570xN.1036233188_neqb.jpg”;
var sIn = new FileStream(strEasyImage,FileMode.Open);
var br = new BinaryReader(sIn);
var bIn = br.ReadBytes((int)sIn.Length);
sIn.Close();
var bOut = PreprocessStep(bIn);
var sOut = new FileStream(strExePath + “flower.png”,FileMode.Create);
sOut.Write(bOut,0,bOut.Length);
sOut.Close();
}

 

Categories: Uncategorized

Mail Address Verification.com – #Physical #address #verification online

April 10, 2017 Leave a comment

mav

If you need to be 100% sure that your customer works or lives at the address they have provided you? Our service ensures this by mailing a secure pin code to your customer’s address, which they use to verify that they are physically at the address they have provided you.

It works internationally, and we’ve got an API, so you can integrate into the system programmatically, as part of your customer-onboarding process.

The website is at www.mailaddressverification.com – and you get $1 free to test the service once you open a test account.

 

 

Categories: Uncategorized

#Finnish Car registration #API now supports Commercial vehicles and Motorbikes

April 4, 2017 Leave a comment

15327-trafi-logo

The Finnish API for Car registrations; which you can access at http://www.rekisterinumeroapi.com/ now supports both all types of vehicles, not only cars – this includes;

  • Private Cars [M1]
  • Commercial vehicles (Vans / Trucks) [N1]
  • Motorcycles [L3e]
  • Mopeds [L1e]
  • Snowmobiles
  • Tractors
  • Trailers

 

Categories: Uncategorized