三角形形状检测

时间:2018-08-20 09:27:26

标签: matlab image-processing shapes

我目前正在为我的大学从事一个项目:检测RGB图像中的花粉。

Example Image i use

我要标记的是橙色的东西。

我设法使用imfindcircles()来检测圆形,但是对于三角形,我找不到函数。

Im = imread('pollen10.jpg');
image_gray = rgb2gray(Im);
%% Detect circles with given radii
Rmin = 30;
Rmax = 160;
[centersDark, radiiDark] = imfindcircles(image_gray,[Rmin Rmax],'ObjectPolarity','dark','sensitivity',0.90);
%% Checking results
imshow(image_gray);
hold on
viscircles(centersDark, radiiDark,'LineStyle','-','Color','b','Linewidth',1);
hold off

如何检测三角形?

我设法得到了一个bw图像,该图像中我要计算白色多边形。到目前为止,我还没有找到容易的方法,但是我会花更多时间在搜索上

im = imread('pollen10.jpg');
BW = im(:,:,1) < 140;   
cc = bwconncomp(BW); 
stats = regionprops(cc, 'Centroid','Area'); 
centroids = cat(1,stats.Centroid);
idx = find([stats.Area] > 100); 
BW2 = ismember(labelmatrix(cc), idx);  

CC2 = bwconncomp(BW2);
stats2 = regionprops(CC2, 'Centroid','Area','BoundingBox','Eccentricity');
centroids2 = cat(1,stats2.Centroid);
imshow(BW2)
hold on
plot(centroids2(:,1),centroids2(:,2),'b*');

0 个答案:

没有答案