【发布时间】:2015-04-11 18:30:46
【问题描述】:
我有两个图像A 和B,大小为200x400。两个图像中的像素(单元格值)的值仅在 1-20 之间。 A 是正确的图像,每个像素都有正确的值。我想要做的是检查图像A 中具有每个值(1-20)的像素,并将其与图像B 中的相应值进行比较。例如,我将检查图像A 中具有1 值的像素,然后检查图像B 中的这些像素并检查这些像素具有哪些值(1-20)。然后将对其余值(2-20)执行相同的操作。
之后,我想将结果的混淆矩阵保存在矩阵C中。
所以如果A是这样的:
2 3 4 5 6 7 8
4 1 1 1 1 1 3
3 1 1 1 1 1 6
6 1 1 1 1 1 4
6 1 1 1 1 1 2
2 3 4 5 6 7 8
而B是这样的:
2 3 4 5 6 7 8
4 2 1 1 4 1 3
3 4 1 8 1 1 6
6 1 2 7 1 1 4
6 1 1 5 4 1 2
2 3 4 5 6 7 8
我想检查图像A 中具有值1 的像素与矩阵B 中的相同像素。这意味着我要使用的像素是图像 A 中的这个 1 框和图像 B 中的相应像素。
C 看起来像这样(只会填充1 的行,因为这是我给出的简单示例):
1 2 3 4 5 6 7 8 9 ... 20
1 12 2 0 3 1 0 1 1 0 ...
2
3
4
5
6
7
8
9
.
.
.
20
所以你可以在图像A 中有 20 个像素的值为1,但图像B 中的相应像素有 12 个 1、2 个 2、3 个 4、1 个 5、1 个 7 和 1 个 8。
所以这个矩阵C 将用行号像素中每个列号的出现次数逐行填充。
因此,如果有人可以请告知如何在 Matlab 中完成此操作,如果需要进一步说明,请告诉我。
【问题讨论】:
标签: image matlab image-processing matrix