c# - C# Windows 窗体 - 正常应用过滤器到图像但使用线程得到 NullReferenceException
问题描述
我正在对多个图像应用过滤器,效果很好,但速度很慢。
(注意:图像、过滤器、filter_size、div 已经加载和分配)
for (int i = 0; i < 5; i++)
out[i] = MyFiltering((Bitmap)images[i], filter, filter_size, div);
因此,我尝试为每个图像过滤使用一个线程来加快速度,如下所示:
for (int i = 0; i < 5; i++)
{
FilterThread[i] = new Thread(() => {out[i] = MyFiltering((Bitmap)images[i], filter, filter_size, div)}
FilterThread[i].IsBackground = true;
FilterThread[i].Start();
}
我尝试了不同的方法(例如,ThreadPool、Task.Factory.StartNew),但总是在 MyFiltering 中为输入 img(即 images[i])获取 NullReferenceException,这绝对不应该为 NULL!
有人有想法吗?
解决方案
推荐阅读
- amazon-ec2 - Packer 出现问题:amazon-ebs: Timeout waiting for SSH
- concrete5 - 在 Concrete5 中动态填充下拉列表
- python - OpenCV 函数在被 C++ 线程程序调用的 Python 脚本调用时锁定
- r - 具有自相关残差的时间序列的直线(预测包中的 auto.arima)
- html - 响应式引导材料的问题:剩余空间过多
- java - Java Hashmap:获取大于X值的所有键
- angular - 将元素添加到 Observable
- r - 反转图像的黑白颜色
- r - 列出和取消列出行为与预期不符
- c# - 不稳定的错误没有 MediaTypeFormatter 可用于从媒体类型为“text/html”的内容中读取 Object 类型的对象