【问题标题】:Setup pixel threshold for object tracking-Matlab设置对象跟踪的像素阈值-Matlab
【发布时间】:2016-04-19 19:02:56
【问题描述】:
这可能是一个简单的问题,但我正在努力解决它。我有一个正在尝试处理的视频。在图像转换为灰度后,我正在尝试设置二进制图像的阈值范围。我该怎么做才能使像素保持在 55 - 130 范围内。我有以下代码,但我不知道如何应用阈值范围。
grayscaleimg = rgb2gray(read(obj,1));
thresholdValue = 55;
binaryImage = grayscaleimg > thresholdValue;
binaryImage = imfill(binaryImage, 'holes');
imshow(binaryImage)
【问题讨论】:
标签:
image
matlab
threshold
【解决方案1】:
您需要在这些值之间设置一个自适应阈值。
最简单的方法是创建一个 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 对其进行了测试,它确实有效。