Matlab 平均图像(类型错误)
我正试图在matlab中为所有大小和格式相同的.png编写一个函数。但目前它并没有真正起作用。我得到的错误是:错误使用+,整数只能与同一类的整数或标量双精度组合 代码如下。所有图像的大小都调整为相同的大小,如果比例不相等,则应用填充。填充使用alpha通道完成,以使填充透明。这些图像都是正确的png格式,可以在photoshop等中打开,不会出现错误 如果我理解正确,您不必在matlab中初始化或声明变量。这可能是我问题的一部分。我的常规处理/java方法是将containerAv初始化为大小为x,y,3,将所有图像的所有颜色值添加到其中,然后将所有值除以图像的数量。给你一个平均的图像 我真的不知道如何在matlab中实现这一点。我做错了什么?我如何重写这段代码,让我得到rgb平均图像 可能改变:Matlab 平均图像(类型错误),matlab,image-processing,Matlab,Image Processing,我正试图在matlab中为所有大小和格式相同的.png编写一个函数。但目前它并没有真正起作用。我得到的错误是:错误使用+,整数只能与同一类的整数或标量双精度组合 代码如下。所有图像的大小都调整为相同的大小,如果比例不相等,则应用填充。填充使用alpha通道完成,以使填充透明。这些图像都是正确的png格式,可以在photoshop等中打开,不会出现错误 如果我理解正确,您不必在matlab中初始化或声明变量。这可能是我问题的一部分。我的常规处理/java方法是将containerAv初始化为大小为
container = imread([resizeFolder fname]);
到
好的,现在函数运行时没有错误。但是结果是一个纯白的png,带有黑色的条带,其中alpha值为0。知道怎么回事吗?啊,是的,很好!有没有办法保留png的alpha通道?因为最终图像中的透明度信息丢失了。我的计算机上没有matlab,所以我无法为您检查。但是在任何情况下,你的质心图像只有x,y,3维,所以至少你需要在上面加一个alpha通道…好的,我看看我是否可以通过增加一个额外的维来计算出来。谢谢E先生的帮助!
container = imread([resizeFolder fname]);
container = im2double(imread([resizeFolder fname]));