ImageManipulation.m
上传用户:changqing
上传日期:2013-01-11
资源大小:2384k
文件大小:26k
源码类别:

图形图像处理

开发平台:

Matlab

  1. function varargout = ImageManipulation(varargin)
  2. % ImageManipulation M-file for ImageManipulation.fig
  3. %      ImageManipulation, by itself, creates a new ImageManipulation or raises the existing
  4. %      singleton*.
  5. %
  6. %      H = ImageManipulation returns the handle to a new ImageManipulation or the handle to
  7. %      the existing singleton*.
  8. %
  9. %      ImageManipulation('CALLBACK',hObject,eventData,handles,...) calls the local
  10. %      function named CALLBACK in ImageManipulation.M with the given input arguments.
  11. %
  12. %      ImageManipulation('Property','Value',...) creates a new ImageManipulation or raises the
  13. %      existing singleton*.  Starting from the left, property value pairs are
  14. %      applied to the GUI before ImageManipulation_OpeningFunction gets called.  An
  15. %      unrecognized property name or invalid value makes property application
  16. %      stop.  All inputs are passed to ImageManipulation_OpeningFcn via varargin.
  17. %
  18. %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
  19. %      instance to run (singleton)".
  20. %
  21. % See also: GUIDE, GUIDATA, GUIHANDLES
  22. % Edit the above text to modify the response to help ImageManipulation
  23. % Last Modified by GUIDE v2.5 18-Apr-2008 02:31:06
  24. % Begin initialization code - DO NOT EDIT
  25. gui_Singleton = 1;
  26. gui_State = struct('gui_Name',       mfilename, ...
  27.                    'gui_Singleton',  gui_Singleton, ...
  28.                    'gui_OpeningFcn', @ImageManipulation_OpeningFcn, ...
  29.                    'gui_OutputFcn',  @ImageManipulation_OutputFcn, ...
  30.                    'gui_LayoutFcn',  [] , ...
  31.                    'gui_Callback',   []);
  32. if nargin && ischar(varargin{1})
  33.     gui_State.gui_Callback = str2func(varargin{1});
  34. end
  35. if nargout
  36.     [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
  37. else
  38.     gui_mainfcn(gui_State, varargin{:});
  39. end
  40. % End initialization code - DO NOT EDIT
  41. % --- Executes just before ImageManipulation is made visible.
  42. function ImageManipulation_OpeningFcn(hObject, eventdata, handles, varargin)
  43. % This function has no output args, see OutputFcn.
  44. % hObject    handle to figure
  45. % eventdata  reserved - to be defined in a future version of MATLAB
  46. % handles    structure with handles and user data (see GUIDATA)
  47. % varargin   command line arguments to ImageManipulation (see VARARGIN)
  48. % Choose default command line output for ImageManipulation
  49. handles.output = hObject;
  50. % Update handles structure
  51. guidata(hObject, handles);
  52. % UIWAIT makes ImageManipulation wait for user response (see UIRESUME)
  53. % uiwait(handles.figure1);
  54. % --- Outputs from this function are returned to the command line.
  55. function varargout = ImageManipulation_OutputFcn(hObject, eventdata, handles) 
  56. % varargout  cell array for returning output args (see VARARGOUT);
  57. % hObject    handle to figure
  58. % eventdata  reserved - to be defined in a future version of MATLAB
  59. % handles    structure with handles and user data (see GUIDATA)
  60. % Get default command line output from handles structure
  61. varargout{1} = handles.output;
  62. % --------------------------------------------------------------------
  63. function file_Callback(hObject, eventdata, handles)
  64. % hObject    handle to file (see GCBO)
  65. % eventdata  reserved - to be defined in a future version of MATLAB
  66. % handles    structure with handles and user data (see GUIDATA)
  67. % --------------------------------------------------------------------
  68. function openfile_Callback(hObject, eventdata, handles)
  69. % hObject    handle to openfile (see GCBO)
  70. % eventdata  reserved - to be defined in a future version of MATLAB
  71. % handles    structure with handles and user data (see GUIDATA)
  72. [filename, pathname, filterindex] = uigetfile({'*.bmp;*.cur;*.gif;*.hdf;*.ico;*.jpg;*.jpeg;*.pbm;*.pcx;*.pgm;*.png;*.ppm;*.ras;*.tiff;*.xwd',...
  73.     '所有图片文件 (*.bmp;*.cur;*.gif;*.hdf;*.ico;*.jepg;*.pbm;*.pcx;*.pgm;*.png;*.ppm;*.ras;*.tiff;*.xwd)';...
  74.     '*.bmp','bmp格式文件(*.bmp)'; '*.cur','cur格式文件(*.cur)';'*.gif','gif格式文件(*.gif)';'*.hdf','hdf格式文件(*.hdf)';'*.ico','ico格式文件(*.ico)';...
  75.     '*.jpg','jpg格式文件(*.jpg)';'*.jpeg','jpeg格式文件(*.jpeg)';'*.pbm','pbm格式文件(*.pbm)';'*.pcx','pcx格式文件(*.pcx)';'*.pgm','pgm格式文件(pgm)';...
  76.     '*.png','png格式文件(*.png)';'*.ppm','ppm格式文件(*.ppm)';'*.ras','ras格式文件(*.ras)';'*.tiff','tiff格式文件(*.tiff)';'*.xwd','xwd格式文件(*.xwd)'},...
  77.     '打开图片文件');
  78. global Image
  79. global changedImage
  80. global XX
  81. global mmap
  82. global myflag
  83. if filename==0
  84.     return;
  85. end
  86. Image=imread(strcat(pathname,filename));
  87. changedImage=Image;
  88. Info=imfinfo(strcat(pathname,filename));
  89. cla(handles.original);
  90. cla(handles.changed);
  91. imshow(Image,'parent',handles.original);
  92. imshow(changedImage,'parent',handles.changed);
  93. myflag=[0 0 0 0];
  94. if strcmp(Info.ColorType,'indexed')
  95.     myflag(1)=1;
  96.     s='索引图像';
  97. elseif  strcmp(Info.ColorType,'grayscale')
  98.     myflag(2)=1;
  99.     s='灰度图像';
  100. elseif  strcmp(Info.ColorType,'truecolor')
  101.     myflag(3)=1;
  102.     s='真彩图像';
  103. elseif  ffisbw(Image)
  104.     myflag(4)=1;
  105.     s='二值图像';
  106. end
  107. set(handles.information,'string',sprintf(['   文件名:',filename,'n','n',...
  108.     '颜色类型:',s,'n','n','       大小:',...
  109.     num2str(Info.Height),'*',num2str(Info.Width),'n','n','      ',...
  110.     '占用空间:',num2str(Info.FileSize),'Bytes',]));    
  111. if myflag(1)
  112.     [XX,mmap]=imread(strcat(pathname,filename));
  113. elseif myflag(4)
  114.     set(handles.imagestyle,'string','原始图像为二值图像');
  115. end
  116.     
  117.     
  118. % --------------------------------------------------------------------
  119. function saveas_Callback(hObject, eventdata, handles)
  120. % hObject    handle to saveas (see GCBO)
  121. % eventdata  reserved - to be defined in a future version of MATLAB
  122. % handles    structure with handles and user data (see GUIDATA)
  123. global changedImage
  124. global XX
  125. global mmap
  126. [filename, pathname, filterindex] = uiputfile({'*.bmp;*.cur;*.gif;*.hdf;*.ico;*.jpg;*.jpeg;*.pbm;*.pcx;*.pgm;*.png;*.ppm;*.ras;*.tiff;*.xwd',...
  127.     '所有图片文件 (*.bmp;*.cur;*.gif;*.hdf;*.ico;*.jepg;*.pbm;*.pcx;*.pgm;*.png;*.ppm;*.ras;*.tiff;*.xwd)';...    
  128.     '*.bmp','bmp格式文件(*.bmp)'; '*.cur','cur格式文件(*.cur)';'*.gif','gif格式文件(*.gif)';'*.hdf','hdf格式文件(*.hdf)';'*.ico','ico格式文件(*.ico)';...
  129.     '*.jpg','jpg格式文件(*.jpg)';'*.jpeg','jpeg格式文件(*.jpeg)';'*.pbm','pbm格式文件(*.pbm)';'*.pcx','pcx格式文件(*.pcx)';'*.pgm','pgm格式文件(pgm)';...
  130.     '*.png','png格式文件(*.png)';'*.ppm','ppm格式文件(*.ppm)';'*.ras','ras格式文件(*.ras)';'*.tiff','tiff格式文件(*.tiff)';'*.xwd','xwd格式文件(*.xwd)'},...
  131.     '保存图片文件');
  132. if filename==0
  133.     return;
  134. end
  135. axes (handles.changed);
  136. if ffisind(changedImage)
  137.     imwrite(XX,mmap,strcat(pathname,filename));
  138. else
  139.     imwrite(changedImage,strcat(pathname,filename));
  140. end
  141. % --------------------------------------------------------------------
  142. function Quit_Callback(hObject, eventdata, handles)
  143. % hObject    handle to Quit (see GCBO)
  144. % eventdata  reserved - to be defined in a future version of MATLAB
  145. % handles    structure with handles and user data (see GUIDATA)
  146. clear all;
  147. close all;
  148. % --- Executes on mouse press over axes background.
  149. function changed_ButtonDownFcn(hObject, eventdata, handles)
  150. % hObject    handle to changed (see GCBO)
  151. % eventdata  reserved - to be defined in a future version of MATLAB
  152. % handles    structure with handles and user data (see GUIDATA)
  153. % --- Executes on selection change in viewstyle.
  154. function viewstyle_Callback(hObject, eventdata, handles)
  155. % hObject    handle to viewstyle (see GCBO)
  156. % eventdata  reserved - to be defined in a future version of MATLAB
  157. % handles    structure with handles and user data (see GUIDATA)
  158. % Hints: contents = get(hObject,'String') returns viewstyle contents as cell array
  159. %        contents{get(hObject,'Value')} returns selected item from viewstyle
  160. global Image
  161. global changedImage
  162. global XX
  163. global mmap
  164. global myflag
  165.  s=get(hObject,'Value');
  166.  
  167.  if ffisind(changedImage)
  168. %      此时的图像是索引图像
  169.     x=XX;
  170.     map=mmap;
  171.     switch s
  172.         case 1 
  173.             imshow(changedImage,'parent',handles.changed);
  174.         case 2
  175.             changedImage=ind2gray(x,map);
  176.             imshow(changedImage,'parent',handles.changed);
  177.         case 3
  178.             changedImage=ind2rgb(x,map);
  179.             imshow(changedImage,'parent',handles.changed);
  180.         case 4
  181.             changdeImage=im2bw(changedImage);
  182.             imshow(changedImage,'parent',handles.changed);
  183.     end
  184.  elseif ffisgray(changedImage)
  185. %     此时的图像是灰度图像
  186.     switch s
  187.         case 1 
  188.             [XX,mmap]=gray2ind(changedImage);
  189.             imshow(XX,mmap,'parent',handles.changed);
  190.         case 2
  191.             imshow(changedImage,'parent',handles.changed);
  192.         case 3
  193.             msgbox('无法将灰度图像转换为真彩图像','警告');
  194.             return;
  195.         case 4
  196.             changedImage=im2bw(changedImage);
  197.             imshow(changedImage,'parent',handles.changed);
  198.     end
  199. elseif ffisrgb(changedImage)
  200. %     此时的图像是真彩图像
  201.     switch s
  202.         case 1 
  203.             [XX,mmap]=rgb2ind(changedImage,128);
  204.             imshow(XX,mmap,'parent',handles.changed);
  205.         case 2
  206.             changedImage=rgb2gray(changedImage);
  207.             imshow(changedImage,'parent',handles.changed);
  208.         case 3
  209.             imshow(changedImage,'parent',handles.changed);
  210.         case 4
  211.             changedImage=im2bw(changedImage);
  212.             imshow(changedImage,'parent',handles.changed);
  213.     end
  214.  elseif ffisbw(changedImage)
  215. %  此时为二值图像
  216. switch s
  217.     case 1
  218.          [XX,mmap]=gray2ind(changedImage);
  219.          imshow(XX,mmap,'parent',handles.changed);
  220.     case 2
  221.          msgbox('无法将二值图像转换为灰度图像','警告');
  222.          return;
  223.     case 3
  224.          msgbox('无法将二值图像转换为真彩图像','警告');
  225.          return;
  226.     case 4
  227.         imshow(changedImage,'parent',handles.changed);      
  228.         
  229. end
  230.  end
  231.          
  232.          
  233.         
  234. % --- Executes during object creation, after setting all properties.
  235. function viewstyle_CreateFcn(hObject, eventdata, handles)
  236. % hObject    handle to viewstyle (see GCBO)
  237. % eventdata  reserved - to be defined in a future version of MATLAB
  238. % handles    empty - handles not created until after all CreateFcns called
  239. % Hint: popupmenu controls usually have a white background on Windows.
  240. %       See ISPC and COMPUTER.
  241. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  242.     set(hObject,'BackgroundColor','white');
  243. end
  244. % --- Executes on selection change in imagedeal.
  245. function imagedeal_Callback(hObject, eventdata, handles)
  246. % hObject    handle to imagedeal (see GCBO)
  247. % eventdata  reserved - to be defined in a future version of MATLAB
  248. % handles    structure with handles and user data (see GUIDATA)
  249. % Hints: contents = get(hObject,'String') returns imagedeal contents as cell array
  250. %        contents{get(hObject,'Value')} returns selected item from imagedeal
  251. global Image
  252. global changedImage
  253. global XX
  254. global mmap
  255.  s=get(hObject,'Value');
  256.  switch s
  257.      case 1 
  258.          if ffisbw(changedImage)
  259.              msgbox('无法对二值图像灰度调整','警告');
  260.          return;
  261.          end             
  262.          changedImage=imadjust(changedImage,[0.15,0.85],[]);
  263.          imshow(changedImage,'parent',handles.changed);     
  264.      case 2
  265.          if ffisind(changedImage)
  266.              x=XX;
  267.              map=mmap;
  268.              changedImage=ind2gray(x,map);
  269.          elseif ffisrgb(changedImage)
  270.              changedImage=rgb2gray(changedImage);
  271.          end
  272.          
  273.          f1=200;g1=256;
  274.          k=g1/f1;
  275.          [m,n]=size(changedImage);
  276.          X=double(changedImage);
  277.          for i=1:m
  278.              for j=1:n
  279.                  f=X(i,j);
  280.                  g(i,j)=0;
  281.                  if(f>=0)&(f<f1)
  282.                      g(i,j)=g1-k*f;
  283.                  else
  284.                      g(i,j)=0;
  285.                  end
  286.              end
  287.          end         
  288.          changedImage=mat2gray(g);
  289.          imshow(changedImage,'parent',handles.changed);
  290.      
  291.      case 3
  292.          if ffisind(changedImage)
  293.              x=XX;
  294.              map=mmap;
  295.              changedImage=ind2gray(x,map);
  296.          elseif ffisrgb(changedImage)
  297.              changedImage=rgb2gray(changedImage);
  298.          end
  299.          
  300.          c=255/log(256);
  301.          x=0:1:125;
  302.          y=c*log(1+x);
  303.          [m,n]=size(changedImage);
  304.          X=double(changedImage);
  305.          for i=1:m;
  306.              for j=1:n
  307.                  g(i,j)=c*log(X(i,j)+1);
  308.              end
  309.          end        
  310.          changedImage=mat2gray(g);
  311.          imshow(changedImage,'parent',handles.changed);
  312.  end
  313. % --- Executes during object creation, after setting all properties.
  314. function imagedeal_CreateFcn(hObject, eventdata, handles)
  315. % hObject    handle to imagedeal (see GCBO)
  316. % eventdata  reserved - to be defined in a future version of MATLAB
  317. % handles    empty - handles not created until after all CreateFcns called
  318. % Hint: popupmenu controls usually have a white background on Windows.
  319. %       See ISPC and COMPUTER.
  320. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  321.     set(hObject,'BackgroundColor','white');
  322. end
  323. % --- Executes on selection change in straightdeal.
  324. function straightdeal_Callback(hObject, eventdata, handles)
  325. % hObject    handle to straightdeal (see GCBO)
  326. % eventdata  reserved - to be defined in a future version of MATLAB
  327. % handles    structure with handles and user data (see GUIDATA)
  328. % Hints: contents = get(hObject,'String') returns straightdeal contents as cell array
  329. %        contents{get(hObject,'Value')} returns selected item from straightdeal
  330. global Image
  331. global changedImage
  332. global XX
  333. global mmap
  334. if ffisind(changedImage)
  335.     changedImage=ind2gray(XX,mmap);
  336. elseif ffisrgb(changedImage)
  337.     changedImage=rgb2gray(changedImage);
  338. end
  339. s=get(hObject,'Value');
  340. switch s
  341.     case 1
  342.         figure;
  343.         imhist(changedImage);
  344.     case 2
  345.         if ffisbw(changedImage)
  346.             msgbox('二值图像无法实现均衡化','警告');
  347.             return;
  348.         end
  349.         figure;
  350.         changedImage=histeq(changedImage);
  351.         imhist(changedImage);
  352.         imshow(changedImage,'parent',handles.changed);
  353. end
  354.         
  355. % --- Executes during object creation, after setting all properties.
  356. function straightdeal_CreateFcn(hObject, eventdata, handles)
  357. % hObject    handle to straightdeal (see GCBO)
  358. % eventdata  reserved - to be defined in a future version of MATLAB
  359. % handles    empty - handles not created until after all CreateFcns called
  360. % Hint: popupmenu controls usually have a white background on Windows.
  361. %       See ISPC and COMPUTER.
  362. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  363.     set(hObject,'BackgroundColor','white');
  364. end
  365. function edit2_Callback(hObject, eventdata, handles)
  366. % hObject    handle to edit2 (see GCBO)
  367. % eventdata  reserved - to be defined in a future version of MATLAB
  368. % handles    structure with handles and user data (see GUIDATA)
  369. % Hints: get(hObject,'String') returns contents of edit2 as text
  370. %        str2double(get(hObject,'String')) returns contents of edit2 as a double
  371. % --- Executes during object creation, after setting all properties.
  372. function edit2_CreateFcn(hObject, eventdata, handles)
  373. % hObject    handle to edit2 (see GCBO)
  374. % eventdata  reserved - to be defined in a future version of MATLAB
  375. % handles    empty - handles not created until after all CreateFcns called
  376. % Hint: edit controls usually have a white background on Windows.
  377. %       See ISPC and COMPUTER.
  378. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  379.     set(hObject,'BackgroundColor','white');
  380. end
  381. % --- Executes on selection change in swaves.
  382. function swaves_Callback(hObject, eventdata, handles)
  383. % hObject    handle to swaves (see GCBO)
  384. % eventdata  reserved - to be defined in a future version of MATLAB
  385. % handles    structure with handles and user data (see GUIDATA)
  386. % Hints: contents = get(hObject,'String') returns swaves contents as cell array
  387. %        contents{get(hObject,'Value')} returns selected item from swaves
  388. global Image
  389. global changedImage
  390. global XX
  391. global mmap
  392. if ffisbw(changedImage)
  393.      msgbox('当前图像为二值图像','注意');
  394.      return;
  395.  end
  396. if ffisind(changedImage)
  397.     x=XX;
  398.     map=mmap;
  399.     changedImage=ind2gray(x,map);
  400.  elseif ffisrgb(changedImage)
  401.      changedImage=rgb2gray(changedImage);
  402. end
  403. s=get(hObject,'Value');
  404. switch s
  405.     case 1
  406.         changedImage=filter2(fspecial('average',5),changedImage)/255;
  407.         imshow(changedImage,'parent',handles.changed);
  408.     case 2
  409.         domain=[0 0 1 0 0
  410.             0 0 1 0 0
  411.             1 1 1 1 1 
  412.             0 0 1 0 0
  413.             0 0 1 0 0];
  414.         changedImage=ordfilt2(changedImage,5,domain);
  415.         imshow(changedImage,'parent',handles.changed);
  416.     case 3
  417.         h=fspecial('unsharp',0.5);
  418.         changedImage=filter2(h,changedImage)/255;
  419.         imshow(changedImage,'parent',handles.changed);
  420.     case 4
  421.         h1=fspecial('sobel');
  422.         changedImage=conv2(changedImage,h1);
  423.         imshow(changedImage,'parent',handles.changed);        
  424.     case 5
  425.         h2=fspecial('prewitt');
  426.         changedImage=conv2(changedImage,h2);
  427.         imshow(changedImage,'parent',handles.changed); 
  428.     case 6
  429.         h3=fspecial('log');
  430.         changedImage=conv2(changedImage,h3);
  431.         imshow(changedImage,'parent',handles.changed); 
  432. end
  433. % --- Executes during object creation, after setting all properties.
  434. function swaves_CreateFcn(hObject, eventdata, handles)
  435. % hObject    handle to swaves (see GCBO)
  436. % eventdata  reserved - to be defined in a future version of MATLAB
  437. % handles    empty - handles not created until after all CreateFcns called
  438. % Hint: popupmenu controls usually have a white background on Windows.
  439. %       See ISPC and COMPUTER.
  440. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  441.     set(hObject,'BackgroundColor','white');
  442. end
  443. % --- Executes on selection change in fwave.
  444. function fwave_Callback(hObject, eventdata, handles)
  445. % hObject    handle to fwave (see GCBO)
  446. % eventdata  reserved - to be defined in a future version of MATLAB
  447. % handles    structure with handles and user data (see GUIDATA)
  448. % Hints: contents = get(hObject,'String') returns fwave contents as cell array
  449. %        contents{get(hObject,'Value')} returns selected item from fwave
  450. global changedImage
  451. global XX
  452. global mmap
  453. if ffisbw(changedImage)
  454.      msgbox('二值图像滤波无意义');
  455.      return;
  456.  end
  457. if ffisind(changedImage)
  458.     x=XX;
  459.     map=mmap;
  460.     changedImage=ind2gray(x,map);
  461.  elseif ffisrgb(changedImage)
  462.      changedImage=rgb2gray(changedImage);
  463. end
  464. s=get(hObject,'Value');
  465. switch s
  466.     case 1
  467.         f=double(changedImage);
  468.         g=fft2(f);
  469.         g=fftshift(g);
  470.         [N1,N2]=size(g);
  471.         n=2;
  472.         d0=50;
  473.         n1=fix(N1/2);
  474.         n2=fix(N2/2);
  475.         for i=1:N1
  476.             for j=1:N2
  477.                 d=sqrt((i-n1)^2+(j-n2)^2);
  478.                 h=1/(1+0.414*(d/d0)^(2*n));
  479.                 result(i,j)=h*g(i,j);
  480.             end
  481.         end
  482.         result=ifftshift(result);
  483.         changedImage=ifft2(result);
  484.         changedImage=uint8(real(changedImage));
  485.         imshow(changedImage,'parent',handles.changed);
  486.     case 2
  487.         f=double(changedImage);
  488.         g=fft2(f);
  489.         g=fftshift(g);
  490.         [N1,N2]=size(g);
  491.         n=2;
  492.         d0=50;
  493.         n1=fix(N1/2);
  494.         n2=fix(N2/2);
  495.         for i=1:N1
  496.             for j=1:N2
  497.                 d=sqrt((i-n1)^2+(j-n2)^2);
  498.                 if d==0
  499.                     h=0;
  500.                 else
  501.                     h=1/(1+(d0/d)^(2*n));
  502.                 end
  503.                 result(i,j)=h*g(i,j);
  504.             end
  505.         end
  506.         result=ifftshift(result);
  507.         changedImage=ifft2(result);
  508.         changedImage=uint8(real(changedImage));
  509.         imshow(changedImage,'parent',handles.changed);
  510. end
  511.         
  512.      
  513. % --- Executes during object creation, after setting all properties.
  514. function fwave_CreateFcn(hObject, eventdata, handles)
  515. % hObject    handle to fwave (see GCBO)
  516. % eventdata  reserved - to be defined in a future version of MATLAB
  517. % handles    empty - handles not created until after all CreateFcns called
  518. % Hint: popupmenu controls usually have a white background on Windows.
  519. %       See ISPC and COMPUTER.
  520. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
  521.     set(hObject,'BackgroundColor','white');
  522. end
  523. % --- Executes during object creation, after setting all properties.
  524. function imagestyle_CreateFcn(hObject, eventdata, handles)
  525. % hObject    handle to imagestyle (see GCBO)
  526. % eventdata  reserved - to be defined in a future version of MATLAB
  527. % handles    empty - handles not created until after all CreateFcns called
  528. % --- Executes on button press in lightincrease.
  529. function lightincrease_Callback(hObject, eventdata, handles)
  530. % hObject    handle to lightincrease (see GCBO)
  531. % eventdata  reserved - to be defined in a future version of MATLAB
  532. % handles    structure with handles and user data (see GUIDATA)
  533. global changedImage
  534. changedImage=immultiply(changedImage,1.1);
  535. imshow(changedImage,'parent',handles.changed);
  536. % --- Executes on button press in darkincrease.
  537. function darkincrease_Callback(hObject, eventdata, handles)
  538. % hObject    handle to darkincrease (see GCBO)
  539. % eventdata  reserved - to be defined in a future version of MATLAB
  540. % handles    structure with handles and user data (see GUIDATA)
  541. global changedImage
  542. changedImage=immultiply(changedImage,0.9);
  543. imshow(changedImage,'parent',handles.changed);
  544. % --- Executes on button press in pushbutton9.
  545. function pushbutton9_Callback(hObject, eventdata, handles)
  546. % hObject    handle to pushbutton9 (see GCBO)
  547. % eventdata  reserved - to be defined in a future version of MATLAB
  548. % handles    structure with handles and user data (see GUIDATA)
  549. global changedImage
  550. changedImage=imrotate(changedImage,5, 'bicubic','crop' );
  551. imshow(changedImage,'parent',handles.changed);
  552. % --- Executes on button press in pushbutton12.
  553. function pushbutton12_Callback(hObject, eventdata, handles)
  554. % hObject    handle to pushbutton12 (see GCBO)
  555. % eventdata  reserved - to be defined in a future version of MATLAB
  556. % handles    structure with handles and user data (see GUIDATA)
  557. global changedImage
  558. changedImage=imrotate(changedImage,-5, 'bicubic','crop');
  559. imshow(changedImage,'parent',handles.changed);
  560. % --- Executes on button press in back.
  561. function back_Callback(hObject, eventdata, handles)
  562. % hObject    handle to back (see GCBO)
  563. % eventdata  reserved - to be defined in a future version of MATLAB
  564. % handles    structure with handles and user data (see GUIDATA)
  565. global Image
  566. global changedImage
  567. changedImage=Image;
  568. imshow(changedImage,'parent',handles.changed);
  569. % --- Executes during object creation, after setting all properties.
  570. function original_CreateFcn(hObject, eventdata, handles)
  571. % hObject    handle to original (see GCBO)
  572. % eventdata  reserved - to be defined in a future version of MATLAB
  573. % handles    empty - handles not created until after all CreateFcns called
  574. % Hint: place code in OpeningFcn to populate original
  575. % --------------------------------------------------------------------
  576. function edit_Callback(hObject, eventdata, handles)
  577. % hObject    handle to edit (see GCBO)
  578. % eventdata  reserved - to be defined in a future version of MATLAB
  579. % handles    structure with handles and user data (see GUIDATA)
  580. % --------------------------------------------------------------------
  581. function HELP_Callback(hObject, eventdata, handles)
  582. % hObject    handle to HELP (see GCBO)
  583. % eventdata  reserved - to be defined in a future version of MATLAB
  584. % handles    structure with handles and user data (see GUIDATA)
  585. % --------------------------------------------------------------------
  586. function GOback_Callback(hObject, eventdata, handles)
  587. % hObject    handle to GOback (see GCBO)
  588. % eventdata  reserved - to be defined in a future version of MATLAB
  589. % handles    structure with handles and user data (see GUIDATA)
  590. global Image
  591. global changedImage
  592. changedImage=Image;
  593. imshow(changedImage,'parent',handles.changed);
  594. % --------------------------------------------------------------------
  595. function copy_Callback(hObject, eventdata, handles)
  596. % hObject    handle to copy (see GCBO)
  597. % eventdata  reserved - to be defined in a future version of MATLAB
  598. % handles    structure with handles and user data (see GUIDATA)
  599. global Image
  600. global changedImage
  601. changedImage=Image;
  602. % --------------------------------------------------------------------
  603. function paste_Callback(hObject, eventdata, handles)
  604. % hObject    handle to paste (see GCBO)
  605. % eventdata  reserved - to be defined in a future version of MATLAB
  606. % handles    structure with handles and user data (see GUIDATA)
  607. global Image
  608. global changedImage
  609. imshow(changedImage,'parent',handles.changed);
  610. % --------------------------------------------------------------------
  611. function userguide_Callback(hObject, eventdata, handles)
  612. % hObject    handle to userguide (see GCBO)
  613. % eventdata  reserved - to be defined in a future version of MATLAB
  614. % handles    structure with handles and user data (see GUIDATA)
  615. open('user_guide.pdf');
  616. % --------------------------------------------------------------------
  617. function related_Callback(hObject, eventdata, handles)
  618. % hObject    handle to related (see GCBO)
  619. % eventdata  reserved - to be defined in a future version of MATLAB
  620. % handles    structure with handles and user data (see GUIDATA)
  621. msgbox(sprintf(['        程序:图像增强','n','程序作者:房磊  汪滢  李彤','n','               谢谢使用']),'关于');