public static ProcessedImage operator -(ProcessedImage processedImage) { var outputImage = new ProcessedImage(processedImage.ImageModel); for (var i = 0; i < outputImage.Values.Length; i++) { outputImage.Values[i] = -processedImage.Values[i]; } return(outputImage); }
public static ProcessedImage operator +(double scalar, ProcessedImage processedImage) { var outputImage = new ProcessedImage(processedImage.ImageModel); for (var i = 0; i < outputImage.Values.Length; i++) { outputImage.Values[i] = processedImage.Values[i] + scalar; } return(outputImage); }
public static ProcessedImage Abs(this ProcessedImage processedImage) { var outputImage = new ProcessedImage(processedImage.ImageModel); for (var i = 0; i < outputImage.Values.Length; i++) { outputImage.Values[i] = Math.Abs(processedImage.Values[i]); } return(outputImage); }
public static Image ToImage(this ProcessedImage processedImage) { var imageModel = processedImage.ImageModel; var outputImagePixels = new Pixel[imageModel.Width * imageModel.Height]; for (var i = 0; i < imageModel.Width * imageModel.Height; i++) { outputImagePixels[i] = (Pixel)processedImage.Values[i]; } return(new Image(outputImagePixels, imageModel)); }
public static ProcessedImage operator -(Image image, ProcessedImage processedImage) { if (image.ImageModel != processedImage.ImageModel) { throw new ImageModelMismatchException(); } var outputImage = new ProcessedImage(processedImage.ImageModel); for (var i = 0; i < outputImage.Values.Length; i++) { outputImage.Values[i] = image.ImagePixels[i] - processedImage.Values[i]; } return(outputImage); }
public static ProcessedImage operator +(ProcessedImage firstProcessedImage, ProcessedImage secondProcessedImage) { if (firstProcessedImage.ImageModel != secondProcessedImage.ImageModel) { throw new ImageModelMismatchException(); } var outputImage = new ProcessedImage(firstProcessedImage.ImageModel); for (var i = 0; i < outputImage.Values.Length; i++) { outputImage.Values[i] = firstProcessedImage.Values[i] + secondProcessedImage.Values[i]; } return(outputImage); }