imread 如何缩放 12 位图像?

2024-01-03

我有一个 12 位 pgm-image,我用 imread 读取它。结果是一个 16 位图像,其值在 0 到 2^16 - 1 的整个范围内。

Matlab 如何进行扩展?将要

 X = imread('filename');
 X = uint16(double(X)*((2^12-1)/(2^16-1)));

恢复原来的强度?


MATLAB 确实正确加载 PGM 12 位图像。但是,在 MATLAB 加载图像后,图像值将从 12 位重新调整为 16 位。

MATLAB 使用以下算法将值从 12 位缩放到 16 位:

% W contains the the 12-bit data loaded from file. Data is stored in 16-bit unsigned integer
% First 4 bits are 0. Consider 12-bit pixel color value of ABC
% Then W = 0ABC
X = bitshift(W,4); % X = ABC0
Y = bitshift(W,-8); %Y = 000A
Z = bitor(X,Y); %Z = ABCA 
% Z is the variable that is returned by IMREAD.

解决方法就像这样

function out_image = imreadPGM12(filename)
out_image = imread(filename);
out_image = floor(out_image./16);
return

或者向右执行 4 位移位:

function out_image = imreadPGM12(filename)
out_image = imread(filename);
out_image = bitshift(out_image,-4);
return

更多信息可以在这里找到:http://www.mathworks.com/matlabcentral/answers/93578-why-are-12-bit-pgm-images-scaled-up-to-16-bit-value-representation-in-image-processing-toolbox- 7-10 http://www.mathworks.com/matlabcentral/answers/93578-why-are-12-bit-pgm-images-scaled-up-to-16-bit-value-representation-in-image-processing-toolbox-7-10

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

imread 如何缩放 12 位图像? 的相关文章

  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • 以 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
  • Matlab的导入函数的范围是什么?

    我正在尝试将一些用 Matlab 编写的代码转换为独立的 编译的 Matlab 应用程序 然而 在出现一些奇怪的错误之后 我意识到代码大量使用了从路径中添加和删除的操作 以避免多次使用多个具有相同名称 但结果 计算不同 的函数这一事实 环顾
  • matlab中无限while嵌套在for循环中

    我想做一个while循环 嵌套在for在 Matlab 中循环以查找数据中不同对之间的距离 我的数据具有以下形式 ID lon lat time 1 33 56 40 89 803 2 32 45 41 03 803 3 35 78 39
  • 如何将数据传递给 MATLAB oncleanup 函数?

    我有一个编译好的 matlab 程序 可以自动调整机器参数 在调整周期结束时 我需要恢复一些原始设置 有时会发生意外错误 有时用户会发现调整算法未正常工作 因此应终止 使用 control C 如果发生可预测的错误 我可以使用 try ca
  • MATLAB - 通过垂直连接子矩阵重新排列矩阵

    我在执行以下任务时遇到问题 假设一个 3x6 矩阵 A 0 2787 0 2948 0 4635 0 8388 0 0627 0 0435 0 6917 0 1185 0 3660 0 1867 0 2383 0 7577 0 6179 0
  • 将向量(或弧)绘制到玫瑰图上。 MATLAB

    我有两个数据集 其中详细列出了angles 我正在绘制玫瑰图 angles 0 8481065519 0 0367932161 2 6273740453 n 另一个 从这组角度详细说明方向统计 angle error 0 848106563
  • 如何在 MATLAB 中将矩阵元素除以列总和?

    有没有一种简单的方法可以将每个矩阵元素除以列和 例如 input 1 4 4 10 output 1 5 4 14 4 5 10 14 以下是执行此操作的不同方法的列表 使用bsxfun https www mathworks com he
  • Deploytool for MATLAB R2013b 不起作用,发生了什么变化?

    多年来我一直在使用集成deploytool为我的同事创建易于分发的 exe 文件 我几天前安装了R2013b 但无法使用deploytool不再了 尝试打包时的日志文件给出了以下内容 ant
  • matlab 中的动画绘图

    我正在尝试创建一个三角形的动画图 最终结果应该是十个三角形 后面跟着两个更大的三角形 后面跟着一条直线 使用matlab文档 https de mathworks com help matlab ref drawnow html 我最终得到
  • 更新:随机将行添加到矩阵中,但遵循严格的规则

    以下是一个更大的矩阵的一部分 0 1 0000 1 0000 77 0000 100 0000 0 0 2500 0 1 0000 1 0000 72 0000 100 0000 0 2500 0 2500 0 1 0000 1 0000
  • 帮助我理解FFT函数(Matlab)

    1 除了负频率之外 FFT 函数提供的最小频率是多少 是零吗 2 如果它为零 我们如何在对数刻度上绘制零 3 结果总是对称的 或者只是看起来是对称的 4 如果我使用abs fft y 来比较2个信号 我是否会失去一些准确性 1 除了负频率之
  • Mathworks 生成 Matlab HTML 文档的方法是什么?

    我正在开发共享的 Matlab 代码 我们希望在本地网络中将生成的文档作为可搜索的 HTML 文档共享 我知道以下生成文档的方法 编写一个类似于 C 文件的转换器 这是在中完成的将 Doxygen 与 Matlab 结合使用 http ww
  • 氡变换线检测

    我正在尝试检测灰度图像中的线条 为此 我在 MATLAB 中使用 Radon 变换 我的 m 文件的示例如下所示 我可以使用此代码检测多行 我还使用线条的移位和旋转属性来绘制线条 但是 我不明白在获取rho和theta值后如何获取检测线的起
  • 使用不同的背景颜色保存 MATLAB 图窗

    我想打印一个带有深色背景和白色标签的 MATLAB 图 如果我使用print or saveas命令我不知何故失去了颜色 绘图符号再次变暗 背景变为白色 points rand 100 3 plot3 points 1 points 2 p
  • 霍夫变换检测和删除线

    我想使用霍夫变换检测图像中的线条 但是我不想绘制线条 而是想删除原始图像中检测到的每条线条 image imread image jpg image im2bw image BW edge image canny imshow BW fig
  • Matlab 中的 3D 堆叠条形图

    我想在一个图中绘制多个堆叠条形图 detached 条形图 例如 准确地想象一下bar http mathworks com help matlab ref bar3 detached png绘图 但堆叠在一起 而不是单一颜色 Set up
  • 用于读取csv写入数组的c++程序;然后操作并打印到文本文件中(已经用 matlab 编写)

    我想知道是否有人可以帮助我 我正在尝试构建一个程序 从 csv 文件中读取大小未知的浮点数大数据块 我已经在 MATLAB 中编写了此代码 但想要编译和分发此代码 因此转向 C 我只是在学习并尝试阅读本文以开始 7 5 19892 4 23
  • 使用正常数据直方图与直接公式进行熵估计(matlab)

    假设我们已经绘制了n 10000标准正态分布的样本 现在我想使用直方图计算其熵来计算概率 1 计算概率 例如使用matlab p x hist samples binnumbers area x 2 x 1 sum p p p area b

随机推荐

  • 尝试添加引用时,为什么我会看到“无法发出程序集:引用的程序集...没有强名称”?

    我想在我的 WPF 项目中包含一个系统托盘图标 并找到了此资源 http www hardcodet net projects wpf notifyicon http www hardcodet net projects wpf notif
  • 在 Mac OS X 中的 apache 中为 CORS 启用 mod_headers

    我正在尝试设置我的网站以允许 CORS 进行跨域脚本编写 但这似乎需要mod header在我的 htaccess 文件中启用 我没有太多处理 apache 的经验 我尝试谷歌installing mod header in apache
  • 为什么使用 PHP Zend_Pdf 库在 PDF 上居中文本的代码不起作用?

    我正在尝试在服务器上动态创建 PDF 文档并使用 Zend Pdf 库将它们发送到客户端 PDF 上的所有文本都需要与页面居中对齐 页面为信纸大小 横向 使用我在不同网站上多次找到的函数时 我遇到了一个问题 中心对齐不正确 所有文本都显示在
  • 如何增加mfc中组合框控件的高度?

    我想增加组合框控件的高度 增加宽度正在发生 但是当我尝试增加组合框高度时 它并没有增加 我很清楚我想增加控件的垂直高度 通常组合框控件我创建如下 如上图所示 红色边框的控件是我想要增加高度的组合框控件 如果您可以看一下下面的 EDIT 控件
  • Python - 从纯文本邮件中提取正文

    我只想提取消息正文并返回它 我可以过滤字段并显示片段 但不能显示正文 def GetMimeMessage service user id msg id try message service users messages get user
  • 如何将 adbannerview 添加到 UISplitviewController

    我使用 UISplitViewController 制作了一个 ipad 应用程序 它可以在两个方向上运行 现在我想向该应用程序添加横幅 我该怎么做呢 在界面生成器中 我只能将肖像横幅添加到详细视图 这或多或少可以工作 但是当我转动 iPa
  • phpmyadmin 打开 MySQL 表列表非常慢

    我可以登录 phpmyadmin 并很快查看数据库 一旦我单击其中一个并尝试查看表格列表 速度非常慢 我有什么遗漏的吗 我从 Ubuntu 10 04 更新到 Ubuntu 12 04 之前没有出现过这种情况 打开 config inc p
  • mxGraph 可以将图表导出为 PDF 吗?

    我正在开发一个使用 mxGraph 的项目 其中需要我导出 PDF 格式的高分辨率输出以获取服务流程图 我尝试使用 Java Swing 客户端 JGraphX 重新创建图形并将其导出为 PDF 但结果与浏览器显示的结果并不接近 客户端上的
  • 矩阵类运算符重载、析构函数问题

    我试图编写一个能够找到逆矩阵 伴随矩阵等的矩阵类 任意阶的方阵 构造函数初始化一个 n 阶单位矩阵 传递给它 class Matrix int elements int order public Matrix operator const
  • Flash swf 播放 PCM WAV 文件吗?

    我需要一个能够通过传递给它的 url 加载 PCM WAV 文件的 Flash swf 该文件的示例可以在此处找到 http msdn microsoft com en us library ff512405 aspx http msdn
  • matplotlib 一次设置图中所有绘图的线宽

    import matplotlib pyplot as plt import numpy as np fig plt figure ax fig add subplot 111 ax plot range 10 ax plot 2 rang
  • Woocommerce-added_to_cart 触发器

    我正在尝试使用 WooCommerce added to cart 触发器在将特定产品添加到购物车时触发弹出窗口 到目前为止 我已经成功做到了以下几点 jQuery body on added to cart function alert
  • 使用Decodable进行JSON解析时,可选和decodeIfPresent有什么区别?

    我在用Codable第一次使用 Swift 4 的协议 我无法理解其使用decodeIfPresent from Decodable Decodes a value of the given type for the given key i
  • “在这台计算机上记住我” - 它应该如何工作?

    查看 Gmail 的 cookie 很容易看出 记住我 cookie 中存储的内容 用户名 一次性访问令牌 在用户名是秘密的情况下 它也可以以不同的方式实现 但无论如何 这件事的安全性不是很高 你偷了cookie 然后你就可以开始了 然而
  • C# 函数不更新参数

    这是一个基本的 C 应用程序 但我很生疏 我将首先向您展示我的代码 using System using System Data SqlClient using System Text namespace DatabaseAdder cla
  • pysmb 的示例

    您能给我一个使用 pysmb 库连接到某些 samba 服务器的示例吗 我读过有 smb SMBConnection SMBConnection 类 用户名 密码 my name remote name domain use ntlm v2
  • 使用表单对话框在编辑 url 中添加额外参数

    我使用 jqgrid 创建了一个网格 并使用表单对话框来添加 编辑和删除记录 but in Edit Record i want to pass the id of a record along with the url即使表单数据将包含该
  • .gitignore 不起作用 - 文件仍在跟踪中[重复]

    这个问题在这里已经有答案了 I ve a gitignore文件位于我的存储库的根目录中 这 gitignore文件具有以下模式来排除已编译的 Python 文件 并且这是文件中的唯一行 pyc 现在 当我在存储库的根目录中执行以下操作时
  • 无法覆盖 Spark 命令行上的 Typesafe 配置

    我有一个类型安全的配置application conf in the src main resources默认加载的文件夹 可以通过指定以下内容来覆盖单个值 conf spark driver extraJavaOptions DsomeV
  • imread 如何缩放 12 位图像?

    我有一个 12 位 pgm image 我用 imread 读取它 结果是一个 16 位图像 其值在 0 到 2 16 1 的整个范围内 Matlab 如何进行扩展 将要 X imread filename X uint16 double