博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab练习程序(图像水平/竖直移动)
阅读量:6300 次
发布时间:2019-06-22

本文共 1531 字,大约阅读时间需要 5 分钟。

cl; delta_x=67;          %要求为整数,水平移动的偏移量,正为向右,负为向左 delta_y=-89;         %要求为整数,竖直移动的偏移量,正为向下,负为向上 img=imread('Corner.png');       %这里v为原图像的高度,u为原图像的宽度 imshow(img);                    %这里y为变换后图像的高度,x为变换后图像的宽度 [v u]=size(img); imgn=zeros(v+abs(delta_y),u+abs(delta_x)); rot=[1 0 0;0 1 0;delta_y delta_x 1]; inv_rot=inv(rot); pix1=[1 1 1]*rot;           %pix1(1),pix1(2)分别为变换后图像的左上角的y,x pix4=[v u 1]*rot;           %pix4(1),pix4(2)分别为变换后图像的右下角的y,x %%向右下方移动 if delta_x>=0 && delta_y>=0 for y=pix1(1):pix4(1) for x=pix1(2):pix4(2)             pix=[y x 1]*inv_rot;      if pix(1)>=0.5 && pix(2)>=0.5 && pix(1)<=v && pix(2)<=u                 imgn(y,x)=img(round(pix(1)),round(pix(2)));        end end end end %%向左下方移动 if delta_x<0 && delta_y>=0 for y=pix1(1):pix4(1) for x=pix1(2):pix4(2)             pix=[y x 1]*inv_rot;      if pix(1)>=0.5 && pix(2)>=0.5 && pix(1)<=v && pix(2)<=u                 imgn(y,x-delta_x)=img(round(pix(1)),round(pix(2)));        end end end end %%向左上方移动 if delta_x<0 && delta_y<0 for y=pix1(1):pix4(1) for x=pix1(2):pix4(2)             pix=[y x 1]*inv_rot;      if pix(1)>=0.5 && pix(2)>=0.5 && pix(1)<=v && pix(2)<=u                 imgn(y-delta_y,x-delta_x)=img(round(pix(1)),round(pix(2)));        end end end end %%向右上方移动 if delta_x>=0 && delta_y<0 for y=pix1(1):pix4(1) for x=pix1(2):pix4(2)             pix=[y x 1]*inv_rot;      if pix(1)>=0.5 && pix(2)>=0.5 && pix(1)<=v && pix(2)<=u                 imgn(y-delta_y,x)=img(round(pix(1)),round(pix(2)));        end end end end figure,imshow(uint8(imgn))

转载地址:http://dtgta.baihongyu.com/

你可能感兴趣的文章
马云也谈996,对开发者真的是一福利吗?
查看>>
PostgreSQL技术周刊第17期:PostgreSQL用户应掌握的高级SQL特性 ...
查看>>
Linux命令操作大全
查看>>
使用python3抓取pinpoint应用信息入库
查看>>
Kubernetes 准入控制 Admission Controller 介绍
查看>>
Redis命令——字符串(String)
查看>>
linux yum清缓存脚本
查看>>
Windows10 bypassUAC绕过用户账户控制
查看>>
千味央厨获1亿元融资,京东领投、绝味食品跟投 ...
查看>>
Python零基础学习笔记(三十八)—— 递归方法、栈、队列模拟遍历目录 ...
查看>>
Android 学习资源大全集汇总(github持续更新)
查看>>
中国联通与阿里云达成合作,推动5G+新媒体产业发展
查看>>
生命不止,奋斗不息
查看>>
三分钟带你读懂 BERT
查看>>
java集合之ConcurrentSkipListSet源码分析——Set大汇总
查看>>
马斯克:只要10万美元,带你移居火星
查看>>
“聆听”升级,阿里云智能喜迎首席聆听官
查看>>
盘它!40篇+阿里技术经典案例,看完必收藏(上)
查看>>
Java总结 - List实现类Vector&Stack
查看>>
shell使用lftp连接ftp和sftp,并可以指定私钥
查看>>