自用2023

  1. 使用多线程并行处理可以提高处理速度,但在某些情况下可能会带来线程竞争和同步的开销。这也是在运行时wait方法占用大量时间的原因之一。如果处理的图像数量较少或者处理时间较短,可能并行化的开销会超过性能提升。

  2. 在代码中,使用了ThreadPoolExecutor来管理线程池。请注意,线程池的大小默认是根据系统的CPU核心数量动态调整的(通过os.cpu_count()获取)。你可以根据需要手动设置线程池的大小,看看是否可以进一步优化性能。

  3. 可以尝试通过调整代码结构和算法来提高处理速度。在多线程处理图像时,可以将更耗时的操作放在单个图像处理的线程内进行,以减少主线程等待的时间。

  1. 图像读取和保存:对于每个图像文件,可以将图像读取和保存的任务放入并行执行的线程池中。这样可以在读取一个图像的同时,同时进行下一个图像的读取和保存操作。

  2. 图像的灰度转换和二值化:这些操作可以独立地应用于每个图像,因此可以将其放入并行执行的线程池中,以同时处理多个图像。

  3. 垂直投影的计算:对于每个图像,可以并行计算其垂直投影。每个图像的垂直投影是相互独立的,因此可以将它们分配给多个线程进行并行计算。

  4. 图像列的分割和保存:将裁剪后的列保存为单独的图像时,可以并行处理每个图像的列分割和保存任务。每个图像的列分割和保存是相互独立的,因此可以使用多个线程并行处理。

  5. 行的分割和保存:在每个列中进行行的分割和保存时,也可以并行处理每个列的行分割和保存任务。每个列的行分割和保存是相互独立的,可以使用多个线程进行并行处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值