从文件路径加载多个图像
本文关键字:图像 加载 文件 路径 | 更新日期: 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");
}
}