我在 MATLAB(以及一般的图像处理)方面有点菜鸟,我想知道你是否可以帮助我解决我遇到的一些问题。本质上,我得到了一条小巷的图像,然后是同一条小巷的多张图像,但对比度不同,其中一些图像中有一张强盗的照片。我需要能够检测图像中的劫匪,并在所有图像上运行相同的代码(即我不允许为特定图像定制代码)。这是我到目前为止所拥有的:
background = imread('backalley.jpg');
criminal = imread('backalleyX.jpg'); % Where X is the number of the image, there
%are 16 in total from 0 to 15
J = imhist(background);
K = histeq(criminal,J);
diffImage = abs(double(background)-double(K));
thresholdValue = 103;
filteredImage = diffImage > thresholdValue;
(请记住,我仍在使用 thresholdValue)
如果没有强盗,这会给我留下灰色图像,或者显示强盗某些特征的黑白图像。我遇到的问题是,16 张对比度非常高的图像中的 3 张最初让我看到小巷的大部分特征仍然可见,即使在完成直方图均衡之后也是如此。我能做些什么来过滤这些图像或更好地调整对比度,这不会对其他成功处理的图像造成问题吗?不幸的是,由于我是新来的,所以我无法发布显示正在发生的事情的图片,抱歉。
编辑:这是 photobucket 相册的链接:http://s997.photobucket.com/user/52TulaSKS/library/Image%20Processing
所有需要处理的图像都在那里,以及原始图像和处理图像的示例。我给了重要的标题(原始的,给我带来麻烦的,以及正确和错误处理图像的示例)。