数字图像学习4(图像的浮雕效果)

图像的浮雕效果根据生成的算法不一样,效果也不太一样,作为练习程序,自己写了两个;
(1)取主对角线除右下角外的各点之和的平均值,减去右下角点的值,再加上填充背景色,再加上一个背景常数,会形成类似浮雕的效果。
算法如下:

y(i,j)= 0.25*img(x-2,y-2)+0.25*img(x-1,y-1)+0.25*img(x,y)+0.25*img(x+1,y+1)+0.25*img(x+2,y+1)+128

源码:

%实现图像的浮雕效果
temp_img = imread('C:\Users\Administrator\Desktop\1.jpg');
size_info=size(temp_img);
height=size_info(1);
width=size_info(2);
spec_img=zeros(height,width,3);
% img_temp=rgb2gray(temp_img);

for i=2:height-1
    for j=2:width-1
        if temp_img(i,j,:) == 255
            spec_img(i,j,:) = 255;
        else
            spec_img(i,j,:)=double(temp_img(i-1,j-1,:))-double(temp_img(i+1,j+1,:))+128;
        end

    end
end
figure,imshow(temp_img);
figure,imshow(spec_img/255);

效果对比如下:
原图
浮雕效果的图
(2)简化版本,直接对角线上左上减去右下加上一个常数
算法:

y(i,j) = img(x-1,y-1)-img(x+1,y+1)+128

代码:

temp_img=imread('C:\Users\Administrator\Desktop\1.jpg');  
size_info=size(temp_img);  
height=size_info(1);  
width=size_info(2);  
spec_img=zeros(height,width,3);   

for i=2:height-1  
    for j=2:width-1  
        spec_img(i,j,:)=double(temp_img(i-1,j-1,:))-double(temp_img(i+1,j+1,:))+128;  
    end  
end  
figure,imshow(temp_img);   
figure,imshow(spec_img/255); 

效果图:
这里写图片描述
基本没什么区别。。。。。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值