.. note::
    :class: sphx-glr-download-link-note

    Click :ref:`here <sphx_glr_download_auto_examples_numpy_operations_plot_camera_numpy.py>` to download the full example code
.. rst-class:: sphx-glr-example-title

.. _sphx_glr_auto_examples_numpy_operations_plot_camera_numpy.py:


Using simple NumPy operations for manipulating images
=====================================================

This script illustrates how to use basic NumPy operations, such as slicing,
masking and fancy indexing, in order to modify the pixel values of an image.




.. code-block:: pytb

    Traceback (most recent call last):
      File "/build/skimage-Lp2Zl4/skimage-0.16.2/doc/examples/numpy_operations/plot_camera_numpy.py", line 1
        Using simple NumPy operations for manipulating images
              ^
    SyntaxError: invalid syntax





.. code-block:: python

    Using simple NumPy operations for manipulating images
    =====================================================

    This script illustrates how to use basic NumPy operations, such as slicing,
    masking and fancy indexing, in order to modify the pixel values of an image.
    """

    import numpy as np
    from skimage import data
    import matplotlib.pyplot as plt

    camera = data.camera()
    camera[:10] = 0
    mask = camera < 87
    camera[mask] = 255
    inds_x = np.arange(len(camera))
    inds_y = (4 * inds_x) % len(camera)
    camera[inds_x, inds_y] = 0

    l_x, l_y = camera.shape[0], camera.shape[1]
    X, Y = np.ogrid[:l_x, :l_y]
    outer_disk_mask = (X - l_x / 2)**2 + (Y - l_y / 2)**2 > (l_x / 2)**2
    camera[outer_disk_mask] = 0

    plt.figure(figsize=(4, 4))
    plt.imshow(camera, cmap='gray')
    plt.axis('off')
    plt.show()

**Total running time of the script:** ( 0 minutes  0.000 seconds)


.. _sphx_glr_download_auto_examples_numpy_operations_plot_camera_numpy.py:


.. only :: html

 .. container:: sphx-glr-footer
    :class: sphx-glr-footer-example



  .. container:: sphx-glr-download

     :download:`Download Python source code: plot_camera_numpy.py <plot_camera_numpy.py>`



  .. container:: sphx-glr-download

     :download:`Download Jupyter notebook: plot_camera_numpy.ipynb <plot_camera_numpy.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.readthedocs.io>`_
