如何根据暗区/噪点裁剪图像

本文关键字:裁剪 图像 何根 暗区 | 更新日期: 2023-09-27 18:16:13

假设我有一张这样的图片

https://i.stack.imgur.com/SlsWB.jpg

我希望能够找到图像中的黑暗区域,然后裁剪图像,这样我就可以得到一个新的矩形图像,没有任何黑暗区域(你在原始图像的角落里看到的)。

最终的图像必须看起来像这样

https://i.stack.imgur.com/wXAuQ.jpg

现在的挑战是,黑暗的区域不是所有的黑色像素,也不是所有的颜色相同。有深色,稍深的深色,稍浅的深色,如果你明白我想说的。

想知道这在c#中是否可行

如何根据暗区/噪点裁剪图像

ImageProcessor库有一个名为EntropyCrop的函数可能适合。您可以调整threshold参数来调整结果。

如果这不起作用,你可以这样做:

  • 创建一个函数来确定像素是否暗
    (基于可调强度阈值)
  • 将所有不暗的像素向量(坐标)相加。
  • 将结果除以所述像素数。

  • 如果事先知道对象的大小,只需以该点为中心裁剪一个合适大小的矩形即可。

  • 否则从一个非常小的居中裁剪矩形开始,并计算其中暗像素的百分比。
  • 逐渐扩大矩形,直到百分比超过可调阈值。