一、效果图
先上效果图:
二、程序
程序段如下:(注释里面都写的很清楚!)
% Author: ZXX
% Date : 2021-10-25
% Introduction
% 按需求生成多张图片并保存到指定文件夹下
% 生成多张3840*2160(w*h)的含有窗口(窗口为为不同灰阶,每个灰阶间隔为16阶)
%%的png图片并按顺序保存在文件夹下
%
clc,clear
width = 3840; % 图片宽度
height = 2160; % 图片高度
% 按照图片规格预分配内存
% image = zeros(height, width); %白色图片
image = zeros(height, width,3); %three-dimensional
path = '你的文件夹/'; % 保存的文件夹位置
prefix = 'Gray_'; % 文件名前缀
format = 'png'; % (图片)文件格式
suffix = strcat('.',format); % File suffix
gray_level = 16; % the grade of gray
gray_step = 256 / gray_level; % the interval of gray: 256/16=16
% 如果目录不存在则新建,否则删除文件夹并新建
if ~exist(path,'dir')
mkdir(path);
else
rmdir(path,'s');
mkdir(path);
end
% 生成图像并保存
for index = 0 : gray_level %0~16
% 计算对应灰阶值
if index <16
gray_value = index * gray_step ;
else
gray_value = index * gray_step-1;
window=256; %the size of window
% image(1080:1080+ window,1672:1672+window) = gray_value; %白色
image(1080:1080+ window,1672:1672+window,1) = gray_value; %1 is R,2 is G,3 is B
% 拼接文件名并保存图像
imwrite(uint8(image),strcat(path, prefix, num2str(gray_value), suffix), format);
end