中易网

matlab 有重叠的图像拼接 代码

答案:2  悬赏:10  
解决时间 2021-03-06 14:56
有两张图片,中间有部分是重叠的,希望能够拼接两张图片。
最佳答案
给你提供个思路啊,你可以分别先把两幅图像绘出,figure(1)和figure(2),然后你可以都放大,分别在两个窗口里获取重叠部分对应相同的几个点(p1=get(gca,'CurrentPoint');%在图像坐标系内获取坐标,即矩阵行列号),然后根据这些点你可以对图像矩阵进行拼接操纵。比如图a的最右边和b的最左边重叠,把a的右边删掉,然后从b的相应位置开始接到a的右边。
全部回答
你可以试试下面的程序: i=imread('myphoto.jpg'); % 假设要处理的图像是myphoto.jpg heights=size(i,1); % 图像的高 widths=size(i,2); % 图像的宽 m=8; % 假设纵向分成8幅图 n=10; % 假设横向分成10幅图 % 考虑到rows和cols不一定能被m和n整除,所以对行数和列数均分后要取整 rows=round(linspace(0,heights,m+1)); % 各子图像的起始和终止行标 cols=round(linspace(0,widths,n+1)); % 各子图像的起始和终止列标 blocks=cell(m,n); % 用一个单元数组容纳各个子图像 for k1=1:m for k2=1:n blocks{k1,k2}=i(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:); subimage=blocks{k1,k2}; % 以下是对subimage进行边缘检测 % 加入边缘检测的代码 % 以上是对subimage进行边缘检测 blocks{k1,k2}=subimage; end end processed=i; % processed为处理后的图像,用原图像对其初始化 % 以下为拼接图像 for k1=1:m for k2=1:n processed(rows(k1)+1:rows(k1+1),cols(k2)+1:cols(k2+1),:)=blocks{k1,k2}; end end figure,imshow(processed) % 以上的程序已测试过,对灰度图像和真彩图像都可以运行。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中小学生读【礼仪·法侓·禁毒·安全】的读后
房屋遗产继承权时效期问题
天天披萨(专业外卖)在什么地方啊,我要过去处
泰语中‘星期一到星期日’中文发音
作文半边题目什么常驻心间600字
那墙地址有知道的么?有点事想过去
我的一只股票全卖了,现在想查盈亏状况该怎么
乡村一词的最早出现在什么时侯,怎么解释的
之前包过健康证第二次办还需要照片吗?
黄记煌三汁焖锅(定边店)怎么去啊,有知道地址
w是个向量,||w||是什么意思?
黄精怎么加工了。急
有伤疤人不能开飞机?
创佳印象·广告在什么地方啊,我要过去处理事
孩子要上初三了,科学,数学不好,求推荐海盐
推荐资讯
快客联华便利连锁NO.8369在哪里啊,我有事要
女生上警校分配吗?
面团放水多了在发的情况下还能加粉吗?
莱斯顿艺术吊顶地址在哪,我要去那里办事
我开车,车主在车上,我们一起去办车主的事,
某校举行文艺汇演,评出一等奖5个,二等奖10个,
做视频编辑用什么显卡好
对句子 风和日丽的下一句可不可以是海阔天空
绕线电阻哪个牌子好用?
同泽大药房这个地址在什么地方,我要处理点事
莱阳失业人员医保什么情况下使用
简算:7.25-3又七分之3+3.75-6又7分之4过程
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?