private void loadDepthMapButton_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "Open depth map"; ofd.Filter = "PNG Files|*.png" + "|PFM Files|*.pfm" + "|Bitmap Files|*.bmp" + "|Gif Files|*.gif" + "|JPEG Files|*.jpg" + "|TIFF Files|*.tif" + "|All Image types|*.png;*.pfm;*.bmp;*.gif;*.jpg;*.tif"; ofd.FilterIndex = 7; ofd.FileName = ""; if (ofd.ShowDialog() != DialogResult.OK) { return; } if (depthMap != null) { depthMap.Dispose(); } if (ofd.FileName.EndsWith(".pfm")) { depthMap = PortableFloatMap.LoadImage(ofd.FileName); } else { Bitmap depthMapLdr = (Bitmap)Image.FromFile(ofd.FileName); depthMap = depthMapLdr.ToFloatMap(); depthMapLdr.Dispose(); } }
private void buttonLoad_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Title = "Open Image File"; ofd.Filter = "PNG Files|*.png" + "|PFM Files|*.pfm" + "|Bitmap Files|*.bmp" + "|Gif Files|*.gif" + "|JPEG Files|*.jpg" + "|TIFF Files|*.tif" + "|All Image types|*.png;*.pfm;*.bmp;*.gif;*.jpg;*.tif"; ofd.FilterIndex = 7; ofd.FileName = ""; if (ofd.ShowDialog() != DialogResult.OK) { return; } if (ofd.FileName.EndsWith(".pfm")) { if (inputHdrImage != null) { inputHdrImage.Dispose(); } inputHdrImage = PortableFloatMap.LoadImage(ofd.FileName); ReplaceLdrImage(ref inputLdrImage, inputHdrImage.ToBitmap(ToneMappingEnabled)); } else { ReplaceLdrImage(ref inputLdrImage, (Bitmap)Image.FromFile(ofd.FileName)); if (inputHdrImage != null) { inputHdrImage.Dispose(); } inputHdrImage = inputLdrImage.ToFloatMap(); } imageTypeComboBox.SelectedIndex = 0; // TODO: select original better updatePictureBoxImage(); if (outputHdrImage != null) { outputHdrImage.Dispose(); } outputHdrImage = null; ReplaceLdrImage(ref outputLdrImage, null); imageSizeLabel.Text = String.Format("{0}x{1}", inputHdrImage.Width, inputHdrImage.Height); }
public FloatMapImage FilterImage(FloatMapImage inputImage, FloatMapImage outputImage) { if (inputImage == null) { return(null); } if (inputImage.PixelFormat.HasAlpha()) { inputImage = inputImage.PremultiplyByAlpha(); } uint width = inputImage.Width; uint height = inputImage.Height; if (width < 1 || height < 1) { return(null); } if (outputImage == null) { outputImage = new FloatMapImage(width, height, inputImage.PixelFormat); } FloatMapImage spreadingTable = new FloatMapImage(width, height, inputImage.PixelFormat); FloatMapImage normalizationTable = new FloatMapImage(width, height, PixelFormat.Greyscale); //var blurMap = GetBlurMap(width, height); //blurMap.ToBitmap(true).Save("blurmap.png"); //blurMap.Differentiate().ToBitmap(true).Save("blurmap-diff.png"); Filter(inputImage, spreadingTable, normalizationTable); Normalize(spreadingTable, normalizationTable, outputImage); spreadingTable.Dispose(); normalizationTable.Dispose(); return(outputImage); }