有关blkproc 命令的使用

(2011-07-31 09:52:57)

标签:

杂谈

分类: matlab使用

如果你让matlab帮你计算最好的块大小,用bestblk函数,
[MB,NB] = BESTBLK([M N],K) 可以得到分块之后的行数和列数,
乘一下就是块数

命令:blkproc   从matlab2009开始用 blockproc
功能:对图像进行分块处理
函数调用形式: B = blkproc(A,[m n],fun, parameter1, parameter2, ...)
B = blkproc(A,[m n],[mborder nborder],fun,...)
B = blkproc(A,'indexed',...)

参数解释:

[m n] :图像以m*n为分块单位,对图像进行处理(如8像素*8像素)

Fun:   应用此函数对分别对每个m*n分块的像素进行处理

parameter1, parameter2: 要传给fun函数的参数

mborder nborder:对每个m*n块上下进行mborder个单位的扩充,左右进行nborder个单位的扩充,扩充的像素值为0,fun函数对整个扩充后的分块进行处理。

例:

一个矩阵,比如
[1 2 3 4 5 6 7 8 ;
9 10 11 12 13 14 15 16;
17 18 19 20 21 22 23 24;
25 26 27 28 29 30 31 32]

要每4元素求和,比如
[1 + 2 + 9 +10 3+4+11+12 5+6+13+14 7+8+15+16 ;
17+18+25+26 19+20+27+28 21+22+29+30 23+24+31+32]
得出一新的矩阵。

采用blkproc命令,按块执行某函数。
首先你需要自己新建一个函数sum2.m(2维求和函数)
其内容是
function y=sum2(x)
y=sum(sum(x));

然后就可以利用blkproc命令完成你的任务。
B=blkproc(A,[2 2], 'sum2')

fun=@sum2; fun='sum2';
B=blkproc(A,[2 2], fun)
 
得到
B =

22 30 38 46
86 94 102 110

(1)打马赛克程序:

I = imread('rice.png');
fun = @(x) std2(x)*ones(size(x));      %此处的x表示被处理的那个矩阵
I2 = blkproc(I,[32 32],fun);
imshow(I), figure, imshow(I2,'DisplayRange',[])
 
(2)分块取阈值程序:

I = imread('rice.png');
fun = @(x)im2bw(x,graythresh(x));
I2 = blkproc(I,[32 32],fun);
imshow(I), figure, imshow(I2,'DisplayRange',[])

matlab blkproc的更多相关文章

  1. matlab函数大全

    Matlab 图像处理相关函数命令大全 一.通用函数: colorbar  显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ col ...

  2. matlab处理图像代码

    1.图像的读取MATLAB中从图像文件中读取数据用函数imread(),这个函数的作用就是将图像文件的数据读入矩阵中,此外还可以用imfinfo()函数查看图像文件的信息(见例1)%例1:图像数据及图 ...

  3. Matlab图像处理入门

    1. Matlab基础 1.1     数据格式 Matlab默认的数据格式为双精度浮点数的矩阵或数组,同时支持其它数据类型.Matlab将单变量看作1´1的数组.Matlab支持的数据类型如下: 索 ...

  4. MATLAB图像处理函数汇总(二)

    60.imnoise 功能:增加图像的渲染效果. 语法: J = imnoise(I,type) J = imnoise(I,type,parameters) 举例 I = imread('eight ...

  5. MATLAB图像处理函数汇总(一)

    1.applylut功能: 在二进制图像中利用lookup表进行边沿操作.语法:A = applylut(BW,lut)举例lut = makelut('sum(x(:)) == 4',2);BW1 ...

  6. matlab图像处理

    matlab图像处理 转自:http://www.cnblogs.com/lovebay/p/5094146.html 1. 图像和图像数据 缺省情况下,MATLAB将图像中的数据存储为双精度类型(d ...

  7. 图像压缩编解码实验(DCT编码+量化+熵编码(哈夫曼编码))【MATLAB】

    课程要求 Assignment IV Transform + Quantization + Entropy Coding Input: an intra-frame or a residue pict ...

  8. MATLAB基础指令操作

    由于课程实验需要学习使用了MATLAB,在此记录一下MATLAB的基本操作和命令,供参考与查阅. 学习过程中的资料也链接如下: MATLAB矩阵运算:https://wenku.baidu.com/v ...

  9. 个人笔记 - MATLAB

    1.教程 2.基本知识 2.1 帮助文档设置成中文:链接1 2.2 多行注释: 链接1 2.3 MATLAB基本数据类型: 链接1  链接2 2.4 matlab中的 ndims(a).length( ...

随机推荐

  1. Css_Backgroud-position(背景图片)定位问题详解

    background-position的说明:    设置或检索对象的背景图像位置.必须先指定 background-image 属性.该属性定位不受对象的补丁属性( padding )设置影响.   ...

  2. drupal 2016-11-3

    我随意定义了一个hook menu发现里面的内容很快就加入到了navigation menu里面.

  3. [转]Android 5.0——Material Design详解(动画篇)

    Material Design:Google推出的一个全新的设计语言,它的特点就是拟物扁平化. Material Design包含了很多内容,今天跟大家分享一下Material新增的动画: 在Andr ...

  4. 多路由器环境下路由器的入口IP地址及DHCP设置探讨

    多路由器环境下路由器的入口IP地址及DHCP设置探讨 这里把路由器的LAN口管理IP地址称为路由器的入口地址,把直接接入互联网的路由器称为主路由器,其他路由器称为从路由器.在多路由器环境下路由器的设置 ...

  5. 按键精灵 句柄 获得句柄 控制windows窗口 后台

    新建一个文本文档,打开,Windows就会给这个文本文档的窗口临时分配唯一的一串数字来标识这个窗体,以区别于其他窗口,这串数字就叫句柄.   因为句柄是临时随机分配的,所以每次虽然是打开同一个文件,但 ...

  6. Shader中贴图知识汇总: 漫反射贴图、凹凸贴图、高光贴图、 AO贴图、环境贴图、 光照纹理及细节贴图

    原文过于冗余,精读后做了部分简化与测试实践,原文地址:http://www.j2megame.com/html/xwzx/ty/2571.html   http://www.cnblogs.com/z ...

  7. robotframework笔记18

    测试执行 如何创建测试套件结构解析 执行测试数据,如何继续执行一个测试用例失败后, 以及如何优雅地停止整个测试执行. 执行流 执行测试套件和 总是在一个测试套件执行测试用例. 一个测试套件 创建从一个 ...

  8. robotframework笔记16

    发布处理具有相同名称的关键字 使用机器人框架要么是关键词 图书馆 关键字 或 用户的关键字 . 前来自 标准 库 或 外部库 ,后者 中创建相同的文件在使用或进口 资源文件 . 许多关键字使用时,是很 ...

  9. hibernate执行sql的三种方式

    方式一:直接使用HibernateTemplate的find()方法,find方法支持执行hql语句 List<T> list = this.getHibernateTemplate(). ...

  10. js--题目二

    //如何获取下面代码所有元素. <form> <input name="" type="text" /> <input name= ...