1 简介
文章从人的视觉系统出发提出一 种新的基于HSI空间伪彩色异类多传感器图像融合方法,可以用于解决异构多传感器的图像融合问题,在HSI色彩空间可以大大简化图像分析和处理的工作量. 图像融合仿真实验充分验证了该方法可以帮助在人眼和机器识别下克服了由RGB空间伪彩色法造成的融合图像分辨率的下降,同时保留了异类传感器的完整信息, 仿真实例证明该算法得到的融合图像的灰度图像其空间分辨率,该算法利于人眼的判读和机器的识别,具有较大的应用价值.
正在上传…重新上传取消
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代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。