如何确定两个相同大小的jpg图像是否具有超过matlab不同像素的30%?
答
不,没有我知道的内置函数。有可能是某种东西,但为什么他们会写这么基本的东西呢?为什么我说这是基本的?假设你做了两个图像之间的直接比较?
IM1 == IM2
的彩色图像是MxNx3阵列,典型地由UINT8值。所以这个测试会产生一个MxNx3布尔数组。如果两者的所有三个通道对于任何特定像素都是相同的,那么该像素是相同的。因此,我们全部应用于上述结果的第三维...
all(im1 == im2,3)
这将是一个MxN数组。现在,有多少像素是相同的?由于所有返回布尔结果,该结果的总和将计算相同的像素。形成二维数组的总和的简单方法是形成总和。
sum(sum(all(im1 == im2,3)))
现在,您可以将该数字与图像中总像素数量的30%进行比较。我会让你弄清楚如何做到这一点。
习惯使用基本的向量化构建模块在MATLAB中构建解决方案。