【图像融合】基于RGB-HSI图像融合提高图像空间分辨率matlab系统

​1 简介

文章从人的视觉系统出发提出一 种新的基于HSI空间伪彩色异类多传感器图像融合方法,可以用于解决异构多传感器的图像融合问题,在HSI色彩空间可以大大简化图像分析和处理的工作量. 图像融合仿真实验充分验证了该方法可以帮助在人眼和机器识别下克服了由RGB空间伪彩色法造成的融合图像分辨率的下降,同时保留了异类传感器的完整信息, 仿真实例证明该算法得到的融合图像的灰度图像其空间分辨率,该算法利于人眼的判读和机器的识别,具有较大的应用价值.

uploading.4e448015.gif

正在上传…重新上传取消

2 部分代码

function varargout = resolutionmerge(varargin)

% RESOLUTIONMERGE M-file for resolutionmerge.fig

%      

% GUI for improving resolution of lower resolution image using higher

% resolution image using RGB-to-HSI conversion.

% Images have to be spatially registered.

%

% Monochromatic (gray scale) low resolution image is converged to colored

% image by false color mapping to "hot" color scheme. This RGB image is

% then converted to Hue, Saturation and Value (HSV) image. Value component is replaced

% by higher resolution image and the resulting HSV image is converted back to

% RGB. This RGB merged image converted to gray scale is a merged image with

% improved spatial resolution.

% To run, type:

% >> resolutionmerge

%

% Can work with any type of color or monochromatic image. If images are colored

% they are converted to gray scale first and then merged.

% To load variables from matlab file, the file should contain variables

% LOWRES and HIGHRES

%

% created by K.Artyushkova

% February 2010

%

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

                   'gui_Singleton',  gui_Singleton, ...

                   'gui_OpeningFcn', @resolutionmerge_OpeningFcn, ...

                   'gui_OutputFcn',  @resolutionmerge_OutputFcn, ...

                   'gui_LayoutFcn',  [] , ...

                   'gui_Callback',   []);

if nargin && ischar(varargin{1})

    gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

    gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before resolutionmerge is made visible.

function resolutionmerge_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject    handle to figure

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% varargin   command line arguments to resolutionmerge (see VARARGIN)

% Choose default command line output for resolutionmerge

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes resolutionmerge wait for user response (see UIRESUME)

% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = resolutionmerge_OutputFcn(hObject, eventdata, handles) 

% varargout  cell array for returning output args (see VARARGOUT);

% hObject    handle to figure

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% --- Executes on button press in disp_grayscale.

function disp_grayscale_Callback(hObject, eventdata, handles)

% hObject    handle to disp_grayscale (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of disp_grayscale

mergedG=handles.mergedG;

axes(handles.axes4) 

iptsetpref('ImshowAxesVisible', 'on')

imagesc(uint8(mergedG)), colormap(gray)

% --------------------------------------------------------------------

function Untitled_2_Callback(hObject, eventdata, handles)

% hObject    handle to Untitled_2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

%% Output section

% --------------------------------------------------------------------

function save_mat_Callback(hObject, eventdata, handles)

% hObject    handle to save_mat (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

mergedG=handles.mergedG;

merged=handles.merged;

datapath = uigetdir;

cd(datapath)

[filename, pathname] = uiputfile('*.mat', 'save merged image into mat file');

save(filename, 'merged','mergedG')

% --------------------------------------------------------------------

function save_tiff_Callback(hObject, eventdata, handles)

% hObject    handle to save_tiff (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

mergedG=handles.mergedG;

merged=handles.merged;

datapath = uigetdir;

cd(datapath)

imwrite(uint8(mergedG),'mergedG.tiff','tiff')

imwrite(uint8(merged),'merged.tiff','tiff')

3 仿真结果

4 参考文献

[1]林世毅, 苏广川, 陈东,等. 基于图像融合提高图像空间分辨率技术研究[C]// 第七届"测量与控制在资源节约,环境保护中的应用"学术会议. 2003.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

​​​​​​​

  • 20
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值