资源简介
包含了Hybrid Image代码以及数据集,通过自带的滤波以及自己实现的滤波函数得到图像高频,低频信息,接着进行图像融合。而且使用了对象对齐操作,使得不同尺寸的图像,图像中的不同大小的目标的融合成为了可能。

代码片段和文件信息
function [im1 im2] = Align_Images(im1 im2)
%根据用户对图像选取的关键点,进行居中、缩放、旋转
%以保证关键点对齐
% 获得输入图像的高、宽
[h1 w1 b1] = size(im1);
[h2 w2 b2] = size(im2);
%调用ginput()让用户选择im1需要对齐的关键点
figure(‘Name‘‘Image 1‘) hold off imagesc(im1) axis image colormap gray
[x1 y1] = ginput(2);
cx1 = mean(x1); cy1 = mean(y1);
%调用ginput()让用户选择im2需要对齐的关键点
figure(‘Name‘‘Image 2‘) hold off imagesc(im2) axis image colormap gray
[x2 y2] = ginput(2);
cx2 = mean(x2); cy2 = mean(y2);
%以填充图像的方式,让im1的关键点居中
tx = round((w1/2-cx1)*2);
if tx > 0
im1 = padarray(im1 [0 tx] ‘pre‘);
else
im1 = padarray(im1 [0 -tx] ‘post‘);
end
ty = round((h1/2-cy1)*2);
if ty > 0
im1 = padarray(im1 [ty 0] ‘pre‘);
else
im1 = padarray(im1 [-ty 0] ‘post‘);
end
%以填充图像的方式,让im2的关键点居中
tx = round((w2/2-cx2)*2) ;
if tx > 0
im2 = padarray(im2 [0 tx] ‘pre‘);
else
im2 = padarray(im2 [0 -tx] ‘post‘);
end
ty = round((h2/2-cy2)*2);
if ty > 0
im2 = padarray(im2 [ty 0] ‘pre‘);
else
im2 = padarray(im2 [-ty 0] ‘post‘);
end
%分别计算图像关键点的欧式距离,并以此距离比例进行图像的缩放
len1 = sqrt((y1(2)-y1(1)).^2+(x1(2)-x1(1)).^2);
len2 = sqrt((y2(2)-y2(1)).^2+(x2(2)-x2(1)).^2);
dscale = len2 ./ len1;
if dscale < 1
im1 = imresize(im1 dscale ‘bilinear‘);
else
im2 = imresize(im2 1./dscale ‘bilinear‘);
end
%计算出图像关键点的弧度差值,并以此进行旋转
theta1 = atan2(-(y1(2)-y1(1)) x1(2)-x1(1));
theta2 = atan2(-(y2(2)-y2(1)) x2(2)-x2(1));
dtheta = theta2-theta1;
im1 = imrotate(im1 dtheta*180/pi ‘bilinear‘);
%获得经过上述操作后,图像的高、宽
[h1 w1 b1] = size(im1);
[h2 w2 b2] = size(im2);
%裁剪两图像中宽度较大的图像并保持关键点居中(左右两边同时裁剪)
minw = min(w1 w2);
brd = (max(w1 w2)-minw)/2;
if minw == w1
im2 = im2(: (ceil(brd)+1):end-floor(brd) :);
else
im1 = im1(: (ceil(brd)+1):end-floor(brd) :);
end
%裁剪两图像中高度较大的图像并保持关键点居中(上下两边同时裁剪)
minh = min(h1 h2);
brd = (max(h1 h2)-minh)/2;
if minh == h1
im2 = im2((ceil(brd)+1):end-floor(brd) : :);
ty = ty-ceil(brd);
else
im1 = im1((ceil(brd)+1):end-floor(brd) : :);
ty = ty+ceil(brd);
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2341 2019-10-22 18:03 HI\Align_Images.m
目录 0 2019-10-22 17:10 HI\data\
文件 12574 2019-10-21 18:40 HI\data\1.jpg
文件 17858 2019-10-21 18:40 HI\data\2.jpg
文件 408056 2013-08-31 08:37 HI\data\bicycle.bmp
文件 373424 2013-08-31 09:07 HI\data\bird.bmp
文件 444808 2011-09-06 04:07 HI\data\cat.bmp
文件 444808 2011-09-06 04:08 HI\data\dog.bmp
文件 179196 2013-08-31 07:52 HI\data\einstein.bmp
文件 346352 2013-09-01 08:15 HI\data\fish.bmp
文件 179196 2013-08-31 07:53 HI\data\marilyn.bmp
文件 408056 2013-08-31 08:38 HI\data\motorcycle.bmp
文件 373424 2013-08-31 09:07 HI\data\plane.bmp
文件 346352 2013-09-01 08:15 HI\data\submarine.bmp
文件 731 2019-10-22 19:10 HI\ImagePyramid.m
文件 689 2019-10-22 17:06 HI\MyImfilter.m
文件 1988 2019-10-22 19:11 HI\Start.m
文件 837 2019-10-22 17:07 HI\SysImfilter.m
文件 1351 2019-10-22 10:07 HI\test.m
文件 326 2019-10-26 21:13 readme.txt
相关资源
- 基于MFC扩展CListCtrl子项显示图片并叠
- img写盘工具(roadkil‘s diskimage) v1.
- cximage的linux版本源码
- Discovery of Reversible and Persistent Electri
- Cocos2d-x 3.x 头像选择器功能扩展Image
- PCNN TOOLBOX
- 双立方插值实现
- 图像处理 分析与机器视觉 源码
- 脉冲耦合神经网络工具箱PCNN-toolbox
- Image2Lcd+汉字取模,TFT助手
- Dynamic Performance Study on the Rubber Isolat
- PNG图片转Delphi中Image.Picture.data代码-工
- CImage 强大的图像处理类库
- 微软内部镜像封装工具:CDIMAGE 2.54 (版
- Modeling of rapeseed at maturity stage using 3
- ImageWatch2019.vsix
- Image Resizer
- swift-PSImageEditors一个简而至美的图片编
- ImageConverter(万能图片转换器)2009免
- ZedBoard REV_D的BOOT.BIN、devicetree.dtb、l
- Image Super-Resolution Via Sparse Representati
- Qt Openglwidget 显示图片纹理贴图
- 2-d and 3-d Image Registration: for Medical Re
- Universalimageloader
- stb_image库
- Markov random fields for vision and image proc
- 《图像分析中的马尔可夫随机场模型
- NeatImagePS MAC
- 实验三 ImageView和Switch的使用
- HDR_Code_Image.rar for opencv
评论
共有 条评论