imwrite函数 matlab_imwrite

imwrite函数 matlab_imwrite一、imread直接读取图片数据。示例一下面这段代码读取一张图片并显示出来filename=’e.bmp’;imgRgb=imread(filename);%读入一幅彩色图像imshow(imgRgb);%显示彩色图像示例二下面这段代码把24位真彩色位图转为灰度图像filename=’e.bmp’;imfinfo(filename)%查看图像文件信息imgRgb=imr…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、imread直接读取图片数据。

示例一

下面这段代码读取一张图片并显示出来

filename = ‘e.
bmp‘;

imgRgb = imread(filename); % 读入一幅彩色图像

imshow(imgRgb); % 显示彩色图像



示例二

下面这段代码把24位
真彩色
位图转为灰度图像

filename = ‘e.bmp’;

imfinfo(filename) % 查看图像文件信息

imgRgb = imread(filename); % 读入一幅彩色图像

imshow(imgRgb); % 显示彩色图像

imgGray =
rgb2gray(imgRgb); % 转为
灰度图像

figure % 打开一个新的窗口显示灰度图像

imshow(imgGray); % 显示转化后的灰度图像

imwrite(imgGray, ‘gray.jpg’); % 将灰度图像保存到图像文件

二、fread可以读取复杂类型的图片格式数据,如img后缀的遥感、极光数据

fread函数常见用法:1、A=fread(fileID,sizeA,precision,skip,machinefmt)  2、A=fread(fileID) 3、fread(fileID,sizeA) 4、A=fread(fileID,sizeA,precision) 5、A=fread(fileID,sizeA,precision,skip) 6、A=fread(fileID,sizeA,precision,skip)

直接讲第一种参数最多时候的用法,其他可以类推。

fread函数主要用法读取二进制文件。

下面是常用参数的含义:

1、fileID 文件标识

打开的文件标识。比如fid=fopen(‘file.dat’); fid就是fileID,即文件标识

2、sizeA  输出数组的维度

有3种参数,Inf、n、[m,n]

Inf 代表输出数据是列向量,文件中每一个元素对应一个值

n 代表有n个元素的列向量

[m,n] 代表按列向量排列的m行n列的矩阵,n可以取Inf,但m不可以

3、precision   需要读取数据的类型和大小,默认’uint8=>double’

常见有uint,uint8、uint16等数据格式,需要根据源数据来确定

4、skip   代表跳过多少字节,默认为0

5、machinefmt 待读取数据字节的排列方式,默认为’n’

需要根据源数据格式来确定,有’b’、’l’、’s’、’a’等格式

‘n’就是系统字节的排列顺序,即‘native’

‘b’就是’ieee-be’,即’Big-endian ordering’,即低位字节排放在内存的高地址端,高位字节排放在内存的低地址端

‘l’就是‘ieee-le’,即‘Little-endian ordering’即低位字节排放在内存的低地址端,高位字节排放在内存的高地址端

另外,由于imread读取的是一般的图片数据,如png后缀的图片,本身就是存储的颜色索引,所以用imshow(data)(表示data值直接代表颜色)或者imshow(data,[])(表示data的值需要先线性映射到1-256的颜色空间)看到的结果一样。但在读取后缀.img(采用uint16精度)的数据文件时,imshow(data)和imshow(data,[])的结果很不一样,因为此时.img文件存储的不是1-256的颜色索引,因此需要将data的值在颜色空间1-256之间做线性映射。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185947.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql15免费注册激活码【最新永久激活】

    (mysql15免费注册激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月22日
    81
  • Latex插入图片并固定图片位置

    Latex插入图片并固定图片位置首先导入宏包:\usepackage{graphicx}\usepackage{float}然后可以设置图片的路径\graphicspath{{pic/}}然后使用:\begin{figure}[H]%这四个字母可以出现一个或多个:htbp代表图片插入位置的设置\centering%图片居中\includegraphics[height=10cm,width=10cm]{图片位置.png}\caption{图片的标题}\end{figure}

    2022年5月7日
    310
  • 深入学习Arduino u8g2 OLED库,一篇就够

    深入学习Arduino u8g2 OLED库,一篇就够1.前言    最近博主听到QQ群里面问得比较多的问题:    “博哥,有玩过OLED吗?”    “博哥,有试过在ESP8266上调成功过SSD1306吗?”    “博哥,OLED上显示天气信息怎么弄?”    …    诸如此类的问题,在博主看来,无非都是对OLED库用法的不熟悉甚至不了解。ArduinoOLED库众多,博主也曾经介绍过一款《博哥OLED系列》-玩转SSD1…

    2022年4月18日
    59
  • java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园

    java socket 中文乱码_java-Socket接受中文乱码的解决 | 学步园服务器发送一条数据如:Java代码BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));PrintWriterout=newPrintWriter(client.getOutputStream());out.println(“没有查到该数据。”);//向客户端发送out….

    2022年7月7日
    28
  • Qml异步加载图片「建议收藏」

    Qml异步加载图片「建议收藏」当图片很大时,加载图片可能导致UI线程的阻塞,为了确保图片在加载过程中不会阻塞UI线程,将Image元素的’asynchronous’设置为trueImage{asynchronous:truesource:"test.png"}…

    2025年8月8日
    3
  • c# openfiledialog如何使用_visual studio怎么保存源代码

    c# openfiledialog如何使用_visual studio怎么保存源代码文件操作中SaveFileDialog的用法c#获取要保存文件的对话框,用SaveFileDialog类。具体用法很简单分享一下吧,对于初学者可能有用//可能要获取的路径名stringlocalFilePath=””,fileNameExt=””,newFileName=””,FilePath=””;SaveFileDialogsaveFileDialog=n…

    2022年10月8日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号