matlab-图形采样及灰度级转换

2023-11-14

目录

一、图像采样

1、实验内容

2、采样原理

3、实验程序

4.实验结果与分析

5.思考题

二、图像类型转换

1、实验内容

2.实验原理

3、程序

4.实验结果与分析

5. 思考题


一、图像采样

1、实验内容

试对任意一幅图像分别进行 4 倍和 16 倍减采样,查看其减采样效果。

2、采样原理

根据图像采样原理,给出图像实现图像采样的过程。

3、实验程序

  %%程序一
  a = imread('1.jpg');
  b = rgb2gray(a);
  [wid, hei] = size(b);
  figure
  imshow(b)
  % 4倍减采样
  quartimg = zeros(wid/2+1,hei/2+1);
  i1 = 1;
  j1 = 1;
  for i = 1:2:wid
      for j = 1:2:hei
          quartimg(i1,j1) = b(i,j);
          j1 = j1+1;
      end
      i1 = i1 +1;
      j1 = 1;
  end
  figure
  imshow(uint8(quartimg))
  
   % 16倍减采样
  quartimg = zeros(wid/4+1,hei/4+1);
  i1 = 1;
  j1 = 1;
  for i = 1:4:wid
      for j = 1:4:hei
          quartimg(i1,j1) = b(i,j);
          j1 = j1+1;
      end
      i1 = i1 +1;
      j1 = 1;
  end
  figure
  imshow(uint8(quartimg))

 

  %%程序二
  a = imread('1.jpg');
  b = rgb2gray(a);
  [wid, hei] = size(b);
  figure
  imshow(b)

  % 4倍减采样
  b4 = b(1:2:end,1:2:end);
  subplot(235);
  imshow(b4);
  
  % 16倍减采样
  b16 = b(1:4:end,1:4:end);
  subplot(236);
  imshow(b16);

4.实验结果与分析

由图实验结果可知,在采用不同的减采样过程中,其图像的清晰度和图像尺寸均发生了变化。

5.思考题

将一幅图如果进行 4 倍、 16 倍和 64 倍增采样会出现什么情况?是否有其他方法可以实
现图像的采样?

二、图像类型转换

1、实验内容

试将一幅图转换成 256 级灰度图像, 64 级灰度图像, 32 级灰度图像, 8 级灰度图像
和 2 级灰度图像。

2.实验原理

根据图像分类原理,将给出的实验图像变换成为不同类型的图像。

3、程序

  a = imread('1.jpg');
  b = rgb2gray(a);
  [wid, hei] = size(b);
  img256 = zeros(wid, hei);
  img64 = zeros(wid, hei);
  img32 = zeros(wid, hei);
  img8 = zeros(wid, hei);
  img2 = zeros(wid, hei);
  for i=1:wid
      for j=1:hei
          img256(i,j)=floor(b(i,j)/1);
      end
  end
  figure
  subplot(151);
  imshow(uint8(img256),[0,255])
  for i=1:wid
      for j=1:hei
          img64(i,j)=floor(b(i,j)/4);
      end
  end
  subplot(152);
  imshow(uint8(img64),[0,63])
  for i=1:wid
      for j=1:hei
          img32(i,j)=floor(b(i,j)/8);
      end
  end
  subplot(153);
  imshow(uint8(img32),[0,31])
  for i=1:wid
      for j=1:hei
          img8(i,j)=floor(b(i,j)/32);
      end
  end
  subplot(154);
  imshow(uint8(img8),[0,7])
  for i=1:wid
      for j=1:hei
          img2(i,j)=floor(b(i,j)/128);
      end
  end
  subplot(155);
  imshow(uint8(img2),[0,1])

4.实验结果与分析

由图实验结果可知,在图像灰度转换过程中,其图像的清晰度随着灰度级的降低而降低。

5. 思考题 

如何将一副彩色图像转换成灰度图像?

答:采用 rgb2gray() 函数。

  %% 灰度转化
  a = imread('2.bmp');
  b = rgb2gray(a);
  figure;
  subplot(121);
  imshow(a);
  subplot(122);
  imshow(b);

★★★★ 感谢您的阅读!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

matlab-图形采样及灰度级转换 的相关文章

  • 检查Matlab中脚本需要使用的函数

    我有一个别人写的代码包 我正在运行一个脚本 它调用一些函数 这些函数又调用更多函数 等等 我想获取不是 MATLAB 内置函数但属于包的一部分的函数列表 我尝试使用matlab codetools requiredFilesAndProdu
  • Matlab中转换数据类型的有效方法(double vs. im2double)

    我想将真彩色图像转换为双精度 据我所知有两种方法可以做到这一点 double rgb img im2double rgb img 哪一种效率更高 谢谢 他们都是不同的 im2double将图像的范围转换为0 1如果数据类型是uint8 or
  • MATLAB 中最有效的矩阵求逆

    在 MATLAB 中计算某个方阵 A 的逆矩阵时 使用 Ai inv A should be the same as Ai A 1 MATLAB 通常会通知我这不是最有效的求逆方法 那么什么是更有效率的呢 如果我有一个方程系统 可能会使用
  • 使用mat2cell将MxN的矩阵划分为1xN大小的M矩阵

    我有一个大小为 MxN 的矩阵 比方说 1867x3 1867 行和 3 列 我想将其分成 1867 个大小为 1x3 的单元格 我使用了mat2cell X 1 1866 这里X是矩阵 1867x3 结果给出了两个单元格 一个单元格的大小
  • 句柄类和值类的区别

    我有一些 C 背景 想使用 Matlab 中的类 句柄和值类有什么区别 我知道如果我想定义一个带有重载运算符 例如 和 的矩阵类 我会使用值类 然而 有时 当我选择一个手柄类时 事情似乎只对我有用 MathWorks 提供了一些有关其用途的
  • Matlab:保存后翻转图例顺序和图例重叠图

    我正在尝试根据以下内容反转我的图例条目顺序matlab条形图中图例颜色的逆序 https stackoverflow com questions 31178005 reverse ordering of legend colors in m
  • 如何在没有安装Visual Studio的另一台机器上使用Visual Studio生成的dll?

    我已经在 Visual Studio 2012 中生成了动态库 我想在另一台机器上使用该库 但我不想在远程机器上安装 Visual Studio 我有 mex 库和 dll 我想运行一个使用这两个库的脚本 当我运行脚本时 出现以下错误 缺少
  • 如何在 Matlab 中将数组打印到 .txt 文件?

    我才刚刚开始学习Matlab 所以这个问题可能非常基本 我有一个变量 a 2 3 3 422 6 121 9 4 55 我希望将值输出到 txt 文件 如下所示 2 3 3 422 6 121 9 4 55 我怎样才能做到这一点 fid f
  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • 如何找到平面和 3d 矩阵之间的交平面

    如果我有一堆图像并且尺寸如下 size M 256 256 124 我有 3 个点 它们的坐标是 coor a 100 100 124 coor b 256 156 0 coor c 156 256 0 如何创建 M 与这 3 个点定义的平
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • 了解 fminunc 参数和匿名函数、函数处理程序

    请多多包涵 问题在最后 我试图找出 fminunc 调用方式的差异 这个问题源于 Andrew Ng 在他的 Coursera 机器学习课程中的第 3 周材料 我正在回答这个问题 Matlab Andrew Ng 机器学习课程中 t cos
  • 图像处理 - 使用 opencv 进行服装分割

    我正在使用 opencv 进行服装特征识别 第一步 我需要通过从图像中移除脸部和手来分割 T 恤 任何建议表示赞赏 我建议采用以下方法 Use 阿德里安 罗斯布鲁克的用于检测皮肤的皮肤检测算法 谢谢罗莎 格隆奇以获得他的评论 在方差图上使用
  • ROC曲线和libsvm

    给定一条 ROC 曲线plotroc m see here http www csie ntu edu tw cjlin libsvmtools roc curve for binary svm 理论问题 如何选择要使用的最佳阈值 编程问题
  • @(t)在Matlab中是什么意思? [复制]

    这个问题在这里已经有答案了 正如标题所示 考虑到下面的上下文 t 在 Matlab 中到底意味着什么 computeNumericalGradient 是一个函数 cofiCostFunc 也是一个接受一堆参数的函数 问题是 t 对 cof
  • Matlab dec2bin 给出错误的值

    我正在使用 Matlab 的 dec2bin 将十进制数转换为二进制字符串 但是 我得到了错误的结果 例如 gt gt dec2bin 13339262925365424727 ans 101110010001111010010100111
  • 如何在MATLAB中显示由三个矩阵表示的图像?

    我有 3 个相同大小的 2D 矩阵 假设 200 行和 300 列 每个矩阵代表三种 基本 颜色 红色 绿色和蓝色 之一的值 矩阵的值可以在 0 到 255 之间 现在我想组合这些矩阵以将它们显示为彩色图像 200 x 300 像素 我怎样
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • 如何使用SIFT算法计算两幅图像的相似度?

    我已经用过SIFT http en wikipedia org wiki Scale invariant feature transform实施安德里亚 维达尔迪 http www vlfeat org overview sift html

随机推荐

  • Burp Suite代理抓包和浏览器代理设置

    本文解决使用Burp Suite代理时出现的一些问题 比如出现代理服务器异常 建立安全连接失败等等 安全连接失败 a 在使用代理的时候经常出现下图所示的问题 这时可能是burp suite证书的问题 b 从burp suite导出证书 这个
  • Mysql有则更新无则新增的几种方案

    环境准备 mysql版本 5 7 29 测试表创建及初始化 建表 CREATE TABLE test user id bigint 20 unsigned NOT NULL AUTO INCREMENT COMMENT 主键 uid big
  • 删除未命名(系统命名)主键约束

    由于表结构的变动需要删除 现有的主键约束 增加新的主键约束 但主键约束没有指定约束名生成 无法直接删除该主键约束 需要先查询出主键约束名 然后才能够进行删除 原本是想通过该sql 语句在查询的时候直接进行删除 但是sql一直提示报错 原因不
  • 计算机打印机无法扫描,打印机无法扫描 打印机无法扫描怎么办 4种原因及解决方法...

    1 打印机的报警还没有解除 扫描时打印机显示电脑有故障或忙 然后无法正常扫描 这种情况下 拔下打印机插头 10秒后插上 打印机就可以正常扫描了 如果你不碰这个报警器 打印机将保持死锁状态 2 打印机和计算机之间的线路连接不好 这个原因很容易
  • FPGA学习笔记 1 -- Quartus软件的使用

    软件的使用 一 FPGA开发流程 二 Quartus II 13 1软件 1 新建工程 2 添加设计文件 3 分析与综合 4 分配引脚 5 编译工程 6 下载 一 FPGA开发流程 打开软件 新建工程 设计输入 verilog代码 配置工程
  • MySQL触发器创建

    1 语法格式 create trigger 触发器名称 before 或 after 触发事件 on 表名 for each row begin 触发器程序体 end 名词含义 lt 触发器名称 gt 最多64个字符 它和MySQL中其他对
  • 详解WIFI能用但是电脑不能上网怎么解决

    想要让电脑连接wifi上网 但是发现电脑连不上wifi 用手机检查wifi后发现是能用的 那么WIFI能用但是电脑不能上网怎么办呢 这种多半是ip地址分配的问题 下面小编就教下大家WIFI能用但是电脑不能上网的解决方法 方法一 1 在开始菜
  • Ubuntu安装conda

    1 下载Anaconda安装包 清华镜像 在ubuntu中ctr alt t打开终端 输入 wget https mirrors tuna tsinghua edu cn anaconda archive Anaconda3 2021 11
  • kvm磁盘管理

    kvm磁盘管理 KVM虚拟磁盘类型 raw qcow2 qemu img常用参数 主要参数 安装qemu img 查看磁盘信息 info 创建磁盘文件 create 磁盘容量调整 resize 热扩容 磁盘增加容量 磁盘缩小容量 生产环境下
  • python下载pandas库_Python中的pandas库

    导入包 import pandas as pd import numpy as np 提供高性能医用的数据类型和分析工具 pandas基于numpy实现 常与numpy和matplotlib一同使用 pandas的核心数据结构 series
  • spring cloud系列学习(二、SpringCloud之服务注册之Ribbon负载均衡)

    上个章节我们已经启动了服务生产者实例 这一章我们会启动四个不同端口的实例 然后如何通过负载平衡访问呢 这时就需要Ribbon 为了使用Ribbon 我们需要使用 LoadBalanced元注解 那么这个注解放在哪里呢 一般有两个Discov
  • 1416. Restore The Array

    A program was supposed to print an array of integers The program forgot to print whitespaces and the array is printed as
  • 【笔记】OpenMPI基本使用1

    笔记 OpenMPI基本使用1 介绍 在 90 年代之前 对不同的计算架构写并发程序是一件困难而且复杂的事情 当时 虽然很多软件库可以帮助写并发程序 但是并没有一个大家都接受的标准 在当时 大多数的并发程序出现在科学研究领域 其中最广为接受
  • asp.net jquery ajax 调用远程接口 实例,使用html+ashx+ajax实现asp.net前后端数据交互的实例...

    日期 2020 07 24 实例 输入经纬度 调用百度地图api显示 并随机生成折线显示图中 目录 准备工作 前端框架实现 JS库 jquery库 的引用和准备写JS代码 实现用后端交互的框架 ajax 后端读取数据 处理数据 利用给定的经
  • 排列的生成(二) —— 序数法

    1 定义 n n n个元素的全排列有 n n n 个 如果将排列按顺序编号 并能够按照某种方法建立起每一个序号与一个排列之间的对应关系 那么就可以根据序号确定排列 反过来也可以根据排列确定它的序号 根据排列的序号生成对应排列的方法就称为序数
  • PCI-PTS v6规范中对算法类型及强度的要求

    所批准的算法是基于NIST SP 800 57 Part1 Rev 4第4节中所列出的算法 Hash函数 只允许SHA2和SHA3家族额算法 输出大小需要 gt 255bit MD5和SHA 1不能使用 用于加密和解密的对称密钥算法 必须使
  • AB Testing

    A B Testing 说到决策 必然就是一道选择题 是A还是B this is a question 如何使用风险 代价最小的方法 找到最适合生存的方案 在企业应用中 就显得及其重要 而物竞天择 优胜劣汰 使得A B Testing尤为重
  • 五、自适应阈值与轮廓检测应用实例——细胞计数统计

    教程汇总 python基础入门系列 假设有这样一个任务 通过显微镜拍下的某藻类细胞的玻片图 需要统计图中细胞个数 如果每天都要人工处理这项工作 那么将会浪费大量的时间与人力 我们既然学习了python那么自然可以想办法自动化高效率 偷懒 的
  • python3.9.0 + robotframework + selenium3 实例体验

    在win10上安装python3 9 0 robotframework中我们做了基本的使用robot framework的环境搭建 这一章主要通过一个简单的实例来体验下robot framework的使用方式 运行 报告和日志 非常漂亮的自
  • matlab-图形采样及灰度级转换

    目录 一 图像采样 1 实验内容 2 采样原理 3 实验程序 4 实验结果与分析 5 思考题 二 图像类型转换 1 实验内容 2 实验原理 3 程序 4 实验结果与分析 5 思考题 一 图像采样 1 实验内容 试对任意一幅图像分别进行 4