From db308d4e8c4017655afc72c0621101d3d4129f11 Mon Sep 17 00:00:00 2001 From: Christoph Steindl Date: Wed, 31 Mar 2021 13:23:07 +0200 Subject: [PATCH] Add Jupyter example for image stitching with IIIF --- Image_Stitching_IIIF.ipynb | 107 +++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 Image_Stitching_IIIF.ipynb diff --git a/Image_Stitching_IIIF.ipynb b/Image_Stitching_IIIF.ipynb new file mode 100644 index 0000000..4c27bce --- /dev/null +++ b/Image_Stitching_IIIF.ipynb @@ -0,0 +1,107 @@ +{ + "metadata": { + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.7" + }, + "orig_nbformat": 2, + "kernelspec": { + "name": "python3", + "display_name": "Python 3.7.7 64-bit", + "metadata": { + "interpreter": { + "hash": "5940a0265606cba985bbd79e2514ee826e1d33b188fc58287d6dbc77410ca65f" + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 2, + "cells": [ + { + "source": [ + "# Beispiel für ImageStitching im IIIF-Kontext\n", + "\n", + "Die Qualität der Bilder wird aus Performanzgründen in diesem Beispiel mit IIIF auf 25% skaliert" + ], + "cell_type": "markdown", + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from IPython.display import display, Image\n", + "from iiif_modifier import IIIFImageStitcher\n", + "import cv2 as cv\n", + "\n", + "# Laden des Manifests\n", + "e = IIIFImageStitcher.IIIFImageStitcher('https://iiif.onb.ac.at/presentation/REPO/7502199/manifest/')" + ] + }, + { + "source": [ + "## Beispiel mit 2 fortlaufenden Bildern" + ], + "cell_type": "markdown", + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "stitched_image = e.stitch_images([19, 20], quality=25)\n", + "cv.imwrite('stitching/imgs_out/iiif_20_21.jpg', stitched_image)\n", + "display(Image(filename='stitching/imgs_out/iiif_20_21.jpg', width=2000))" + ] + }, + { + "source": [ + "## Beispiel mit 3 fortlaufenden Bildern" + ], + "cell_type": "markdown", + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "stitched_image = e.stitch_images([19, 20, 21], quality=25)\n", + "cv.imwrite('stitching/imgs_out/iiif_20_21_22.jpg', stitched_image)\n", + "display(Image(filename='stitching/imgs_out/iiif_20_21_22.jpg', width=2000))" + ] + }, + { + "source": [ + "## Beispiel mit zwei unterschiedlichen Bildern" + ], + "cell_type": "markdown", + "metadata": {} + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "stitched_image = e.stitch_images([8, 14], quality=25)\n", + "cv.imwrite('stitching/imgs_out/iiif_09_14.jpg', stitched_image)\n", + "display(Image(filename='stitching/imgs_out/iiif_09_14.jpg', width=2000))" + ] + } + ] +} \ No newline at end of file -- GitLab