matlab读出图片矩阵后再怎么拼接

matlab读出图片矩阵后再怎么拼接,第1张

显示的是axes控件,就是那个图表样的按钮 pushbutton1中要完成以下任务。 先用imread读出来,再用imshow显示。还要将读出的图像矩阵保存以备其它控件调用。 其中选择文件可以用uigetfile命令,得到的是文件名和路径名两个字符串,然后把两者组合为一个字符串(fullfile命令或直接用矩阵拼接功能)用imread读即可。 因为要用pushbutton2处理图像,因此读出的图像矩阵要进行保存,可以将图像矩阵保存到诸如handlesdata中,然后guidata(hObject,handles)刷新数据。之后在pushbutton2中就可以调用handlesdata了。当然也可以将图像矩阵保存为全局变量。

完整的m文件:%matlab图像拼接(四种方法)% 1、直接拼接,% 2、亮度调整后拼接,% 3、按距离比例融合,% 4、亮度调整后按距离比例融合 %流程:%1。读入左,右图,并取出重合部分,并转化为亮度图%2。分别把每点的亮度值相加,得到一个比值%3。把比值 乘以 右图%4。再把左 各 右图 拼接 clear;close all,clc;%读入原图 (左 右)img1=imread('2jpg');img2=imread('1jpg');% figure;imshow(img1);%显示% figure;imshow(img2); %查找它们的SIFT特征,并返回匹配点对---------------------特征匹配 开始[des1, des2] = siftMatch(img1, img2);des1=[des1(:,2),des1(:,1)];%左右(x和y)交换 为基础矩阵F 过滤匹配准备参数des2=[des2(:,2),des2(:,1)];% %用 基础矩阵F 过滤匹配的特征点对matchs = matchFSelect(des1, des2) %匹配位置索引(掩码)des1=des1(matchs,:);%取出内点des2=des2(matchs,:); % 画出匹配特征点的连接线(好点)drawLinedCorner(img1,des1,img2, des2) ;%------------------------------------------------------特征匹配 结束 [H,W,k]=size(img1);%图像大小l_r=W-des1(1,2)+des2

1首先打开计算机上的matlab程序,然后输入指令[清除;,清除屏幕。

2然后将准备好的图像复制到matlab的工作目录中。

3输入返回指令[data=imread('folder图标。BMP')]在主界面;,将图像转换为数据。

4然后双击工作区中的数据,查看图像数据的特定信息。

5输入指令[imshow(data);],可以看到数据代表了。

6输入指令[gdata=rgb2gray(data);],可以得到灰度后的矩阵。

7双击右边工作区中的gdata以查看数据的特定信息。

8然后输入指令[imshow(gdata);],可以看到灰度图像。

是这样的,如果你再程序开始添加holdon这个的画,表示这之后的每一次作图都保留以前的图,这样就可以连续画图

反之holdoff,表示打开这个之后,每次画图,删除以前的图,

1、比如eidtt常用的是set(handlesedit1,'string',md); get(handlesedit1,'string',md); 回调函数啊pushbutton1_Callback 2、是不是只要一改变控件里的值,就会触发回调函数,不动它就不调用! 答:一般来说是回调函数触发后 可以改变控件里面

matlab的最常用画图命令函数是plot(),使用实例:

x=-2pi:pi/10:2pi;  %x的区间-2π,2π

y=sin(x)+cos(x);     %计算y值

plot(x,y,'r-') %画图

xlabel('x'),ylabel('y(x)') %坐标轴名称

title('y=sin(x)+cos(x)');   %图形标题名称

其余画图命令还有,ezplot,polar,ezpolar等二维绘图命令

如想了解,可以进一步私聊。

 这只是批量读入图像从matlab论坛找的,把am文件直接放在附件1文件夹里直接运行,调试通过

imname = dir('\bmp');%读入文件夹下的全部图像

im_num = length(imname);% 文件夹中图像的个数

im_temp = imread(imname(1)name,'bmp');%读入第一幅图像

[height,width] = size(im_temp);%得到图像的尺寸

DB(:,:,a) = zeros(height,width,im_num,'uint8');

% 读入全部图像

for a = 1:length(imname)

DB(:,:,a) = imread(imname(a)name,'bmp');%读取图像数据

end

批量读入

用cat函数连接;

每个纸条的边界

ima = DB(:,:,a);

im_left = ima(:,1);

im_right= ima(:,end);

在gui界面添加一个pushbutton和一个Axes,在相应的M文件界面,找到function pushbutton1_Callback(hObject, eventdata, handles),再在下面添加你的代码就行,最后加上guidata(hObject,handles);

以上就是关于matlab读出图片矩阵后再怎么拼接全部的内容,包括:matlab读出图片矩阵后再怎么拼接、matlab 彩色图片拼接融合后如何消除拼接缝、如何用MATLAB产生图像等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9810992.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存