我有一个 jar,它每分钟通过 CRON 启动一次,以捕获海滩网络摄像头图像并将其保存到文件中。由于它7*24小时运行,因此它保存了无用的夜间图像。我希望 jar 能够分析该文件并确定它是否是“守护者”。
我能看到的唯一方法(我还没有编码)是迭代每个像素,查看每个像素的 RGB,如果某些百分比的像素完全或接近黑色,则将其称为一次性。这是一个合理的方法吗?
FWIW,该图像来自安装在克利尔沃特海滩希尔顿酒店顶部的摄像机,向西南方向俯瞰海滩和 60 号 jetty - 对于这个爱荷华男孩来说,这是人间天堂。
URL=http\://192.163.243.248/webcams/clearwater.jpg
谢谢, 克里斯
最佳答案
假设您没有使用图像处理库(我不知道有任何免费的开源库,但您可以查看 this thread ),更合理的方法是选择行的子集。例如,每 20 行检查一次。如果图像的高度是640,那么你只需要看32行。您只能检查每第二个或第四个或每条线上的任何像素。理由是从像素到像素,甚至从线到线,像素值不会有太大差异......尤其是在晚上。
按照建议使用某种时间范围也是有意义的,但可能需要一些调整,因为日出和日落每天都会变化。
关于Java - 分析图像的黑暗程度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20341558/