public static MyImage Convert(MyImage source) { Parallel.For(0, source.Height, i => { Parallel.For(0, source.Width, j => { var res = 0.21 * source.red[i, j] + 0.72 * source.green[i, j] + 0.07 * source.blue[i, j]; source.SetValue(i, j, res); }); }); return(source); }
public static MyImage Convert(MyImage source) { var th = GetOtsuThreshold(source); var width = source.Width; var height = source.Height; Parallel.For(0, source.Height, i => { Parallel.For(0, source.Width, j => { var value = source.red[i, j] > th ? 255 : 0; source.SetValue(i, j, value); }); }); return(source); }