1

我想在 C# 中进行一些图像处理,并且需要在对它们应用过滤器之前对齐两个图像。我将尝试通过在一个小矩形部分中的固定点扫描图像来做到这一点,我相信这使得有必要使用 Bitmap 类。

这部分有大量的白色像素,所以我想取这个区域的平均像素值来找到 y 轴的偏移,因为图像上有一个大的白色水平条。

两个图像中的 x 轴将相同。我想设置一些具有不同移位值的测试图像,从小到大,正负,所以我可以搜索最小值。

这将需要图像上的滚动条以少量移动它们。我对 C# 和低级程序员完全陌生。我一直在尝试使用以下代码获取 pictureBox1 中的图像。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing.Imaging;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace imageAlign
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Bitmap myImage = (Bitmap)pictureBox1.Image;
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) ;
            {
                pictureBox1.Image = Image.FromFile();    
               // this.pictureBox1.Image = myImage;
            }
        }
    }
}

当我Image.FromFile();单击表单上的按钮时,我希望选择图像,所以我什么都没通过。目前,我只有一个按钮和图片框。

4

1 回答 1

1

您需要使用的FileName属性OpenFileDialog

if (ofd.ShowDialog() == DialogResult.OK && ofd.FileName != "")
{
    pictureBox1.Image = Image.FromFile(ofd.FileName);
}

从链接:

文件名包括文件路径和扩展名。如果未选择任何文件,则此方法返回一个空字符串 ("")。

于 2013-02-03T10:01:48.323 回答