如何用python检测下载不完整有空白的图片(文件本身正常可打开)?

我正在网上下载一些图片,但由于网络问题,可能存在部分图片渲染不完整,存在空白,但图片文件本身不是损坏的,可以正常打开,如何通过python对下载的图片进行检测,删除存在空白的图片?

img

img

img

存在少量正常图片也有空白,如积雪和冰原,但这些空白形状是不规则的:

img

代码是用软件QGIS提供的python API(https://docs.qgis.org/3.22/en/docs/pyqgis_developer_cookbook/index.html)写的,QGIS是QT框架,先导入网络图片渲染,然后保存。
# 将待裁剪影像的坐标范围转为QGIS格式
rect = QgsRectangle(block_ext[0], block_ext[1], block_ext[2], block_ext[3])

# 图片保存设置
settings = iface.mapCanvas().mapSettings()
# 设置坐标范围
settings.setExtent(rect)
# 设置像素尺寸
settings.setOutputSize(QSize(block_size[0], block_size[1]))

job = QgsMapRendererSequentialJob(settings)
job.start()
job.waitForFinished()
image = job.renderedImage()
image.save(block_img_path)

我自己尝试了很多方法,目前觉得最靠谱的思路是,检测图像中是否存在完全水平或垂直的分界线,但是使用opencv的直线检测效果很差,如果可以提取达到一定长度的,一侧全是255像素的完全水平或垂直的分界线,感觉就可以解决这个问题。

下载保存的代码看看

提供个思路~下载后的图片通过多次随机截取20×20的矩形,判断是不是纯白或白色面积超过85%