首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在matlab中将图像存储到单元格中

在matlab中将图像存储到单元格中
EN

Stack Overflow用户
提问于 2015-11-07 21:54:12
回答 1查看 859关注 0票数 0

我知道以前也曾问过类似的问题,但我尝试过其他的解决办法,但没有成功。我真的很感激你的帮助!

我想要1.加载一个图像文件,2.用imread读取它们,3.把它们放在一个单元格中,4.在单元格中的每个数组上逐步运行我的函数。

这是我对1张图片/文件的函数

代码语言:javascript
复制
function sym_file(filename) %this calls for the image file name
j=im2double(rgb2gray(imread(filename)));
%reads the image, turns int into grayscale and double

if rem(size(j,2),2)~=0,j(:,1)=[];
if rem(size(j,1),2)~=0,j(1,:)=[];
end
end                                      
%this made sure the rows and columns are even

jr=fliplr(j);
left=(j(:,1:size(j,2)/2));
right=(jr(:,1:size(j,2)/2));
t=sum(left,2);
u=sum(right,2);
symmetry= (left-right)./255;
symmetry2=reshape(symmetry,1,(numel(symmetry)));
imbalance=mean(symmetry2)
asymmetry=sqrt(mean(symmetry2.^2))

%runs calculations on image

figure('Name',num2str(filename),'NumberTitle','off')
subplot(3,2,1)
histogram(symmetry2,200)
title(['symmetry:' num2str(asymmetry)])
subplot(3,2,2)
imshow(j)
title(['imbalance:' num2str(imbalance)])
subplot(3,2,3)
imshow(left) 
title('left')
subplot(3,2,4)
imshow(fliplr(right)) 
title('right')
impixelinfo;
subplot(3,2,5)
plot(1:length(t),t,'-r',1:length(u),u,'-b')
title('results,red=left/blue=right')

%printing results in a figure

所以我想用一个图像文件来做这件事,而不是一个文件一个文件地做。最好的办法是什么?另外,如果有人知道如何将数据/数字存储在文件中,这也是一种奖励。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-07 22:40:58

让我看看我是否搞清楚了:你有一组图像,你把它们存储在一个牢房里。然后,您需要对每个图像应用一个函数(换句话说:对单元格的每个元素)。

如果是这样,只需使用细胞()

示例:

代码语言:javascript
复制
X = imread('http://sipi.usc.edu/database/preview/aerials/3.2.25.png','png');
Y = imread('http://sipi.usc.edu/database/preview/misc/5.3.01.png','png');

my_cell{1} = X;
my_cell{2} = Y;

my_fftcell = cellfun(@fft2,my_cell,'UniformOutput', false)

在这种情况下,我加载了两个图像X和Y,并将它们存储到my_cell中(括号{}向MATLAB/Octave表示它是一个单元格)。然后,我创建了另一个名为my_fftcell的单元,即应用于每个图像的fft2。

要从文件夹/目录中获取许多文件,只需遍历该目录中的每个文件并将其存储到单元格中即可。就像这样:

在MATLAB中加载多幅图像

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33588239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档