【Matlab图片剪裁】

2023-11-19

标题Matlab剪裁图片,提取感兴趣部分

问题描述

当需要从一幅图片中提取一些感兴趣的内容时,比如一些细小的文字、图案等,如果从整个图片中直接提取,必然会大大增加计算量,导致处理时间很长,而且多数计算都是无效计算,进而非常消耗资源…

解决办法

从原始图片中剪裁出包含目标信息的区域,使得区域尽可能小,背景尽可能单一,这样可以大大提高图像处理工作的效率。

解决方案

数据载入

filepath = uigetdir('E:\目标文件夹', '对话框标题');
fsep = filesep;		% Windows:\   Linux:/
imageFilePath = strcat(filepath, fsep);		% 图片路径

% 创建Sub1、Sub2文件夹,用于保存剪裁后的图片
filepathLength = length(filepath);
filePathSub = filepath(1:(filepathLength - 10));	% 10为目标图片所在文件夹的文件夹名称字符长度,这里是为了将sub1和sub2两个文件夹与目标图片文件夹建立在同一级目录下
mkdir([filePathSub, 'Sub1']);		%  在filePathSub路径下创建文件夹Sub1
mkdir([filePathSub, 'Sub2']);

filePathSub1 = strcat(filePathSub, 'Sub1\');
filePathSub2 = strcat(filePathSub, 'Sub2\');

剪裁、写图片

imagePathList = dir(strcat(imageFilePath, '*.jpg'));
len = length(imagePathList);

for i = 1 : 1 : len
	image_name = strcat(imageFilePath, num2str(i));
	image_name = strcat(image_name, '.jpg');
	
	img = imread(image_name);
	% 下面参数为[X_min, Y_min, Width, Height]分别表示原始图片的左下角坐标x、y以及截取区域的宽度width和高度height
	imgSub1 = imcrop(img, [0, 30, 200, 50]);
	imgSub2 = imcrop(img, [210, 0, 270, 75]);
	
	image_nameSub1 = strcat(filePathSub1, num2str(i));
	image_nameSub1 = strcat(image_nameSub1 , '.jpg');
	imwrite(imgSub1, image_nameSub1, 'ipg');
	
	image_nameSub2 = strcat(filePathSub2, num2str(i));
	image_nameSub2 = strcat(image_nameSub2 , '.jpg');
	imwrite(imgSub2, image_nameSub2, 'ipg');
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Matlab图片剪裁】 的相关文章

  • 如何使用Matlab提高PSD的分辨率

    我有音频信号 我用 Matlab 读取该信号 并使用 pwelch 获取其 PSD 这是我正在使用的代码 x Fs audioread audioFile wav x x 1 mono xPSD f pwelch x hamming 512
  • 如何读取 10 位原始图像?其中包含 RGB-IR 数据

    我想知道如何从我的 10 位原始 它有 rgb ir 图像数据 数据中提取 RGB 图像 如何使用 Python 或 MATLAB 进行阅读 拍摄时的相机分辨率为 1280x720 室内照片图片下载 https drive google c
  • 在 C/C++ 中调用 MATLAB API

    我刚刚从某处听说 对于数值计算 MATLAB 确实提供了一些用户友好的 API 如果你在 C C 代码中调用这些 API 你可以显着加快计算速度 但我在MATLAB文档中没有找到这样的信息 例如http www mathworks com
  • 这是 `min` 和 `nanmin` 之间的区别; Matlab 中的“max”和“nanmax”?

    Matlab描述nanmin and nanmax像这样 NANMIN最小值 忽略NaNs NANMAX最大值 忽略NaNs 但实际上 min and max ignore NaNs too 那我应该使用哪个 根据我的测试 nanmin a
  • 在 Matlab 中快速加载大块二进制文件

    我有一些相当大的 int16 格式的数据文件 256 个通道 大约 75 1 亿个样本 每个文件约 40 50 GB 左右 它以平面二进制格式编写 因此结构类似于 CH1S1 CH2S1 CH3S1 CH256S1 CH1S2 CH2S2
  • 如何从绘图处理程序中绘图?

    我有绘图的处理程序或图形的处理程序 例子 h plot 1 0 2 10 xx get h xx DisplayName Annotation 1x1 handle Color 0 0 1 LineStyle LineWidth 0 500
  • 优化 MATLAB 代码(嵌套 for 循环计算相似度矩阵)

    我正在 MATLAB 中基于欧几里德距离计算相似度矩阵 我的代码如下 for i 1 N M N is the size of the matrix x for whose elements I am computing similarit
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • 作为动画的八度情节点

    我有以下八度脚本 TOTAL POINTS 100 figure 1 for i 1 TOTAL POINTS randX rand 1 randY rand 1 scatter randX randY hold on endfor 当我运
  • 如何加载具有可变文件名的 .mat 文件?

    select all mat files oar dir oar mat n oar name loop through files for l 1 length oar load pat oar l lt this is the mat
  • 归一化互相关的基础知识

    我正在尝试使用范数校正2 归一化互相关 http en wikipedia org wiki Cross correlation Normalized cross correlation 来自 MATLAB 用于计算发育中胚胎中移动形状的速
  • MATLAB 可执行文件太慢

    我使用以下命令将 MATLAB 程序转换为基于控制台的应用程序deploytool在 MATLAB 中 MATLAB m文件执行大约需要 2 秒 但在我将其转换为可执行文件并调用 exe 执行需要45秒 太长了 我想将 MATLAB 程序与
  • getappdata 在 MATLAB 中返回空矩阵

    我有一段代码 我在其中使用setappdata然后我使用以下方式调用数据getappdata即使它不为空 它也会返回一个空矩阵 我的一段简化代码如下 function edit1 Callback hObject eventdata han
  • 在 Matlab 的命令窗口中获取旧式帮助

    问题的简短版本 在最新版本的 Matlab 中 我在 Windows 上的 R2014b 和 R2015a 中看到过 当您键入help foo你得到一个简要描述 简介函数及其签名 例如 输入help bsxfun产生类似这样的东西 只有更好
  • Python 或 C 语言中的 Matlab / Octave bwdist()

    有谁知道 Matlab Octave bwdist 函数的 Python 替代品 此函数返回给定矩阵的每个单元格到最近的非零单元格的欧几里得距离 我看到了一个 Octave C 实现 一个纯 Matlab 实现 我想知道是否有人必须用 AN
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • 我如何编写一个名为 dedbi 的 MATLAB 函数,它将输入 xtx 作为字符串并返回另一个字符串 xtxx 作为输出。

    dedbi 反转单词 即 a 将被 z 替换 b 将被 y 替换 c 将被 x 替换 依此类推 dedbi 将对大写字母执行相同的操作 即将字符串 A 替换为 Z 将 B 替换为 Y 将 C 替换为 X 依此类推 如果我给函数这个字符串 a
  • 以 2 为底的矩阵对数

    Logm 取矩阵对数 并且log2 取矩阵每个元素以 2 为底的对数 我正在尝试计算冯 诺依曼熵 它涉及以 2 为底的矩阵对数 我该怎么做呢 如果将 以 2 为底 的矩阵指数定义为B expm log 2 A 或者如果您类似地通过特征分解直
  • Numpy 相当于 MATLAB 的 hist [重复]

    这个问题在这里已经有答案了 由于某种原因 Numpy 的 hist 总是返回比 MATLAB 的 hist 少 1 个 bin 例如在 MATLAB 中 x 1 2 2 2 1 4 4 2 3 3 3 3 Rep Val hist x un
  • 获取向量幂的有效方法

    我编写了一个代码 在数值上使用勒让德多项式直至某个高 n 阶 例如 case 8 p 6435 x 8 12012 x 6 6930 x 4 1260 x 2 35 128 return case 9 如果向量x太长这会变得很慢 我发现说之

随机推荐

  • Springboot使用slf4j记录日志

    前言 在项目开发中 记录日志是必做的一件事情 而当我们使用Springboot框架时 记录日志就变得极其简单了 springboot内置了slf4j日志框架 我们只需要添加依赖 做一些简单的配置就ok了 下面 我们就来看看在Springbo
  • python圆的代码:如何使用Python绘制一个圆形

    Python圆的代码可以使用matplotlib库中的Circle函数来实现 Circle函数接受两个参数 一个是圆心的坐标 x y 另一个是圆的半径r 下面是一个简单的Python代码示例 Python圆的代码可以使用matplotlib
  • Matlab连接字符串的方法

    Matlab连接字符串的方法 2011 04 20 13 22 42 转载 标签 杂谈 分类 matlab 在Matlab中 想要将两个字符串连接在一起 有以下的方法 假定有两个字符串 gt gt str1 Iloveyou str2 12
  • 【SQL注入-15】自动化注入案例—以sqli-labs-less9为例(利用sqlmap工具)

    目录 1 前言 2 自动化注入案例 以sqli labs less9为例 2 1 实验平台 2 2 注入前准备 2 3 判断注入点及注入类型 2 3 1 自动判断注入点及注入类型 2 3 2 手动判断注入点及注入点类型 2 4 爆库名 2
  • 云函数部署之网易云

    云函数部署之网易云 云函数 什么是云函数 就是可以让你没有服务器 本地电脑不用下载Python也可以使用这个项目 而且还是白嫖 既解决了很多人部署的麻烦 也给了那些被劝退的朋友回来的勇气 十分钟便可以全部弄完 1 进入云函数 这里拿腾讯云的
  • caffe im2col 详解

    caffe im2col详解 本文讲解的是caffe中卷积过程 众所周知caffe中卷积采用的是im2col和sgemm的方式 网上已经有很多的im2col的讲解 原本不打算写这篇文章 在此不得不吐槽下 网上有不少的讲解caffe im2c
  • redis缓存雪崩、穿透、击穿

    这篇文章我们来了解一下一些redis的高并发问题以及他的解决方法 上图是一个简单的数据查询流程 前台请求 后台先从缓存中取数据 取到直接返回结果 取不到时从数据库中取 数据库取到更新缓存 并返回结果 数据库也没取到 那直接返回空结果 一 r
  • CentOs8 安装 Mysql 8 步骤及问题解决

    1 Mysql数据库采用的版本是Mysql8 在Mysql官方网站 MySQL 下载Mysql安装包 2 安装新版mysql之前 我们需要将系统自带的mariadb lib卸载 执行命令 rpm qa grep mariadb 若检查出系统
  • sql数据库查询

    sql数据库查询要点 查询 在GROUP BY 的后面使用 HAVING指定筛选条件 select from 表 group by 分组条件 having 筛选条件 内连接INNER JOIN 只返回符合条件的值 SELECT FROM t
  • IntelliJ IDEA中如何使用JUnit4

    背景 最近参与了一个Anroid医疗项目 其中项目底层有很多基础类及通讯类 而且很多涉及复杂的字节操作还有多线程同步及状态机处理 这样的项目做一下TDD还是必要的 尽量项目前期把风险降低一些 现在的问题是本人使用的是IntelliJ开发的A
  • 【JavaScript 逆向】猿人学 web 第十八题:jsvmp,洞察先机

    案例目标 网址 第十八题 jsvmp 洞察先机 猿人学 本题目标 抓取 5 页数字 计算加和并提交结果 常规 JavaScript 逆向思路 一般情况下 JavaScript 逆向分为三步 寻找入口 逆向在大部分情况下就是找一些加密参数到底
  • 2019 icpc西安邀请赛 点分治

    https nanti jisuanke com t 39277 求 sum 异或和为0的路径 被其他路径包含的次数 如果只是求异或和为0的路径数量 其实是裸点分治 但是加上要求之后 就会复杂一些 进行分类讨论 再特殊处理根节点就行 由于信
  • Unraid使用记录:使用Docker与虚拟机

    文章目录 前言 使用Docker 使用示例 相关说明 使用虚拟机 使用示例 相关说明 硬件直通 后记 前言 Unraid本身功能挺少的 很多功能都是要通过插件 Docker和虚拟机来实现的 Docker可以简单的实现各种丰富的功能 而虚拟机
  • 群晖DS Video(Station)自动同步视频简介和海报(最新官方解决方案)

    目录 一 前言 二 前提 三 实现 1 注册The Movie Database账号 2 创建API 3 修改群辉Hosts A 在群辉中开启SSH的访问 B 然后通过ssh命令登录到群辉后台 C 通过sudo i指令切换到root用户指令
  • python的循环控制结构_Python的控制结构之For、While、If循环问题

    传统Python语言的主要控制结构是for循环 然而 需要注意的是for循环在Pandas中不常用 因此Python中for循环的有效执行并不适用于Pandas模式 一些常见控制结构如下 for循环 while循环 if else语句 tr
  • 【建议收藏!】APP UI自动化测试,思路全总结在这里了。

    首先想要说明一下 APP自动化测试可能很多公司不用 但也是大部分自动化测试工程师 高级测试工程师岗位招聘信息上要求的 所以为了更好的待遇 我们还是需要花时间去掌握的 毕竟谁也不会跟钱过不去 接下来 一起总结一下APP UI自动化测试的思路吧
  • 再论人与人的三大关系:生存关系、性关系和经济关系

    黄仁宇在 关系 一文中认为 人类的各种关系之中 以生存的关系 性关系和经济关系最为重要 理想上的工作协作和团队精神 已经不存在 俺做过的几个规模在50人以下的 这说明两个问题 1 小公司的目的不是发展而是不死 然后赚钱 也就是这是一笔买卖而
  • exe4j打包exe_JDK11及以后版本在Win下的打包发布方法

    概述 我在准备使用高版本jdk后 遇到的最麻烦的问题就是打包发布了 主要原因还是jdk的模块化带来的 在经历了长时间折腾后 终于成功完成了这个 当然 只是针对window下的 想要使用高版本jdk打包发布Windows应用 需要准备 exe
  • js中的对象 函数 原型

    关于 Function Object 和 proto prototype 1 每一个对象实例都有一个 proto 属性 这个属性就是指向 对象构造函数的原型 let b new Function console log b proto Fu
  • 【Matlab图片剪裁】

    标题Matlab剪裁图片 提取感兴趣部分 问题描述 当需要从一幅图片中提取一些感兴趣的内容时 比如一些细小的文字 图案等 如果从整个图片中直接提取 必然会大大增加计算量 导致处理时间很长 而且多数计算都是无效计算 进而非常消耗资源 解决办法