fread和imread不同(imread读取的是图像的像素矩阵,fread会有别的信息)

news/2024/10/20 11:09:02/
clear;clc;
fid = fopen('草原HH极化图像.png','rb');
B = fread(fid,'uint8');
% % unit8是0——255,所以要保存图像,要先把矩阵归一化,然后再乘255
% height = 1600;
% width = 2000;
% img_matrix = reshape(B(1:width*height), [height, width]);  img = imread('草原HH极化图像.png');

在 MATLAB 中,读取图像文件时,图像的存储格式可能会影响读取的数据长度。你使用 `fread` 函数读取二进制数据,但图像文件通常包含额外的信息(例如文件头、元数据等),因此仅用 `fread` 读取的字节数不一定等于图像数据的像素数。

要确认 `B` 向量的长度是否与图像数据的像素数一致,可以考虑以下几点:

1. **图像文件格式**:不同格式的图像(如 PNG、JPEG)在文件中存储数据的方式不同。PNG 文件会有压缩和元数据,因此直接读取可能会导致不正确的字节数。

2. **读取方式**:使用 `imread` 函数读取图像时,它会自动处理图像的格式和元数据,并返回一个正确大小的矩阵。相对而言,使用 `fread` 读取文件的原始数据时,需要考虑文件结构。

3. **检查读取长度**:你可以用 `length(B)` 检查读取的向量长度,并与 `height * width` 进行比较,看看差异在哪里。

如果你想要获取图像的原始像素数据,可以直接使用 `imread` 函数,而不必使用 `fread`,这样可以避免手动处理文件格式带来的复杂性。


http://www.ppmy.cn/news/1540500.html

相关文章

C#中委托的应用与示例

委托 委托是指把事情托付给别人或别的机构办理。在C#语言中委托是一种特殊类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。委托是具有特定参数列表和返回类型的方法的引用的类型(不是引用对象,而是引用方法)。 可以委托将看作一个包含有序方法列表…

Redis 高可用:从主从到集群的全面解析

目录 一、主从复制 (基础)1. 同步复制a. 全量数据同步b. 增量数据同步c. 可能带来的数据不一致 2. 环形缓冲区a. 动态调整槽位 3. runid4. 主从复制解决单点故障a. 单点故障b. 可用性问题 5. 注意事项a. Replica 主动向 Master 建立连接b. Replica 主动向 Master 拉取数据 二、…

香港举办AIHCIR 2024国际学术会议,领先人工智能、人机交互和机器人技术

第三届人工智能、人机交互和机器人国际学术会议 (AIHCIR 2024)将于2024年11月在中国香港举行,聚焦AI、人机交互与机器人领域,邀请知名学者演讲,促进学术交流。论文经评审后提交EI检索,投稿需全英文&#xf…

wifi、热点密码破解 - python

乐子脚本,有点小慢,试过多线程,系统 wifi 连接太慢了,需要时间确认,多线程的话系统根本反应不过来。 也就可以试试破解别人的热点,一般都是 123456 这样的傻鸟口令 # coding:utf-8 import pywifi from pyw…

XPM_CDC_SYNC_RST

免责声明:本文所提供的信息和内容仅供参考。作者对本文内容的准确性、完整性、及时性或适用性不作任何明示或暗示的保证。在任何情况下,作者不对因使用本文内容而导致的任何直接或间接损失承担责任,包括但不限于数据丢失、业务中断或其他经济…

从零开始:使用 Flask 或 Django 构建 RESTful API

引言 在当今这个数据驱动的时代,构建高效、可扩展的后端服务变得尤为重要。RESTful API 作为一种设计模式,已经成为现代 Web 开发的标准之一。无论是小型初创公司还是大型企业,都需要一个强大的后端来支持前端应用的快速迭代和用户需求的变化…

DNS安全检测与防护策略

DNS在互联网基础服务中,负责将域名转换为IP地址,但是随网络的演变,DNS系统面临安全方面的威胁也有增多,比如DNS劫持、缓存中毒、域名欺骗等。 ※为什么要看重DNS的安全检测? 因为DNS一旦遭受攻击,将直接影…

极氪汽车困局:营销频繁车、产品力不足

“ 极氪汽车的“车上吃火锅”营销活动虽登上热搜,但因频繁忽视老用户和产品力不足的争议,并未赢得消费者好感,反而加剧负面印象。 ” 科技新知 原创 作者丨颜瞾 编辑丨蕨影 近日,背靠吉利集团的极氪…