主要内容

检测和测量图像中的圆形物体

这个例子展示了如何使用ThingSpeak™和image Processing Toolbox™从网站读取图像,并计算图像中圆形物体的数量。计算值存储在ThingSpeak通道中。

从URL读取图像

使用webread从公共URL导入图像。图像文件有很多数据,你只需要一个子集的图像数据来计数硬币。为了缩短处理时间,可以调整图像的大小。使用imresize将图像裁剪成原来大小的30%。

rgb = webread (“https://www.publicdomainpictures.net/pictures/40000/velka/british-coins.jpg”);RGB = imresize(RGB, 0.3);imshow (rgb)

调整灵敏度设置和计数圆圈

图像中除了有多个圆圈需要检测外,还含有不同颜色的硬币,这些硬币相对于背景有不同的对比度。青铜色的钱币与此背景形成强烈的对比。银币的颜色更接近背景。使用imfindcircles数硬币。

1.默认情况下,imfindcircles寻找比背景更亮的圆形物体。设置其参数“ObjectPolarity”“黑暗”寻找黑眼圈。

2.这个函数imfindcircles有一个参数“敏感”您可以使用它来控制内部阈值,同时查找圆形对象。设置“敏感”0.92”。

3.调用imfindcircles在这张搜索半径为[80 130]像素的图像上。圆心向量的长度等于所找到的圆的数目。

[圆心,半径]= imfindcircles(rgb,[80 130],“ObjectPolarity”“黑暗”“敏感”, 0.92);numCircles =长度(中心)
numCircles = 5

将结果存储在ThingSpeak频道中

您可以使用这个示例和ThingSpeak频道存储和跟踪动态图像的内容。将圆圈的数目写入由channelID指定的ThingSpeak频道。改变channelID为您的通道ID,并为您自己的通道指定Write API KeywriteAPIKey

channelID = 17504;writeAPIKey =“23 zlgobbu9twhg2h”;thingSpeakWrite (channelID numCircles,“Writekey”, writeAPIKey);

另请参阅

(图像处理工具箱)|(MATLAB)|(MATLAB)

相关的话题