Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 太阳能文件夹中的热点检测_Matlab_Opencv_Image Processing - Fatal编程技术网

Matlab 太阳能文件夹中的热点检测

Matlab 太阳能文件夹中的热点检测,matlab,opencv,image-processing,Matlab,Opencv,Image Processing,如何检测太阳能光伏文件夹中的热点。我知道这些点会比正常点亮 输入:热图像。输入图像如下所示: 如何使用IP首先找到热点并返回其坐标来处理此问题 现在我需要找到这张图片中被包围的亮点(热点)的坐标。稍后,我还需要预测潜在的热点 您似乎不太确定要使用哪个软件,因为您已经用OpenCV和Matlab标记了您的问题,所以我猜您不确定 >,您可以考虑使用 IGMeMaGeIG/StULT>,它是免费的,安装在大多数Linux DistOS上,并且可以用于MOS(如果您必须使用Windows),可以使用

如何检测太阳能光伏文件夹中的热点。我知道这些点会比正常点亮

输入:热图像。输入图像如下所示:

如何使用IP首先找到热点并返回其坐标来处理此问题


现在我需要找到这张图片中被包围的亮点(热点)的坐标。稍后,我还需要预测潜在的热点

您似乎不太确定要使用哪个软件,因为您已经用OpenCVMatlab标记了您的问题,所以我猜您不确定

<> >,您可以考虑使用<强> IGMeMaGeIG/StULT>,它是免费的,安装在大多数Linux DistOS上,并且可以用于MOS(如果您必须使用Windows),可以使用Python、Perl、PHP、.NET、java、露比、C++、C++绑定,参见.P/> Fred Weinhaus(@fmw42)的优秀网站上有一个脚本,名为
maxima
,它可以满足您的大部分需求——确实如此。它使用并需要ImageMagick。我相信它是免费的非商业用途,但请尊重许可证

因此,假设您的图像名为
solar.jpg
,您可以在shell-in终端上运行以下操作:

./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%
r20忽略半径为20像素范围内的所有峰值,n5表示要找到5个峰值。在输出中,您可以看到峰值的坐标及其亮度,它们在此处以红色标记:


它似乎发现一个峰值比您要求的要小-可能是小号:-)

使用ImageMagick的另一种方法是将图像阈值设置为黑色/白色,以隔离斑点,并使用连接的组件标签来定位质心或边界框。例如,由于斑点是白色的,我可以简单地对图像设置阈值。(但如果斑点是某种独特的颜色,则可以将该颜色转换为白色,将所有其他颜色转换为黑色):

灰色(0)为黑色背景,灰色(255)为两个白色区域。边界框和质心与每个区域的面积一起列出


请注意,我已丢弃了面积小于5像素的区域,以移除较小区域中心的1像素黑点(或阈值设置稍低时的任何其他无关小点)。

在ImageMagick中使用我的脚本maxima,作为Mark解决方案的后续操作,并在修复索引错误后(正如他在上面指出的),这里有一个版本设置了一个阈值,并将数字设置为一个较大的值(10)。但它在阈值处停止,并找到两个热点

maxima -n 10 -t 90 -r 17 -c red solar.jpg solar_maxima.png

你应该将你的图片附在这里……这样人们可以帮助你。奇怪的是,人们投票否决了这个问题。我不明白为什么会这样。这似乎是一个合理的问题,图片就在那里。请包括你迄今为止尝试过的内容。so的目标不是解决你的整个任务。从一些简单的技术开始,例如阈值ing。温度图像不应作为RGB图像进行分析,因为颜色贴图是假的,不能告诉您所有信息,所以应将其作为带有温度值的双垫进行分析。然后您可以设置所需温度的阈值。但是,必须检测要搜索窗格的区域,并将其标准化为灰度,然后找到面板的e行基本上,您希望我先将RGB图像转换为灰度?我的脚本中有一个停止阈值maxima。因此,您可能需要稍微降低阈值以捕捉下一个热点。继续:可能您希望将其限制为查找两个区域,因为我看到了您标记的两个热点。在本例中,设置-n如果需要,将2和-t阈值设置为某个值,以便至少找到两个点。脚本将找到它找到的所有点中最亮的两个。@fmw42 Mmm,如果我将
n
更改为
4
,我会得到三个点。如果我将
n
更改为
3
我会得到两个点。这似乎与阈值不一致,或者我误解了吗它和阈值是相对于上一个最大?标记的,感谢您的观察。我检查了脚本,发现我的循环索引中有一个1的错误。我已经修复了它,并将脚本上载到我的网站。请重试。我还注意到,默认情况下,停止阈值和停止距离是关闭的。因此,您现在应该得到一个阈值的目的是将其设置为某个合理的值,以区分热点和其他亮度稍低的区域,然后将-n设置为比预期值更高的值或某个较大的值。然后,它将停止在假定只有真实数量的热点。脚本将允许您从h彩色图像。内部它会将图像处理为灰度。非常感谢您的帮助,先生。实际上,我有一个大数据集(大约1 lac这样的图像)。执行上述操作会减少“n”,这是后续处理的输入数据,如下所示:1.检测到这些热点后,我需要对它们执行某些操作。我需要根据形状(分散或在整个单元格中)、位置(在文件夹中的位置,即底部或顶部等)和强度对它们进行分类(基于阴影)。任何帮助都将不胜感激。提前感谢。我是否应该使用SVM分类器或神经网络对获得的数据进行分类。是否有一种有效的方法(即数据结构)来存储这些热点数据(n)说宾斯。加上我对Imagemagick不太熟悉。那么你能帮我在MATLAB中运行相同的代码吗?对不起,我不懂MATLAB。没关系,先生。你还能告诉我解决这个问题的算法方法吗?特别是分类部分。
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)
maxima -n 10 -t 90 -r 17 -c red solar.jpg solar_maxima.png