I want to convert an image to binary black and white, at the moment I am looping through pixels (stored in UnsafeMutableBufferPointer) using normal nested loops, comparing each RGB to average and setting it to black or white, however.
This seems really slow and I am sure there is a built in a way that uses gpu or is well optimized. If you could provide a code sample or link it'd be great.
for var y in 0..<height {
for var x in 0..<width{
//Pixel is small class i made for 8 bit access and comparison
if (Buffer[x+y*width] < AVRRGB) {
Buffer[x+y*width] = Pixel(RGB: 0x000000FF)
} else{
Buffer[x+y*width] = Pixel(RGB: 0xFFFFFFFF)
}
}
}