用MATLAB填補照片中空白的區域
2015-10-07 18:30
246 查看
和小伙伴去旅行拍了一張照片非常漂亮,可是為甚麼後面還有個頭呀!I AM ANGRY
首先用PS把頭P走
然後空白的地方用MATLAB編程填補一下
代碼如下
最後的結果如下所示喵
首先用PS把頭P走
然後空白的地方用MATLAB編程填補一下
代碼如下
function I=ps() I=imread('after2.jpg'); subplot(1,2,1),imshow(I); [a,b,c]=size(I); for j=730:b for i=21:a if (I(i,j,1)==255)&&(I(i,j,2)==255)&&(I(i,j,3)==255) for k=0:10 I(i-k,j,1)=ans1; I(i-k,j,2)=ans2; I(i-k,j,3)=ans3; end for k=0:20 if (I(i,j,1)<200)&&(I(i,j,2)<200)&&(I(i,j,3)<200) I(i+k,j,1)=ans1; I(i+k,j,2)=ans2; I(i+k,j,3)=ans3; end end for k=0:20 if (I(i,j,1)>250)&&(I(i,j,2)>245)&&(I(i,j,3)>245) I(i+k,j,1)=ans1; I(i+k,j,2)=ans2; I(i+k,j,3)=ans3; end end else ans1=I(i-20,j,1); ans2=I(i-20,j,2); ans3=I(i-20,j,3); end end end subplot(1,2,2),imshow(I); figure(2),imshow(I); %{ J=double(I); H=double(imguidedfilter(I))-J+128; G=imfilter(H,fspecial('gaussian',[3,3],100)); opacity=50; Dest=(J*(100-opacity)+(J+2*G-256)*opacity)/100; I=uint8(Dest); subplot(1,2,2),imshow(I); %} end最後還是有黑邊,我沒有用濾波,因為不想影響照片質量。如果哪個大神有更好的方法,請聯絡我。
最後的結果如下所示喵
相关文章推荐
- 网页五个简单PS步骤让你的照片更漂亮
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- Linux ps 命令实战
- PS 如何去掉图片中的水印
- 查看linux进程ps
- ps aux 命令分析
- VC++与Matlab混合编程的快速实现
- linux top进程状态D
- ps笔记1 基础
- ps笔记2 图层和自由变换
- PS3,4 练习实例 反向太极 五环
- ps笔记5.6.7 裁剪 画笔 渐变
- ps 9,10修饰工具
- ps学习笔记 11,12 路径,色彩调整
- 老师教了我们二年的PS 全部在这里
- PS快捷键