不确定这是否是正确的提问方式,但请帮忙。我有一张凹陷汽车的图片。我必须处理它并突出显示凹痕,并返回凹痕数量。我能够用以下结果做得相当好:
Matlab代码如下:
img2=rgb2gray(i1);
imshow(img2);
img3=imtophat(img2,strel('disk',15));
img4=imadjust(img3);
layer=img4(:,:,1);
img5=layer>100 & layer<250;
img6=imfill(img5,'holes');
img7=bwareaopen(img6,5);
[L,ans]=bwlabeln(img7);
imshow(img7);
I=imread(i1);
Ians=CarDentIdentification(I);
然而,当我尝试使用opencv进行操作时,出现了以下情况:使用以下代码:
Imgproc.cvtColor(source, middle, Imgproc.COLOR_RGB2GRAY);
Imgproc.equalizeHist(middle, middle);
Imgproc.threshold(middle, middle, 150, 255, Imgproc.THRESH_OTSU);
请告诉我如何在OpenCV中获得更好的结果,以及如何计算凹痕?我尝试使用findcontour()函数,但它返回了非常大的数字。我也在其他图像上尝试过,但没有得到合适的结果。 请帮忙。