一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
完整代码已上传我的资源:【图像重建】基于matlab GUI投影法图像重建【含Matlab源码 861期】

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、部分源代码

unction varargout = chongjian(varargin)
% CHONGJIAN MATLAB code for chongjian.fig
%      CHONGJIAN, by itself, creates a new CHONGJIAN or raises the existing
%      singleton*.
%
%      H = CHONGJIAN returns the handle to a new CHONGJIAN or the handle to
%      the existing singleton*.
%
%      CHONGJIAN('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in CHONGJIAN.M with the given input arguments.
%
%      CHONGJIAN('Property','Value',...) creates a new CHONGJIAN or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before chongjian_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to chongjian_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help chongjian% Last Modified by GUIDE v2.5 22-Mar-2020 18:21:37% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...'gui_Singleton',  gui_Singleton, ...'gui_OpeningFcn', @chongjian_OpeningFcn, ...'gui_OutputFcn',  @chongjian_OutputFcn, ...'gui_LayoutFcn',  [] , ...'gui_Callback',   []);
if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});
endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
elsegui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT% --- Executes just before chongjian is made visible.
function chongjian_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 chongjian (see VARARGIN)
axes(handles.axes1);
imshow([255]);
axes(handles.axes2);
imshow([255]);
axes(handles.axes3);
imshow([255]);
% Choose default command line output for chongjian
handles.output = hObject;% Update handles structure
guidata(hObject, handles);% UIWAIT makes chongjian wait for user response (see UIRESUME)
% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.
function varargout = chongjian_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)% Get default command line output from handles structure
varargout{1} = handles.output;% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
global tu
axes(handles.axes1)
[filename,pathname]=uigetfile({ ...'*.*','All Files(*.*)';},...'选择文件');
%
if isequal([filename,pathname],[0,0])return
else%读取图片pic = fullfile(pathname,filename);b = imread(pic);imshow(b);%上面是打开图片的步骤,这一句是显示图片tu=b;title('原始图像');%handle.axes1=b;
end
% hObject    handle to pushbutton1 (see GCBO)
% 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 pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
global tu
global tu2
P = tu;[N,N]=size(P);%先进行自定义radon变换------------------------------------------------------------
thm=45;                %45度时会出现最大尺寸
pre = imrotate(P,thm);
[mmax,nmax] = size(pre);
s=1;
%创建一个180*nmax的空白图片,用以存储投影后的线状图片
Final = zeros(180/s,nmax);%这里180代表180角度,每个角度投影成为一条线
t = 1;
for theta = 1:s:179
Protate = imrotate(P,theta);    %对原图旋转一个角度,求和(线积分)
Pf = sum(Protate,1);
[mreal,nreal]=size(Pf);           %计算实际尺寸
%确定起始点
if (nmax - nreal)/2-floor((nmax - nreal)/2) == 0From = floor((nmax - nreal)/2 + 1);%总点数为偶数时elseFrom = floor((nmax - nreal)/2) + 1;%总点数为奇数时end%结果文本显示------------------------------------------------------------
% o=ones(500,1000);
% subplot(2,3,6);
% imshow(o,[]);
% s_title=['图像重建精度判据如下:'];
% text(0,0,s_title,'Fontsize',14);
% s=num2str(toc);
% s_one=['run time = ' s ' s;'];
% text(0,100,s_one,'FontSize',10);
% s=num2str(evaluate_d);
% s_two=['归一化均方距离判据d=' s ';'];
% text(0,200,s_two,'Fontsize',10);
% s=num2str(evaluate_r);
% s_three=['归一化平均绝对距离判据r=' s ';'];
% text(0,300,s_three,'Fontsize',10);
% s=num2str(evaluate_e);
% s_four=['最坏情况距离判据e=' s ';'];
% text(0,400,s_four,'Fontsize',10);
% toc% hObject    handle to pushbutton2 (see GCBO)
% 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 pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
global tu2
axes(handles.axes3);
imshow(tu2);
title('投影重建后的图像');
% hObject    handle to pushbutton3 (see GCBO)
% 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 pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)
axes(handles.axes1);
imshow([255]);
axes(handles.axes2);
imshow([255]);
axes(handles.axes3);
imshow([255]);
% hObject    handle to pushbutton4 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

【图像重建】基于matlab GUI投影法图像重建【含Matlab源码 861期】相关推荐

  1. 【光学】基于matlab GUI杨氏双缝干涉【含Matlab源码 001期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI杨氏双缝干涉[含Matlab源码 001期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...

  2. 【人脸识别】基于matlab GUI人数统计【含Matlab源码 2121期】

    ⛄一.人数统计简介(附课程作业报告) 1 课题背景 本课题为基于matlab的人数统计系统.近年来,很多行业对人流信息有极大的需求,如汽车公交站,地铁站台,商场出入口等.通过人数统计系统可以方便.可靠 ...

  3. 基于SSM的仓库管理系统(含完整源码+论文)

    后端框架:SSM 数据库:MySQL 开发工具:IDEA/Eclipse 系统介绍:本系统是基于SSM框架进行设计,MySQL作为底层数据库,前端采用bootstrap 模块大致介绍:包括库存管理.出 ...

  4. 【条形码识别】基于matlab GUI二维条形码识别【含Matlab源码 607期】

    ⛄一.二维条形码识别简介 采用数字图像处理技术对二维条码进行识别, 是二维条形码识别中较常用的方法, 它在处理污损的条形码方面有光电识别方法无法比拟的优势.另外图像式识别方法对识别角度的要求没有光电识 ...

  5. 【心电信号】基于matlab GUI心电信号预处理【含Matlab源码 938期】

    ⛄一.心电信号预处理方法简介 理论知识参考文献:心电信号预处理方法研究 ⛄二.部分源代码 function varargout = kaishi(varargin) gui_Singleton = 1 ...

  6. matlab svm 语音识别,【情感识别】基于matlab支持向量机(SVM)的语音情感识别【含Matlab源码 543期】...

    一.简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本.非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数 ...

  7. 【图像重建】基于matlab布雷格曼迭代算法集合ART算法CT图像重建【含Matlab源码 1905期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像重建]基于matlab布雷格曼迭代算法集合ART算法CT图像重建[含Matlab源码 1905期] 获取代码方式2: 通过订阅紫极神光 ...

  8. 【光学】基于matlab GUI光栅条纹投影生成【含Matlab源码 2118期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI光栅条纹投影生成[含Matlab源码 2118期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2 ...

  9. 【光学】基于matlab GUI矩阵法和等效界面法光学薄膜对反射率影响【含Matlab源码 2102期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI矩阵法和等效界面法光学薄膜对反射率影响[含Matlab源码 2102期] 点击上面蓝色字体,直接付费下载, ...

  10. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

最新文章

  1. 一个“复制/删除”方式的滚动
  2. Google App Engine技术架构之Google App Engine架构
  3. 阿里Java开发规约(2)
  4. javascript中的this
  5. @ 在 C# string 中的用法
  6. WebService学习笔记系列(四)
  7. Linux 一切皆文件认知
  8. vba 正则表达式_VBA中正则表达式与数组结合的应用案例
  9. 【终终极版】linux(Ubuntu)下wineQQ的安装办法
  10. 从零开始搭建物联网平台(三)数模设计
  11. Android人脸支付功能,人脸支付是未来吗?盘点安卓人脸支付手机,小米看后很尴尬…...
  12. 畅购9-Spring Security Oauth2 JWT
  13. 社会工程学之从微信取名看性格
  14. vue 使用高德地图插件 vue-amap
  15. office 在线预览
  16. uniapp公共测试证书签名
  17. Java开发面试题目,Java面试网络问题
  18. ChatGPT进化的秘密
  19. Android-Notes|BottomNavigationView-爱上-Lottie,android高级开发面试题
  20. IOS手机安装旧版APP(不要问我为什么安装旧版,有的旧版功能更强大)

热门文章

  1. 团队选题报告(团队)
  2. 单层感知机实现或运算
  3. poj1273:Drainage Ditches
  4. P2668 斗地主 贪心+深搜
  5. 封装判断一个字符的后缀名和前缀的方法
  6. dstat 性能监测工具
  7. Ghost命令使用方法
  8. 大叔手记(2):为每个应用程序池单独设置aspnet.config配置文件
  9. directx9又更新了。
  10. opencv学习笔记1:图片灰度化