matlab中的HitMiss变换

HitMiss transformation in matlab

我正在对

执行命中和未命中转换

但它没有产生非零检测结果。

clear all,close all,clc
img=im2bw(imread('bw.jpg'));
B=im2bw(imread('B.jpg'));

find=B;
diff=imdilate(find,strel('square',3))-find;
sam=nonzeros(bwhitmiss(img,find,diff))

有什么问题??

仅当您要在匹配图像中检测的形状与输入查询完全相同时,命中或未命中才有效。您正在使用的 B 与您要检测的图像中的 B 形状或大小不同,这就是您得不到结果的原因。您需要使用比形态学更复杂的东西来检测 B.