pathdir = 'E:/Image_Set/HYAL/';%文件路径
format = 'bmp';%文件格式
files = dir(strcat(pathdir,'*.',format));
% dir 列出当前文件夹中的文件和文件夹。
% strcat 水平串联字符串
% 列出文件夹中后缀为.bmp的文件
steps = 100;
hwait = waitbar(0,'准备开始');
for n = 1:numel(files)
filename = strcat(pathdir,files(n).name);
img = imread(filename);
x = repmat(img,[1,1,3]);%将单通道图片转换为三通道图片
imwrite(x,filename,'bmp');
str = '正在运行中....';
waitbar(n/numel(files),hwait,str)
close(hwait);
在做深度学习训练模型时需要输入为三通道图片,当获得的数据集为单通道图片时,就需要将其转换为三通道图片。pathdir = ‘E:/Image_Set/HYAL/’;%文件路径format = ‘bmp’;%文件格式files = dir(strcat(pathdir,’*.’,format));% dir 列出当前文件夹中的文件和文件夹。% strcat 水平串联字符串% ...
今日遇到一个问题,当对于单通道的二值化图像,如果要在图像上面画绿色箭头。在单通道上面的图像就只能画出白或者黑的线条。解决的办法是把图像进行变化,在load的时候进行处理,或者把单通道的图像转换成三通道的。
1.在load的时候。方法如下:
IplImage *src=cvLoadImage("lena.bmp",CV_LOAD_IMAGE_COLOR);//读入图像 将灰度图转为CV_LOA
Path = '.\'; % 设置数据存放的文件夹路径
File = dir(fullfile(Path,'*.bmp')); % 显示文件夹下所有符合后缀名为.txt文件的完整信息
FileNames = {File.name}';
s = length(FileNames);
for i=1:s
img_path = strcat(Path,FileNames(i));
ori_img = im
%获取所有图片路径
folder_path = '文件夹路径'; %更改为实际文件夹路径
img_files = dir(fullfile(folder_path, '*.jpg')); %更改为实际图片格式
%批量转换图片为一维向量
for i = 1:length(img_files)
img_path = fullfile(folder_path, img_files(i).name);
img = imread(img_path); %读取图片
img_vector = img(:)'; %转化为一维向量
%保存向量到mat文件
[~, img_name, ~] = fileparts(img_path);
save(fullfile(folder_path, [img_name, '.mat']), 'img_vector');
您可以将上面的代码用MATLAB保存为.m文件,然后在MATLAB命令行窗口中运行它,修改其中的`folder_path`和`img_files`参数以适应您的情况。
希望这可以帮助到您,如果您有更多问题,别犹豫问我!