MATLAB
lenatu
信息与通信工程硕士研究生
主要方向:图像处理、信息隐藏、图像安全、新能源汽车、电子电气等。
主要语言:matlab、python等
展开
-
[已经解决+步骤明白]Matlab连结Mysql显示:未定义与“structu”类型的输入参数相对应的函数‘fetch’。
Matlab连结Mysql未定义与“structu”类型的输入参数相对应的函数‘fetch’已经解决提供下载链接原创 2022-03-24 18:29:21 · 2307 阅读 · 1 评论 -
MATLAB 使用多项式和四参数方程进行曲线拟合
使用三次多项式进行曲线拟合clc; clear; close all;data_mer = xlsread('data_0926.xlsx',1,'AE4:BA103');var = 1:1:100;var = var';[H L] = size(data_mer);dt1 = data_mer(:,1);plot(var,dt1,'r*')p=polyfit(var,dt1,3)x2 = 1:.1:100; y2 = polyval(p,x2); plot(va原创 2021-09-26 09:08:28 · 4881 阅读 · 0 评论 -
Matlab 使用多项式和自定义的公式进行曲线拟合
有数据如下,对其进行曲线拟合:x=[0;0.4;1.2;2;2.8;3.6;4.4;5.2;6;7.2;8;9.2;10.4;11.6;12.4;13.6;14.4;15];y=[1;0.85;0.29;-0.27;-0.53;-0.4;-0.12;0.17;0.28;0.15;-0.03;-0.15;-0.071;0.059;0.08;0.032;-0.015;-0.02];实验结果:使用二次多项式进行曲线拟合close all;clc;clear;x=[0;0.4;1.2;2;2.8;原创 2021-09-26 08:52:49 · 6319 阅读 · 0 评论 -
matlab 对图像进行批量剪切
如:将图像“ocean.jpg”切割成10*10=100张小图,并保存。切割后的效果:代码:% ********************************************************% Filename : cut_sekuai% Author : 批量截图% Description : 将一个10X10的图CUT成各个小块% Revision : 2021/09/08% **********************************原创 2021-09-08 15:53:56 · 3654 阅读 · 0 评论 -
matlab 中disp 和 sprintf 的区别和用法
区别测试disp函数:可以直接将要显示的字符放入括号中,进行表达;sprintf函数:不可以直接将字符放入括号中;sprintf函数:其表达格式为:sprint(‘%d’,a);其中%d为数字,%s为字符串。代码:sprintf(‘%d’,age)sprintf(‘%s’,name)sprintf表达,会将字符加上单引号,而用disp表达这不会有单引号。如何搭配disp,去掉sprintf的单引号呢(‘ ’)?先用sprintf( ) 得到带引号的表达式,然后再用disp()直接显示。原创 2021-09-02 10:28:41 · 3311 阅读 · 0 评论 -
MATLAB 将处理得到的矩阵数据,循环写入.xlsx文件
在matlab处理中,有时候会循环计算和处理数据,每一步都会得到新的结果,我们需要将每一步的结果写入到.xlsx文件中。例:读取一个文件夹内100张图,分别计算其R、G、B三个通道的平均值,然后将平均值记录下来。比如:将循环处理的New_RGB值写入到一个新的文件中a.xlsx代码:% 获取RGB的平均值clc;close all;tic;% 读取数据file_path = '.\10X10\ave_blums\';% 图像文件夹路径 img_path_list = dir(s原创 2021-09-01 16:17:50 · 4874 阅读 · 0 评论 -
Matlab 如何生成一个[a,b]范围内随机整数的2种方法【已经解决】
如何使用MATLAB生成一个[a,b]范围内的随机整数比如:随机生成[9,13]范围内的一个(或多个)整数~我搜索了网上很多博客,介绍的无外乎是:要不就是0-x的,要不就是1-y范围的。比如:randint() 这个函数高版本的matlab不能用了randi() 这个我搜索了没有相关详细的介绍randn()randperm(n) 等等但是始终无法得到想要的范围[a,b]内的随机整数。比如我想得到一个[9,13]范围内的随机整数。rand(9,13)rand()函数生成原创 2021-08-06 21:39:24 · 74641 阅读 · 3 评论 -
Matlab如何读取.xlsx或者矩阵的间隔x的行或列的数据
如何读取excel或者矩阵的1-5-9-13(4的倍数行或者列)?或者第4-8-12-16-…行或者列?%有矩阵数据如: 205 213 232 85 -1 -11 24 14 2 0 22 25 29 9 -1 -4 82 73 60 79 61 69 82 29 -2 -10 77 64 46 36 43 4原创 2021-08-06 10:05:32 · 4725 阅读 · 3 评论 -
MATLAB 批量读取图像,修改指定尺寸,批量保存
·读取一个文件夹内的所有图片·依次修改每张图的尺寸(也可以进行其他的图像处理)·批量保存图像代码为:file_path = '.\RGB25\';% 图像文件夹路径 img_path_list = dir(strcat(file_path,'25_*.tif'));save_path = '.\new_img0729\' %另存为新的文件夹中%dir 列出当前文件夹中的文件信息img_num = length(img_path_list)%获取图像总数量fprintf('正在读取的原创 2021-07-29 09:52:04 · 1818 阅读 · 0 评论 -
Matlab 和 Python保存成指定分辨率图像方法
有时候我们会使用Matlab和Python进行图像处理,其中,我们需要将图像按照我们需要的分辨率进行保存。使用Matlab进行指定分辨率的保存imwrite(img,'img_new.tif','resolution',[600,600]);使用Python进行指定分辨率的保存img.save(r'/save_path/'+str+'.tif',dpi=(600.0,600.0)) ...原创 2021-07-29 09:44:51 · 2339 阅读 · 0 评论 -
关于归一化的数学原理
有时候我们需要对数据范围进行归一化,比如灰度归一化等。那么归一化背后的数学推导和原理是什么呢?我们需要将左边的范围“归一化”至右边的范围,反之亦然。左边:min=b;max=a;range_zuo=a-b;右边:min=d;max=c;range_zuo=c-d;如何保证左边归至右边的过程是等比例的呢?即:已知初始范围中的a1数值,映射到最终范围的x为?解释:a1∈[b,a],a1在b~a之中,b为最小值,a为最大值。(a1-b)/(a-b)表示b到a1的长度占整个初始范原创 2021-07-23 11:12:32 · 2240 阅读 · 0 评论 -
Matlab 中min(),min(min()),max(),max(max())的介绍和分析
min释义:max释义:在matlab中,min和max可以用于求数值中的最小或最大值。如:>> A=[1 2 8;4 7 6;2 6 7;5 6 1]A = 1 2 8 4 7 6 2 6 7 5 6 1A为m×n矩阵。min(A):表示的是每一列的最小值,为一个1*n的矩阵>> A=[1 2 8;4 7 6;2 6 7;5 6 1]; min(A)原创 2021-07-23 10:21:04 · 10908 阅读 · 0 评论 -
Matlab 的多种灰度归一化方法代码演示(可以直接运行)
有时候我们需要对一张灰度范围小的 图像进行灰度归一化至[0,1]或[0,255]。测试结果:原图:第一种方法:第二种方法:第三种方法:对灰度归一化的方法主要有三种第一种:归一化至[0,255],编写算法实现代码:%% 读取原图像oriImage = imread('luoxuan.jpg');grayImage = rgb2gray(oriImage);figure;subplot(121);imshow(grayImage);title('grayImage');转载 2021-07-23 09:31:51 · 11563 阅读 · 2 评论 -
Matlab 实现两种读取文件夹内所有图像的方法
使用matlab进行文件夹内所有图片的读取在此,使用两种不同的方法来进行文件的读取,以及验证读取的顺序。(方法1符合大多数人的需求)方法1:使用[路径,特定前缀,序号,后缀]file_path = '.\RGB25\';% 图像文件夹路径 img_path_list = dir(strcat(file_path,'25_*.tif'));%dir 列出当前文件夹中的文件信息img_num = length(img_path_list)%获取图像总数量fprintf('正在读取的图像为:\n原创 2021-07-05 09:27:36 · 26899 阅读 · 13 评论 -
关于matlab的部分使用快捷键
关于matlab的使用快捷键总结【待完善】1:一键缩进全选后: Tab1.1:取消一键缩进的2种方法全选后:1:shift+Tab2:ctrl+i原创 2021-07-05 08:51:54 · 1810 阅读 · 0 评论 -
MATLAB 实现电子版的手写签名
Ques:有时候我们需要在电子文档上实现手写的签名,但是又没有相关的文档,我们应该如何解决这个问题呢?先看看实验结果程序: %% 选取图像 [filename, pathname] = uigetfile({'*.jpg'; '*.bmp'; '*.gif'}, '选择图片'); %没有图像 if filename == 0 return; end %% 读取图像I= imread([pathname, filename]);I= imresize(I,0.5);原创 2021-07-02 12:41:36 · 1342 阅读 · 0 评论 -
matlab 删除行或列时出现:矩阵索引超出删除范围 问题的解决和新思路
删除某些行或者某些列有时候我们需要将读取的.xlsx文件中的某些列或者某些行进行删除,比如存在以下的数据,需要删除第一列相同的前i-1行元素,如下面的第3行。原程序A=xlsread('shunxu_data.xlsx');K = A(:,1);num = length(A)for i = 1:num-1 if K(i) == K(i+1) A(i,:) = []; endendxlswrite('new.xlsx',A,'A:G');但是这样处理的话会报错:原创 2021-05-04 19:49:37 · 9497 阅读 · 1 评论 -
Matlab保存数据时显示:错误使用 imwrite>validataSizes 图像的数据必须少于2^23-1 字节 问题的2种最终解决方法!!!
问题:最近在用matlab对图像进行初处理,由于处理的量级比较大,单张图片据可能超过了正常的处理范围,导致matlab在处理时能处理,但是使用imwrite()进行保存的时候,就显示了:validataSize(data);如下图问题所示:解决方法:%原来的步骤img = imread('path')imwrite(img,'new path')%解决问题的步骤(节省空间,能写出)img = imread('path')img1 = im2uint8(img)imwrite(im原创 2021-03-25 11:14:50 · 4142 阅读 · 3 评论 -
Python如何调用MATLAB!!!附有实例和详细讲解
Python和MATLAB版本Python调用MATLAB的脚本或者函数,只支持少数的Python版本, 2.7、 3.5、3.6.如何知道自己的Python版本?Win+R 输入 cmd ,输入python即可。前面是版本,为Python3.6.6 ,后面是位数,64位,要保证MATLAB与Python都是同等位数,即Python是64位的,MATLAB也必须是64位的,32位的同理。如果Python版本过高怎么办?方法1: 网上找到版本降低的方法,就可以了,很多文章都有写。(注意py原创 2021-03-24 11:07:23 · 36628 阅读 · 31 评论 -
MATLAB怎么批量(循环)读取Excel文件、以及将数据保存为.xlsx
有时候我们需要对某个文件夹或者多个文件夹中的Excel文件进行读取,然后处理。那么怎么实现呢?以一个文件夹下的Excel文件进行读取为例。文件地址:E:\Study of Lab\Coding\Experience DatePhoto\Excel对文件地址下的excel进行批量读取方法为:excel_path= 'E:\Study of Lab\Coding\Experience DatePhoto\Excel\'; %文件夹路径 img_path_list = dir(strcat(ex原创 2020-09-15 15:48:56 · 39383 阅读 · 0 评论 -
一文学会MATLAB GUI设计,多个实例进行超详细的讲解,有代码逻辑和注释
基于MATLAB的可视化GUI界面设计GUI界面的打开:1:打开MATLAB2:在命令行输入>>guide3:选择你所需要创建的GUI,一般为默认4:通过添加你所需要实现的功能5:双击2中的功能块,修改该功能(如按钮,编辑框等)的属性,如String,Tag,Value,ForegroudColor,BackgroudColor等、编辑完成,记得回车(Enter),否则可能会导致修改不成功,Tag值唯一标识,可通过Tag值访问句柄值。6:点击保存后会生成一个.Fig文件,原创 2020-10-24 08:24:33 · 26279 阅读 · 2 评论 -
Matlab 实现GUI界面相应鼠标事件
和C++平台一样,MATLAB也能在GUI设计中写入鼠标事件**功能:**拖动鼠标左键时,在Axes区域画线,松开时不画,再次点击时画线…少数几个需要用到的函数和属性·WindowButtonDownFcn回调函数·Selectiontype属性(判断单击/双击,左键/右键)·Normal左键单击·Alt右键单击(Ctrl+左键)·Open双击·Extend中键(Shift+左键)由于Line对象的父对象为Axes,故而在GUI界面中添加一个Axes对象。首先需要判断:1:我们是否按下原创 2020-10-23 08:23:49 · 13718 阅读 · 3 评论