图像阴影去除方法-MATLAB

图像阴影去除方法-MATLAB
如何去除简单图像的阴影?
1.将图像转换到HSV空间,利用明度和饱和度选中阴影区域像素,
2.调整阴影为区域像素白色,(可根据背景色修改HSV的取值,修改为不同色调和亮度)
HSV色差空间对照表
图像阴影去除方法-MATLAB_第1张图片

3.转回RGB空间

图像阴影去除方法-MATLAB_第2张图片

I=imread('yinying.jpeg');
subplot(121),imshow(I),title('原图')
HSV=rgb2hsv(I);h=HSV(:,:,1);v=HSV(:,:,3);s=HSV(:,:,2);
[width,height]=size(h);
for i=1:width
    for j=1:height
        if(v(i,j)<0.4&&0.2<h(i,j)<0.9)%阴影区域像素选中
        s(i,j)=0;
         h(i,j)=0;
         v(i,j)=1;%调整阴影为白色,可根据背景色修改HSV的取值,修改为不同色调和亮度
        end
    end
end
HSV(:,:,1)=h;HSV(:,:,3)=v;HSV(:,:,2)=s;
I=hsv2rgb(HSV);
subplot(122),imshow(I),title('去除影阴');

图像阴影去除方法-MATLAB_第3张图片
支持可以关注我哦,持续分享编写的代码。

你可能感兴趣的:(其他,matlab,图像处理,计算机视觉)