Java判断图片是否有效

我要用Java判断图片是否存在如下问题:
原图上传:
图片说明
截图上传:
图片说明

如上图: 图片的下半部分的像素是无效的,但是获取图片的长宽值确是正常的,如何判断图片是否存在无效像素?

过去全部像素点,分片统计色彩多样性,和总体多样性比较,低于某个阈值则抛出异常。这样能否实现?

如果是用http不能完整下载的话,试试判断http头里带的 conent length 是否和下载完的图片大小对应

more:

http://stackoverflow.com/questions/12671443/how-to-handle-incomplete-image-download-in-android

URL url = new URL(url);
URLConnection conection = url.openConnection();
conection.connect();
fileLength = conection.getContentLength();

想判断图片是否存在无效像素,这涉及到计算机图形学

一个简单的办法,计算整个图片的灰度直方图,如果出现某个灰度的连续,就是不正确的图片