如何检测太阳能光伏文件夹中的热点。我知道那些点会比正常点亮。
输入:热图像。输入图像如下:
如何使用IP首先找到热点并返回它的坐标来解决这个问题?
现在我需要找到此图像中包围的亮点(热点)的坐标。后来我也需要预测潜在的热点。
答案 0 :(得分:1)
由于您使用 OpenCV 和 Matlab 标记了您的问题,您似乎不太确定要使用哪种软件,所以我想你是不确定。
所以,您可以考虑使用 Imagemagick ,这是免费的并安装在大多数Linux发行版上,可用于macOS(如果必须,还可以使用Windows),Python,Perl,PHP,.NET,Java ,Ruby,C,C ++绑定可用 - 请参阅ImageMagick website。
有一个来自Fred Weinhaus(@ fmw42)优秀网站maxima
的脚本,该网站可以满足您的需求 - here。它使用并需要 ImageMagick 。我相信它是免费的非商业用途,但请尊重许可。
所以,只是在终端的shell中,你可以运行以下命令,假设你的图像名为solar.jpg
:
./maxima -n 5 -r 20 -c red solar.jpg result.png
<强>输出强>
max=1 342,187 gray=61045.7,238,93.1498%
max=2 354,228 gray=60383,235,92.138%
max=3 233,264 gray=57768,225,88.149%
max=4 196,106 gray=56295,219,85.9%
-r 20忽略半径20像素范围内的所有峰值,-n 5表示你想要找到5个峰值。在输出中,您可以看到峰的坐标及其亮度,并在此处用红色标记:
它似乎找到了一个比你要求的更低的峰值 - 可能是一个小虫: - )
答案 1 :(得分:1)
使用ImageMagick的另一种方法是将图像阈值设置为黑/白以隔离斑点并使用连接的组件标记来定位质心或边界框。例如,由于斑点是白色的,我可以简单地对图像进行阈值处理。 (但如果斑点是一些独特的颜色,您可以将该颜色转换为白色,其余部分转换为黑色):
convert Bm18f.jpg -auto-level -threshold 89% -type bilevel tmp2.png
convert tmp.png -define connected-components:verbose=true -define connected-components:area-threshold=5 -connected-components 8 null:
Objects (id: bounding-box centroid area mean-color):
0: 593x473+0+0 296.0,236.0 280330 gray(0)
1: 15x15+341+177 346.9,184.8 112 gray(255)
2: 8x7+351+224 354.9,227.2 47 gray(255)
灰色(0)是黑色背景,灰色(255)是两个白色区域。列出了边界框和质心以及每个区域的区域。
请注意,我丢弃了区域小于5像素的区域,以移除较小区域中心的1像素黑点(如果设置得稍低,则移除阈值中的任何其他小的外部点。
答案 2 :(得分:1)