1
我有兩個尺寸爲166乘256像素的8位灰度圖像。我計算了它們之間的聯合直方圖,並找到了一些有趣的聚類,我想要映射它們在圖像空間中的值以找到相應的位置。因此,對於兩個圖像A和B(這是該值已經通過numpy的數組訪問)將聯合直方圖中的值映射回圖像空間
import numpy as np
import matplotlib.pyplot as plt
rows, cols = A.shape[0], B.shape[1]
N = 256 # bins
#### Numpy's method
#H,xedge,yedge = np.histogram2d(A, B, bins=(N,N))
#### Manually
H1 = np.zeros((N, N), dtype=float)
Hindex = []
IMGindex = []
for i,j in product(range(rows), range(cols)):
H1[A[i,j], B[i,j]] = H1[A[i,j], B[i,j]] + 1
IMGindex.append((i,j))
Hindex.append((A[i,j], B[i,j]))
img = plt.imshow(H1.T, origin='low', interpolation='nearest')
img.set_cmap('hot')
plt.colorbar()
plt.show(img)
現在讓我們假設這將產生如下圖所示: 有一些事情在該地區,其中x是介於0和〜45,其中y在0和〜2-3之間。這可能是一個空間問題,但我如何使用存儲的IMGindex和Hindex數組映射回原始圖像中的這些值?或者我接近「反向映射」問題都是錯誤的?
「x軸對應於圖像B,y軸對應圖像A.」我認爲這是另一回事?當我這樣做時,ImageJ指定圖像A是x軸,圖像B是y軸,我得到的是同一個圖。除此之外,這非常美麗非常感謝你! – elefun 2014-09-27 17:53:53
另外有一種方法可以使背景圖像(A和B)灰度,但在銅中有掩模? – elefun 2014-09-27 20:57:22