Java - 分析图像的黑暗程度

标签 java image-processing

我有一个 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/

相关文章:

java - 如何在 ScrollPane 中进行缩放

java - 在套接字编程中,我在服务器端接收字符串时出错,该字符串的代码是用 c 编写的

Java如何在switch语句下打破while循环?

python - 如何识别带有彩色背景图像的文本?

python - 如何从背景和文本颜色相似的轮胎等图像中检测文本?

java - 如何为 JMeter 中的所有线程创建一个 Java 对象?

java - 根据查询更改 firebase 数据

python - 如何使用 Pytorch 中的预训练权重以 4 个 channel 作为输入修改 resnet 50?

java - 是否可以计算 Javacv 或 opencv 中特定行的宽度?

android - 如何在 Compose UI Android Jetpack 中将 url 加载到 Image 中?