本博主使用的MATLAB版本是2020b,这个版本可以使用许多有趣的扩展APP,本节将会对如何编写循环以及如何读取本地指定文件夹内的全部图片的一些基本操作进行讲解记叙,这种方式也省去自己忘却,剩下百度时间,喜欢的朋友点赞收藏哦!
提示:以下是本篇文章正文内容,下面案例可供参考。
主要的知识点有两个:
1)如何读取和保存 tif 格式图片;2)如何读取图片的基本尺寸信息,并对其进行分割。
下面将分点简要介绍:
如何读取和保存 tif 格式图片
这里 我仅给出 最简单的实现方式 一般来说够用了!
(1)使用 imread 函数 读取图片的绝对路径;
(2)使用 imwrite 函数 保存数据为 tif 格式图片。
如何读取图片的基本尺寸信息,并对其进行分割。
(1)使用 size 函数 读取图片的 行数、列数以及深度(RGB图像深度为3);
(2)利用 数组索引 对图片进行分割,必须是整数分割,可以选择向上(ceil)或向下(floor)取整;
注意: MATLAB数组下标索引从 1 开始 区别于python的0 !
示例1:
给出的简单示例 读取的一幅二色的tif图像,但是该图像的位深度为16,这就很特别了,单纯使用 imread 函数会导致一片 黑魆魆 ,所以我使用了 灰度函数 mat2gray 函数进行了一下预处理,之后读取图片尺寸,确定分割的方法,可以配合 subplot 以及 imshow 函数 展示一下 分割是否正确,OK 最后保存即可!
clc;
%读取图像
img_a = imread('A4001_b.tif');
img_a = mat2gray(img_a);
[ar,ac] = size(img_a);%取图像的行数r和列数c
%取图像右上角四分之一
half_ax = ceil(ar/2);
half_ay = ceil(ac/2);%ceil是对r/2的结果取整(向正无穷方向)
img_a1 = img_a(77:half_ax-76,77:half_ay-76);
img_a2 = img_a(half_ax+77:end-76,77:half_ay-76);
img_a3 = img_a(1:400,half_ay+1:end);
img_a4 = img_a(401:800,half_ay+1:end);
img_a5 = img_a(801:1200,half_ay+1:end);
img_a6 = img_a(1201:1600,half_ay+1:end);
img_a7 = img_a(1601:2000,half_ay+1:end);
%显示图像
subplot(2,4,1);
imshow(img_a1);
subplot(2,4,2);
imshow(img_a2);
subplot(2,4,3);
imshow(img_a3);
subplot(2,4,4);
imshow(img_a4);
subplot(2,4,5);
imshow(img_a5);
subplot(2,4,6);
imshow(img_a6);
subplot(2,4,7);
imshow(img_a7);
subplot(2,4,8);
imshow(img_a);
imwrite(img_a1, 'A4001_b1.tif')
imwrite(img_a2, 'A4001_b2.tif')
imwrite(img_a3, 'A4001_b3.tif')
imwrite(img_a4, 'A4001_b4.tif')
imwrite(img_a5, 'A4001_b5.tif')
imwrite(img_a6, 'A4001_b6.tif')
imwrite(img_a7, 'A4001_b7.tif')
中间结果预览:
使用的粒子图像 可能需要费些力气去看。
本篇主要是MATLAB中tif格式图片读取、分割、保存的一些基本知识进行汇总,下回就不去百度了,自己看自己的笔记,😄!喜欢的朋友点赞收藏哦。