Zhang's Wikipedia

玩就玩大的

图像几何变换(geometric transformation)

1. imwarpB = imwarp(A,tform) demoI = imread('cameraman.tif'); tform = affine2d([1 0 0; .5 1 0; 0 0 1]); % x ⇒ x+0.5*y % y ⇒ y J = imwarp(I,tf...

2017-06-27 08:25:16

阅读数:717

评论数:0

magnify.m —— 图像局部放大镜工具函数

magnify.m 函数下载地址:magnify - File Exchange - MATLAB Central;magnify.m 函数在执行时,是一种交互式处理。简单演示如下:clear, clc% 加载图像到内存,如读取matlab自带的图像,并将其显示出来 I = imread('po...

2017-06-13 09:48:23

阅读数:1390

评论数:0

matlab 辅助函数 —— 文件下载与文件解压

0. 可读性的提升为了提升代码的交互友好性,可在代码执行一些耗时操作时,显示地输出一些文本信息,以显示进度:fprintf('Downloading xxfilename...\n') urlwrite('', 'xxfilename')fprintf('Unzipping ...\n') unz...

2017-05-07 16:35:27

阅读数:2282

评论数:0

matlab 文件路径问题

1. fullfile:路径补全f = fullfile(filepart1,...,filepartN)显然可变参数之间填充的路径分隔符(path separator),会根据操作系统而变化: windows:/ Linux:\ 2. fileparts:路径拆分[pathstr,name,ex...

2017-05-06 11:45:22

阅读数:506

评论数:0

matlab 音频处理、Python音频处理

1. 读取与播放load gong.mat; % y 42028x1 double soundsc(y); % 可调节其频率 soundsc(y, 2*Fs); 读取 .wav 等音频:audioread() 也可通过数字的方式仿真出一段声音:N=10000; s=zeros(N...

2017-05-01 23:07:02

阅读数:791

评论数:0

matlab 高级函数 —— colfilt/blockproc (图像)矩阵的分块处理

colfilt 执行功能与 blockproc/nlfilter 类似,但效率更高。 B = colfilt(A,[m n],block_type,fun),block_type:distinct/sliding 两种,该函数的内部蕴藏着十分丰富的处理,对得到的快,先转换为一个列,调用传递进来的函...

2017-03-03 12:08:49

阅读数:4668

评论数:0

matlab 高级函数 —— circshift、squeeze

circshift:顾名思义,循环移动,循环的意义在于,移出的数据不丢失,而是来到队列的首部位置,也即其实是将原始序列视为一种圆环。 1. 基本用法 Y = circshift(A,K) Y = circshift(A,K,dim) circshift(1:10, 3) 8 9 ...

2017-03-03 11:53:06

阅读数:1689

评论数:0

Matlab Tricks(三十) —— 任意区间的均匀分布

matlab 的内置函数 rand返回的是 0-1 区间上的均匀分布,rand的参数多是用于设置返回的矩阵的维度大小。如果要得到 (a, b) 区间上的均匀分布,只需对其做简单的线性变换即可:a+(b−a)⋅rand 当然对于区间关于 y 轴对称的均匀分布( (-a, a))有可进一步化简为:

2017-03-01 11:49:22

阅读数:4165

评论数:0

Matlab Tricks(二十九) —— 使用 deal 将多个输入赋值给多个输出

deal:Distribute inputs to outputs; >> [id, name, data] = deal(123, 'zhang', randn(3)) [Y1, Y2, Y3, …] = deal(X); [Y1, Y2, Y3, …] = deal(X1, X2,...

2017-01-17 22:39:41

阅读数:728

评论数:0

Matlab Tricks(二十八)—— 笛卡尔积的实现

笛卡尔积在数学上是一种二元关系。 现有两向量:>> p = [1, 5, 10]; >> q = [.75, .85, .95]; 倘若我们想得到如下的二元组(也即对两向量做了一次笛卡尔积)构成的矩阵:

2017-01-04 12:25:29

阅读数:2399

评论数:0

matlab Tricks(二十七)—— 可变输入参数输出参数的适配

matlab 内置的对 varargin/varargout(nargin/nargout)的支持,使得 matlab 的输入参数和输出参数,有了更为灵活的传递和使用:比如对于 matlab 原生支持的 randn 标准高斯分布来说,但不传递任何参数时,其仅返回一个元素,当传递进一个参数时,返回的...

2016-12-20 11:26:42

阅读数:472

评论数:0

matlab 矢量化编程(四)—— 标量函数转化为能够处理矢量的函数

1. 组合的矢量实现nchoosek(n, k) 的第二个参数在 matlab 下是不支持矢量化的,必须是标量形式。但 matlab 下的 gamma 函数,却可支持,矢量形式,又因为,gamma 函数与 阶乘的关系:

2016-12-20 10:23:28

阅读数:1384

评论数:0

matlab 高阶(二) —— 数值、溢出问题的解决

gammaln() 在处理上溢和下溢方面要比 log(gamma()) 更好; log1p() (1 plus)对于较小的 x 值时,log1p(x) 要比 log(1+x) 更为精确;当 x 取值很小时,log1p(x) ⇒ x,log(1+x) ⇒ 0log1p(-.99) ⇒ log(.01)

2016-12-19 20:48:47

阅读数:1862

评论数:0

matlab 排列组合

1. (nk)\binom{n}k nchoosek:>> nchoosek(5, 4)

2016-12-19 17:29:46

阅读数:654

评论数:0

Matlab Tricks(二十六)—— 置乱(随机化)与恢复(shuffle/permutation & restore)

x = 1:10; n = length(x); perm = randperm(n); x_perm = x(perm); % x_perm 表示置乱后的结果 x_ori(perm) = x_perm; % x_ori 对置乱后的结果进行恢复

2016-12-10 11:36:18

阅读数:1657

评论数:0

matlab 高阶(一) —— assignin与evalin

1. assignin assignin(ws, ‘var’, val) 将 val 值赋值给 ws 空间中的 var 变量,注意这里的变量,必须是 array 类型,而不可以是包含下标索引,如果在指定的空间中,不存在该var变量,就创建之。常用的 workspace 有以下两个:

2016-12-10 11:17:46

阅读数:3180

评论数:0

matlab 警告(warning)、错误(error)、异常(exception)与断言(assert)

1. warning(警告)warning('off', '*:*:*'); 2. 异常 try,catch

2016-12-09 20:49:21

阅读数:3844

评论数:0

Matlab Tricks(二十五) —— 二维图像的 shuffle

比如对于 mnist (手写字符图像),每幅图像的像素点为 28*28,所以有:perm = randperm(28*28); % 重排列 mnist.train_images = reshape(mnist.train_images, [28*28 60000]); ...

2016-12-09 18:24:25

阅读数:473

评论数:0

matlab 类型转换(类型判断)

im2double(): 将 intensity image (0-255,uint8 的整型类型)转换为 0-1 的 double 类型(double precision,双精度);

2016-11-30 16:45:44

阅读数:8832

评论数:0

matlab 各种文件的读取(及读写问题的解决)

1. 音频 wav 文件等:audioread()

2016-11-22 10:40:03

阅读数:3023

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭