我在MATLAB中有一个图像:

y = rgb2gray(imread('some_image_file.jpg'));

我想做一些处理:

pic = some_processing(y);

并找到输出的本地最大值。也就是说,y中的所有要点都大于所有邻居。

我似乎找不到一个很好的MATLAB函数。我能想出的最好的是:

[dim_y,dim_x]=size(pic);

enlarged_pic=[zeros(1,dim_x+2);

zeros(dim_y,1),pic,zeros(dim_y,1);

zeros(1,dim_x+2)];

% now build a 3D array

% each plane will be the enlarged picture

% moved up,down,left or right,

% to all the diagonals, or not at all

[en_dim_y,en_dim_x]=size(enlarged_pic);

three_d(:,:,1)=enlarged_pic;

three_d(:,:,2)=[enlarged_pic(2:end,:);zeros(1,en_dim_x)];

three_d(:,:,3)=[zeros(1,en_dim_x);enlarged_pic(1:end-1,:)];

three_d(:,:,4)=[zeros(en_dim_y,1),enlarged_pic(:,1:end-1)];

three_d(:,:,5)=[enlarged_pic(:,2:end),zeros(en_dim_y,1)];

three_d(:,:,6)=[pic,zeros(dim_y,2);zeros(2,en_dim_x)];

three_d(:,:,7)=[zeros(2,en_dim_x);pic,zeros(dim_y,2)];

three_d(:,:,8)=[zeros(dim_y,2),pic;zeros(2,en_dim_x)];

three_d(:,:,9)=[zeros(2,en_dim_x);zeros(dim_y,2),pic];

然后看看第三层的最大值是否出现在第一层(即:three_d(:,:,1))中:

(max_val, max_i) = max(three_d, 3);

result = find(max_i == 1);

有没有更优雅的方式来做到这一点?这似乎是一个肮脏的一点。

matlab 像素最大值,如何在MATLAB中的图像中找到局部最大值?相关推荐

  1. matlab 对话框保持,如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?)...

    如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?) 我想在matlab中创建输入对话框. 我在MATLAB中执行简单的加法运算. ...

  2. 二次函数 用matlab,这个二次函数如何在MATLAB中拟合出来?

    这个二次函数如何在MATLAB中拟合出来? 关注:278  答案:2  手机版 解决时间 2021-01-15 20:02 提问者夕阳再美ソ也会落幕 2021-01-15 17:12 (q+1/1.1 ...

  3. 扫描电镜图片的Matlab分析,基于Matlab的图像增强与复原技术在SEM图像中的应

    0引  言 根据国内外的相关文献,研究和发展图像处理工具,改善图像质量是当今研究的热点.图像增强与复原是一种基本的图像处理技术.其按照特定的需要突出一幅图像中的某些信息或强化某些感兴趣的特征,将原来不 ...

  4. java matlab 矩阵_如何在MATLAB中将函数应用于矩阵的每一行/列?

    你可能想要更模糊的Matlab函数bsxfun . 从Matlab文档中,bsxfun "applies the element-by-element binary operation sp ...

  5. 利用matlab提取水印,怎么在含有水印的图像中提取出水印

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 %水印嵌入代码 M = 256;%原始图像长度 N = 32; %水印图像长度 K = 8; I = zeros(M, M); J = zeros(N, ...

  6. python获取图片像素矩阵_用python处理图片实现图像中的像素访问

    这篇文章主要介绍了关于用python处理图片实现图像中的像素访问,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 前面的一些例子中,我们都是利用Image.open()来打开一幅图像,然 ...

  7. python像素大于_用python处理图片实现图像中的像素访问

    前面的一些例子中,我们都是利用Image.open()来打开一幅图像,然后直接对这个PIL对象进行操作.如果只是简单的操作还可以,但是如果操作稍微复杂一些,就比较吃力了.因此,通常我们加载完图片后,都 ...

  8. linux中查看隐藏文件夹_如何在Linux中隐藏图像中的文件或文件夹

    linux中查看隐藏文件夹 If other people use your Linux PC from time to time, you can hide files and folders fr ...

  9. python ndarray find_python – 从存储在NumPy ndarrays中的图像中查找特定(R,G,B)颜色值的(x,y)索引...

    我有一个存储在numpy数组中的图像,由imread()产生: >>> ndim array([[[ 0, 0, 0], [ 4, 0, 0], [ 8, 0, 0], ..., [ ...

  10. 使用 OpenCV 在 Python 中检测图像中的形状

    OpenCV 是一个开源库,主要用于处理图像和视频以识别形状.对象.文本等.它主要与 python 一起使用.在本文中,我们将了解如何检测图像中的形状.为此,我们需要OpenCV 的cv2.findC ...

最新文章

  1. 请你要幸福 这是 你唯一能为我做到的
  2. 计算机三级 偏软,计算机三级偏软说明
  3. 1、leetcode209 长度最小的子数组
  4. 如何统计网站用户的停留时间?
  5. bbs php redis,LAMP+redis搭建discuz论坛
  6. 艾伟_转载:.NET 4.0新特性-- Corrupted State Exceptions
  7. Servlet 3的异步Servlet功能
  8. UE4 蓝图RandomStreams
  9. 如何读懂3GPP协议
  10. 美股相关交易规则与业务知识
  11. 京东:亦庄CBD里,南五环“村民”的生活哲学
  12. 思维导图到底是什么-图说思维导图定义
  13. php做引流脚本,极速引流脚本分享火爆的引流脚本效果
  14. Python 3 字符串 ljust( ) 方法
  15. 改进YOLOv5 | 头部解耦 | 将YOLOX解耦头添加到YOLOv5 | 涨点杀器
  16. 2019年ios权限描述文字—所有APP通用版包过App Store审核
  17. 电子计算机储存五次信息革命,人类历史上五次信息革命
  18. expect的使用方法
  19. python接口测试返回数据为字典取值
  20. Chrome浏览器下载失败的解决方法

热门文章

  1. Nginx的access.log日志分析工具-goaccess
  2. DDD-四种业务模型
  3. 魔兽世界服务端端新手搭建教程
  4. 单片机、嵌入式Linux开发大学自学路径
  5. 一卡通管理系统数据库服务器连接失败,一卡通管理系统安装详解
  6. 【153天】尚学堂高淇Java300集视频精华笔记(122-123)
  7. 【名道电商】想做一个电商运营人需要学习什么
  8. 怎么解密PDF文档?这三款解密方法亲测实用
  9. Linux配置NAT网络
  10. 如何在Mac上删除iPhone和iPad iCloud备份?