Databricks上で画像に関する機械学習やデータサインエンスを実施していると、分析対象の画像ファイル、もしくは、画像データをNotebook上でプレビューしたい場合があります。
今回は、その方法について見ていきます。
参考: この記事のNotebook
方法1: DataFrame(format="image"
) + display()
- SparkのDataframe(
format="image"
)で読み込む -
display()
で表示する
ドキュメント: Image
image_df = (
spark
.read
.format("image")
.load('/databricks-datasets/cctvVideos/train_images/label=0/Browse2frame000*.jpg')
)
### DataFrameなので、いろいろ補助情報のカラムを追加できる
display(
image_df
.withColumn('filename', image_df.image.origin)
)
方法2: DataFrame(format="binary"
) + display()
- SparkのDataframe(
format="binaryFile"
)で読み込む -
.option("mimeType", "image/*")
でコンテンツ種別を指定 -
display()
で表示する
ドキュメント: Binary File
image_df = (
spark
.read
.format("binaryFile")
.option("mimeType", "image/*")
.load('/databricks-datasets/cctvVideos/train_images/label=0/Browse2frame000*.jpg')
)
display( image_df )
方法3: PIL + numpy + matplotlib
- 通常のJupyter Notebook上で実施するのと同じ方法
from matplotlib.pyplot import imshow
import numpy as np
from PIL import Image
pil_im = Image.open('/dbfs/databricks-datasets/cctvVideos/train_images/label=0/Browse2frame0002.jpg', 'r')
imshow(np.asarray(pil_im))