class内での計算結果をprintで出力したいです。
class内での計算結果をprintで出力したいです。
ヒートマップのような図を作っているのですが、その図の指定した座標での値をprintで出力したいのですが、うまく出来ません。
図は出力できました。
print(self._depth_map[222,202])で、座標が[222,202]のときself._depth_map[y,x] = distance *math.cos(phi) * math.cos(lamb)を
出力したいのですが、方法が分かりません。
発生している問題・エラー
print(self._depth_map[222,202])
NameError:name'self' is not defined
該当するソースコード
def depth_estimation(self, axis="vertical",threshold=(0.0,2.0), save=None, show=True):
assert self._disparity_map is not None, "Plz run stereo matching first."
height = self._left_image.shape[0]
width = self._left_image.shape[1]
self._depth_map = np.zeros(self._disparity_map.shape , np.float32)
if axis == "vertical":
for y in range(height):
for x in range(width):
lamb = (1.0 - y/(height/2.0)) * (math.pi/2.0)
phi = (x/(width/2.0) - 1.0) * (math.pi/2.0)
delta_phi = self._disparity_map[y,x] / (width/2.0) * (math.pi/2.0)
distance = self._baseline * math.sin(math.pi/2.0 - phi) / (1e-7+math.sin(delta_phi) * math.cos(lamb))
self._depth_map[y,x] = distance *math.cos(phi) * math.cos(lamb)
elif axis == "horizontal":
for y in range(height):
for x in range(width):
lamb = (1.0 + y/(height/2.0)) * (math.pi/2.0)
phi = (1.0 - x/(width/2.0)) * (math.pi/2.0)
delta_lamb = -(self._disparity_map[y,x] / (width/2.0)) * (math.pi/2.0)
distance = self._baseline * math.sin(math.pi/2.0 - lamb) / (1e-7+math.sin(delta_lamb) * math.cos(phi))
self._depth_map[y,x] = distance * math.cos(phi)
self._depth_map = np.where((self._depth_map < threshold[0]) | (self._depth_map > threshold[1]), 0.0, self._depth_map)
if save:
fig = plt.figure(figsize=(15,15))
plt.imshow(self._depth_map)
plt.axis("off")
fig.savefig(save)
if show:
self._show_images(images=[cv2.cvtColor(self._image, cv2.COLOR_BGR2RGB), self._depth_map], titles=["Original", "Depth"], figsize=(30,20), subplot=(1,2),color_bar=True)
return self._depth_map
print(self._depth_map[222,202])
def _show_images(self, images, titles, figsize, subplot, color_bar=False):
# images -> show images
plt.figure(figsize=figsize)
for i, (image, title) in enumerate(zip(images, titles)):
plt.subplot(subplot[0], subplot[1], i+1)
plt.imshow(image)
plt.title(title)
plt.axis("off")
if i==1 and color_bar:
plt.colorbar()
plt.show()
print(self._depth_map[222,202])がエラーの原因です。
0