从文件路径加载多个图像

本文关键字:图像 加载 文件 路径 | 更新日期: 2023-09-27 18:17:21

背景:我有一个(winform)代码,可以通过使用Openfile对话框从特定的文件路径加载图像,然后位图进一步提取位图中最亮的像素,并沿x像素拟合亮度的变化,然后产生并拟合到高斯分布,(图片取自高斯激光光束)

问题:现在我需要做的是在20张单独的图片上做同样的事情,但是,我发现这在c#中非常困难,因此需要一些帮助。

忽略提取亮度像素和拟合高斯,我首先要做的是加载图像,然后再进行进一步的图像处理。

我尝试创建一个名为Myclass的新类,它接受一个整数I作为参数,它将根据我分配给它的整数I打开文件。自从我得到0.bmp,1.bmp,2.bmp,…etc文件路径@"C:'Users'Desktop'A"。现在,对于myListOfObjects中的每个对象,我希望它们加载一个不同的位图图片,以便它被保存在每个对象中。

。myListOfObjects[0]有位图0.bmpmyListOfObjects[1]有位图1.bmp....

(这样以后我就可以对列表运行for_loop来查找每个对象中每个图像的最亮像素)

我知道这个问题可能看起来有点具体,但总体思路是加载多个图像并将单个图像保存到每个对象中(我在stackoverflow中没有发现类似的例子)。

private void button_Click(object sender, EventArgs e)
{
    var myListOfObjects = new List<MyClass>();// This line produces a list of empty objects which is not something I want, I want a list of objects which is not empty.
    for (var i = 0; i < 20; i++)
    {
      myListOfObjects.Add(new MyClass(i));
    }
}
public class MyClass
{
    public MyClass(int i)
    {
    }
    private void OpenAbitmap(int i )
    {
        Bitmap picture = new Bitmap(@"C:'Users'Desktop'A'" + i.ToString() + ".bmp");
    }
}

从文件路径加载多个图像

如果通过"空对象"您的意思是您不能在其上调用函数,那是对的:您声明了唯一的方法为private。也不存储构造函数参数。

你需要这样写:

public class MyClass
{
    private int _index;
    public MyClass(int i)
    {
        _index = i;
    }
    public void OpenAbitmap()
    {
        Bitmap picture = new Bitmap(@"C:'Users'Desktop'A'" + _index.ToString() + ".bmp");
    }
}