我在MATLAB 的计算机视觉工具箱中使用了detectMSERFeatures函数,并且遇到了一些错误。我有一张黑白图像,我正在读取它以检测其特征,但是我想在运行特征检测之前反转图像,或者我正在过滤图像中的红色。因此,无论哪种方式,我都有一个我试图在detectMSERFeatures中使用的二进制图像。我知道这不起作用,但我尝试了几次转换为可用格式的转换,但似乎都没有。如果我在原始图像上使用rgb2gray , detectMSERFeatures将获取特征,但如果我尝试转换它则不会。这是我到目前为止所尝试的一切:
Target1=imread('Decal0.JPG');
Target1bw=~im2bw(Target1);
Target=uint8(Target1bw);
[m,n]=size(Target);
regionsTarget = detectMSERFeatures(Target, 'MaxAreaVariation',0.15,...
'ThresholdDelta',15, 'RegionAreaRange',[10000 (m*n)/2]);
Target1=imread('Decal0.JPG');
Target1bw=~im2bw(Target1);
Target=im2double(Target1bw);
regionsTarget = detectMSERFeatures(Target, 'MaxAreaVariation',0.15,...
'ThresholdDelta',15, 'RegionAreaRange',[10000 (m*n)/2]);
Target1=imread('Decal0.JPG');
Target1bw=~im2bw(Target1);
Target2=255*Target1bw;
[m,n]=size(Target2);
Target3=zeros(m,n,3);
Target3(:,:,1)=Target2;
Target3(:,:,2)=Target2;
Target3(:,:,3)=Target2;
Target3=uint8(Target3);
Target=rgb2gray(Target3);
regionsTarget = detectMSERFeatures(Target, 'MaxAreaVariation',0.15,...
'ThresholdDelta',15, 'RegionAreaRange',[10000 (m*n)/2]);
我做错了什么?