设置目标跟踪的像素阈值-Matlab
Setup pixel threshold for object tracking-Matlab
这可能是一个简单的问题,但我正在努力解决这个问题。我有一个正在尝试处理的视频。在图像转换为灰度后,我正在尝试设置二进制图像的阈值范围。我该怎么做才能使像素保持在 55 - 130 范围内。我有以下代码,但我不知道如何应用阈值范围。
grayscaleimg = rgb2gray(read(obj,1));
thresholdValue = 55;
binaryImage = grayscaleimg > thresholdValue;
binaryImage = imfill(binaryImage, 'holes');
imshow(binaryImage)
您需要在这些值之间设置自适应阈值。
最简单的方法是做一个for循环,然后用if条件评估每个点。
最快的方法是这样做:
grayscaleimg = rgb2gray(read(obj,1));
t1=55;
t2=130;
range=(grayscaleimg > t1 & grayscaleimg <= t2);
grayscaleimg (range)=0;
grayscaleimg (~range)=255;
imshow(grayscaleimg )
我用来自 Matlab 的 onion.png 测试了它并且它有效。
这可能是一个简单的问题,但我正在努力解决这个问题。我有一个正在尝试处理的视频。在图像转换为灰度后,我正在尝试设置二进制图像的阈值范围。我该怎么做才能使像素保持在 55 - 130 范围内。我有以下代码,但我不知道如何应用阈值范围。
grayscaleimg = rgb2gray(read(obj,1));
thresholdValue = 55;
binaryImage = grayscaleimg > thresholdValue;
binaryImage = imfill(binaryImage, 'holes');
imshow(binaryImage)
您需要在这些值之间设置自适应阈值。
最简单的方法是做一个for循环,然后用if条件评估每个点。
最快的方法是这样做:
grayscaleimg = rgb2gray(read(obj,1));
t1=55;
t2=130;
range=(grayscaleimg > t1 & grayscaleimg <= t2);
grayscaleimg (range)=0;
grayscaleimg (~range)=255;
imshow(grayscaleimg )
我用来自 Matlab 的 onion.png 测试了它并且它有效。