{ "cells": [ { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import cv2\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "\n", "def main(): \n", " #画像の読み込み\n", " img = cv2.imread(\"input.jpg\")\n", " \n", " b, g, r = img[:,:,0], img[:,:,1], img[:,:,2]\n", " \n", " #NuPyでヒストグラム算出\n", " hist_r, bins = np.histogram(r.ravel(),256,[0,256])\n", " hist_g, bins = np.histogram(g.ravel(),256,[0,256])\n", " hist_b, bins = np.histogram(b.ravel(),256,[0,256])\n", " \n", " #グラフ作成\n", " plt.xlim(0, 255)\n", " plt.plot(hist_r, \"-r\", label=\"Red\")\n", " plt.plot(hist_g, \"-g\", label=\"Green\")\n", " plt.plot(hist_b, \"-b\", label=\"Blue\")\n", " plt.xlabel(\"Pixel value\", fontsize=20)\n", " plt.ylabel(\"Number of pixels\", fontsize=20)\n", " plt.legend()\n", " plt.grid()\n", " plt.show()\n", " \n", "if __name__ == \"__main__\":\n", " main()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }