MATLAB实现图片栅格化

MATLAB实现图片栅格化

1.读取图片:首先,你需要使用imread函数读取要栅格化的图片。

2.设置栅格大小:确定你希望将图片划分成的栅格大小,即每个栅格的宽度和高度。

3.计算栅格数量:根据图片的总尺寸和栅格大小,计算出栅格的行数和列数。

4.遍历栅格:使用嵌套的for循环来遍历每一个栅格。

5.提取栅格内容:在每个栅格的位置上,使用矩阵索引提取出该栅格内的像素值。

6.处理栅格:对每个栅格进行所需的处理,比如二值化、灰度化等。

7.显示或保存结果:可以选择显示每个栅格的处理结果,或者将所有栅格的处理结果组合起来显示整幅栅格化后的图片,也可以保存处理后的图片。

clc;close all;clear all;warning off;%清除变量
rand('seed', 100);
randn('seed', 100);
format long g;% (1) 读取图像
img0 = imread('1.png'); % 替换为你的图像路径
% (1) 读取图片
figure;
imshow(img0); % 显示原始图像
% 转换为灰度图像
img = double(rgb2gray(img0))/255;
size(img)% (2) 对图片进行栅格化
grid_size = [20,20]; % 设置栅格大小,例如50x50像素
aaa = size(img) ./ grid_size;
grid_rows=aaa(1);
grid_cols=aaa(2);
grid_rows = floor(grid_rows);
grid_cols = floor(grid_cols);rasterized_img = zeros(grid_rows*grid_size(1), grid_cols*grid_size(2));G=zeros(grid_rows,grid_cols);% 栅格结果for i = 1:grid_rowsfor j = 1:grid_cols% 提取栅格区域row_start = (i-1)*grid_size(1) + 1;row_end = i*grid_size(1);col_start = (j-1)*grid_size(2) + 1;col_end = j*grid_size(2);% 截取栅格图像grid_img = img(row_start:row_end, col_start:col_end);% 将栅格图像放入栅格化图像中rasterized_img(row_start:row_end, col_start:col_end) = grid_img;% 对栅格图像进行二值化%         mean(mean((grid_img)))if mean(mean((grid_img)))<0.95; % 计算阈值G(i,j)=0;elseG(i,j)=1;endend
end% G
figure;
imshow(G);
title('栅格化后');G=flipud(G);%垂直翻转
bockmat=G;grid_rows=aaa(1);
grid_cols=aaa(2);% 设定网格参数
nx=grid_cols;% 划分数
ny=grid_rows;% 划分数dx=grid_size(2);
dy=grid_size(1);
xmin=0;
xmax=nx*dx;
ymin=0;
ymax=ny*dy;tic;
[nodetable,XY,nodenumber]=nodetablefun(nx,ny,dx,dy);% 计算节点表格
disp('计算节点表格完成');
XY(:,1)=XY(:,1)+xmin;
XY(:,2)=XY(:,2)+ymin;bocktable=bocktablefun_tan(nodetable,nx,ny,nodenumber,bockmat);
disp('计算bocktable完成');nodeset= find(bocktable==1);
title201='栅格模型';
drawshelf(XY,dx,dy,nodeset,title201);% 绘图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/1312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Compose 布局

文章目录 Compose 布局ColumnColumn属性使用 RowRow属性使用 BoxBox属性使用 ConstraintLayoutLazyColumnLazyColumn属性使用使用多类型使用粘性标题回到顶部 LazyRowLazyRow属性使用 LazyVerticalGridLazyVerticalGrid属性使用 Compose 布局 Column Compose中的”垂直线性布…

F-logic DataCube3 SQL注入漏洞复现(CVE-2024-31750)

0x01 产品简介 F-logic DataCube3是一款用于光伏发电系统的紧凑型终端测量系统。 0x02 漏洞概述 F-logic DataCube3 /admin/pr_monitor/getting_index_data.php 接口处存在SQL注入漏洞,未经身份验证的攻击者可通过该漏洞获取数据库敏感信息,深入利用可控制整个web服务器。 …

计算机图形学:直线生成算法—DDA

DDA&#xff08;Digital Differential Analyzer&#xff0c;数字差分分析器&#xff09;算法是一种基本的直线生成算法&#xff0c;通常用于计算机图形学中。它通过将直线划分为若干个等间隔的小线段&#xff0c;然后在每个小线段中选择一个像素点进行绘制&#xff0c;从而近似…

产品原型图概念

产品原型图概念 产品原型图作用 如下图&#xff1a; 产品原型图的三种分类 线框图 通过【线段色块文字】描述产品页面。优点&#xff1a;制作快速。 缺点&#xff1a;传递信息容易遗漏。 应用&#xff1a;早期方案讨论&#xff0c;需要快速输出的场景&#xff0c;团队配合…

Learn ComputeShader 01 First Computer Shader

使用Unity版本&#xff1a;2019.4.12f1 整体流程&#xff1a; 1添加一个quad object并添加一个无光照材质 2.相机投影模式设置为正交 3.调整quad使其完全显示在相机内 4.创建脚本并且使用计算着色器覆盖quad的纹理 5.创建一个compute shader 前三步完成以后结果应该是这…

网络基础先导

前言&#xff1a;最好在牢固前面几大件&#xff08;编程语言、数据结构、操作系统&#xff09;&#xff0c;并且您有一个服务器的基础上&#xff08;我使用的是腾讯云中配置最低的服务器&#xff09;再来学习本系列的网络知识。 1.网络发展简要 下面就是简单提及一些概念而已&…

二叉树之AVL树

文章目录 1. AVL树的概念&#xff08;logN)1.1背景1.2规则 2.AVL树节点的定义3.AVL树的插入4. AVL树的旋转(重点&#xff09;4.1 新节点插入较高的右子树的右侧&#xff1a;左单璇&#xff1b;4.2 新节点插入较高左子树的左侧&#xff1a;右单璇&#xff1b;4.3&#xff08;双旋…

AJAX——ajax原理

1.XMLHttpRequest 定义&#xff1a;XMLHttpRequest&#xff08;XHR&#xff09;对象用于与服务器交互。通过XMLHttpRequest可以在不刷新页面的情况下请求特定URL&#xff0c;获取数据。这允许网页在不影响用户操作的情况下&#xff0c;更新页面的局部内容。XMLHttpRequest在AJA…

数据输入输出流(I/O)

文章目录 前言一、数据输入输出流是什么&#xff1f;二、使用方法 1.DataInputStream类2.DataOutoutStream类3.实操展示总结 前言 数据输入输出流也是将文件输入输出流打包后使用的对象。相比于文件输入输出流&#xff0c;数据输入输出流提供了简单易用的方法去操作不同类型的数…

【FreeRTOS】常用API接口

【FreeRTOS】常用API接口 为方便快速检索&#xff0c;这里只留下对应的接口名和功能注释&#xff0c;具体传参和使用方法拿函数名百度搜。 任务相关 xTaskCreate() //创建任务 vTaskDelete( NULL ); //删除任务&#xff0c;传入NULL为删除当前的任务 vTaskStartScheduler()&…

【微服务】spring读取配置文件多种方式深入详解

目录 一、前言 二、java配置文件介绍 2.1 java配置文件产生原因 2.2 项目使用配置文件好处 2.3 springboot项目配置文件的必要性 2.4 微服务架构下配置文件使用场景 三、java读取配置文件常用方法 3.1 使用Properties类读取配置文件 3.1.1 使用getResourceAsStream读取…

时序分析基础(6)——input delay时序分析

1 简介 FPGA对于外部的时钟以及数据的延时信息是不知道的&#xff0c;在低速时钟且时钟发射沿在数据正中心的时候&#xff0c;一般可以不做约束来直接使用。但是到了高速时钟或者双沿采样或者发射沿和数据对齐的情况下&#xff0c;这时候就需要告诉VIVADO外部的时钟与数据情况来…

多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录03——机械臂运动学逆解

系列文章目录 本科毕设正在做多轴机械臂相关的内容&#xff0c;这里是一个学习机械臂运动学课程的相关记录。 如有任何问题&#xff0c;可发邮件至layraliufoxmail.com问询。 1. 数学基础 2. 机械臂几何法与DH表示法 3. 机械臂运动学逆解 文章目录 系列文章目录一、引言1.手臂…

文件系统和软硬链接

文章目录 文件系统磁盘磁盘逻辑抽象inode 软硬链接软链接硬链接 文件系统 文件分为打开的文件和没有被打开的文件&#xff0c;而只有打开的文件是在内存的&#xff0c;也就是我们之前讲的&#xff0c;然而大部分文件都不是被打开的(当前不需要被访问的)&#xff0c;它们都在磁…

硬盘日常使用中的注意事项

硬盘是计算机中的重要存储设备,负责存储大量的数据。为了确保数据的完整性和硬盘的寿命,日常使用中需要注意以下几点: 避免震动和撞击:硬盘在工作时,内部的磁盘正在高速旋转,任何轻微的震动或撞击都可能导致磁盘损坏或数据丢失。因此,使用硬盘时应确保计算机放置稳定,避…

输电线路运行特性及简单电力系统潮流估算(二)

本篇为本科课程《电力系统稳态分析》的笔记。 本篇为这一章的第二篇笔记。上一篇传送门&#xff0c;下一篇传送门。 输电线路的运行特性 输电线路的空载运行特性 线路的等值电路如图所示。 由于是空载&#xff0c;则 S ~ 2 0 \widetilde{S}_20 S 2​0&#xff0c;可以计算…

4月阿里offer被毁,我该怎么进字节?

在校招求职的浪潮中&#xff0c;有些故事总是让人唏嘘不已。比如最近在社交平台上广泛讨论的一个话题&#xff1a;“4月阿里offer被毁&#xff0c;我该怎么进字节&#xff1f;”这不仅反映了当下职场的变动性&#xff0c;也映射了求职者在面对突如其来的变故时的无助与挣扎。 …

QT 按钮的工具提示tooltips设置字体大小颜色与背景

QT 按钮的工具提示tooltips设置字体颜色与背景 main.cpp添加 mainwindow.cpp添加全局配置&#xff1a; 构造函数中&#xff1a; QToolTip::setFont(font3); //按钮提示信息通用设置 如下&#xff1a; MainWindow_oq::MainWindow_oq(QWidget *parent) : QMainWindow(parent)…

光伏电站智能勘探:无人机优势及流程详解

随着科技和互联网技术的不断发展&#xff0c;无人机在各个领域的应用越来越广泛&#xff0c;其中之一就是光伏电站智能勘探。利用无人机高清摄像头和传感器等设备&#xff0c;可以对光伏电站周边环境、日照情况、房屋状态进行全方面的勘探和记录&#xff0c;搭配卫星勘探、实地…

C语言中scanf、gets、fgets的区别

scanf、gets和fgets都是C语言中用于从标准输入读取数据的函数&#xff0c;但它们之间存在一些重要的差异&#xff1a; scanf&#xff1a; scanf是一个格式化输入函数&#xff0c;它可以根据指定的格式从标准输入读取数据。使用scanf读取字符串时&#xff0c;需要小心处理缓冲区…