我想在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();
没有传递任何内容,因为我希望选择图像。目前,我只有一个按钮和图片框。
答案 0 :(得分:1)
您需要使用OpenFileDialog
的FileName
属性:
if (ofd.ShowDialog() == DialogResult.OK && ofd.FileName != "")
{
pictureBox1.Image = Image.FromFile(ofd.FileName);
}
从链接:
文件名包括文件路径和扩展名。如果未选择任何文件,则此方法返回空字符串(“”)。