Created
March 5, 2018 06:47
-
-
Save uchidama/cc12d4c661abf6a2ee252bca89c5d0ff to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "code", | |
| "execution_count": 1, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "import cv2\n", | |
| "import numpy as np\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import sys\n", | |
| "\n", | |
| "%matplotlib inline" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "<class 'numpy.ndarray'>\n", | |
| "(762, 762, 4)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "#img = cv2.imread('./ai_shigoto_makaseru.png', -1)\n", | |
| "img = cv2.imread('./onsa_music.png', -1)\n", | |
| "\n", | |
| "if img is None:\n", | |
| " sys.exit()\n", | |
| "\n", | |
| "print(type(img))\n", | |
| "print(img.shape)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "height, width = (768 , 1024)\n", | |
| "\n", | |
| "x_offset = int((width - img.shape[1])/2)\n", | |
| "y_offset = int((height - img.shape[0])/2)\n", | |
| "\n", | |
| "y1, y2 = y_offset, y_offset + img.shape[0]\n", | |
| "x1, x2 = x_offset, x_offset + img.shape[1]\n", | |
| "\n", | |
| "blank_image = np.zeros((height, width, 3), np.uint8)\n", | |
| "#blank_image[:, 0:width] = (255, 255, 0) # (B, G, R)\n", | |
| "blank_image[:, 0:width] = (0, 0, 0) # (B, G, R)\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 4, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "alpha_s = img[:, :, 3] / 255.0\n", | |
| "alpha_l = 1.0 - alpha_s\n", | |
| "\n", | |
| "for c in range(0, 3):\n", | |
| " blank_image[y1:y2, x1:x2, c] = (alpha_s * img[:, :, c] + alpha_l * blank_image[y1:y2, x1:x2, c])" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 5, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\naWRCAAAAAElFTkSuQmCC\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x11cf5b3c8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.imshow(cv2.cvtColor(blank_image, cv2.COLOR_BGR2RGB))\n", | |
| "plt.show()\n" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 6, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "<class 'numpy.ndarray'>\n", | |
| "(768, 1024, 3)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "size = (width, height)\n", | |
| "center = (width/2,height/2)\n", | |
| "\n", | |
| "# rotate, scale\n", | |
| "angle, scale = 30.0, 0.5 \n", | |
| "\n", | |
| "# matrix\n", | |
| "R = cv2.getRotationMatrix2D(center, angle, scale) \n", | |
| "\n", | |
| "# afin transform\n", | |
| "dst = cv2.warpAffine(blank_image, R, size, flags=cv2.INTER_CUBIC) \n", | |
| "\n", | |
| "print(type(dst))\n", | |
| "print(dst.shape)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 7, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x12216e080>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "plt.imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB))\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 8, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x12219ea20>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "gray = cv2.cvtColor(dst, cv2.COLOR_BGR2GRAY)\n", | |
| "\n", | |
| "plt.imshow(gray)\n", | |
| "plt.gray()\n", | |
| "plt.show()" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 9, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVUAAAEACAYAAAADT+VqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFn5JREFUeJzt3X+wVWW9x/H3RwGvYvywAgaOIkVKZFaU6Oi9U6KiWYGD\nPy7NncLsNs44laMzBfSH3v64M+pMaIVNNXX12NXIJC/kaJ6MqalmRFRIkiMeLoF4iiMWoaZdQL73\nj/1I2yPuH4dn77X3Pp/XzBrWftav5zln8znPs9baeykiMDOzPI4ougJmZp3EoWpmlpFD1cwsI4eq\nmVlGDlUzs4wcqmZmGTUsVCVdIOkpSU9LWtyo45iZtRI14j5VSUcATwPnAH8E1gELI+Kp7AczM2sh\njeqpzgb6ImJ7ROwDVgDzG3QsM7OW0ahQnQLsKHv9bCozM+tovlBlZpbRiAbttx84oex1Vyo7SJK/\ndMDMWl5EqJ71G9VTXQdMlzRV0ihgIbC6QccyM2sZDempRsSrkj4P9FAK7u9HRG8jjmVm1koacktV\nTQf28N/M2kCrDP/NzIYlh6qZWUYOVTOzjByqZmYZOVTNzDJyqJqZZeRQNTPLyKFqZpaRQ9XMLCOH\nqplZRg5VM7OMHKpmZhk5VM3MMnKompll5FA1M8vIoWpmlpFD1cwsI4eqmVlGDlUzs4wcqmZmGVUN\nVUnflzQg6YmysvGSeiRtlvSgpLFly5ZK6pPUK2luoypuZtaKaump3gacP6hsCfBQRJwMrAGWAkia\nCVwGvBv4KPAtSXU9idDMrJ1VDdWI+A2we1DxfKA7zXcDF6X5ecCKiNgfEduAPmB2nqqambW+oZ5T\nnRARAwARsROYkMqnADvK1utPZWZmw0KuC1WRaT9mZm1tqKE6IGkigKRJwHOpvB84vmy9rlRmZjYs\n1BqqStNrVgOXp/lFwKqy8oWSRkmaBkwHHslQTzOztjCi2gqS7gI+ArxV0jPA9cANwI8lXQFsp3TF\nn4jYJOluYBOwD7gqInxqwMyGDRWVeZIctmbW8iKirttC/YkqM7OMHKpmZhk5VM3MMnKompll5FA1\nM8vIoWpmlpFD1cwsI4eqmVlGDlUzs4wcqmZmGTlUzcwycqiamWXkUDUzy8ihamaWkUPVzCwjh6qZ\nWUYOVTOzjByq1pGOPPLIoqtgw5RD1TpKRBAR7N+/n4jg1FNPLbpKNsz4GVXWMd7svSzV9Yghs9fJ\n/owqSV2S1kh6UtJGSV9M5eMl9UjaLOlBSWPLtlkqqU9Sr6S59TfDrD6VOgd+oK81U9WeqqRJwKSI\n2CDpWOAxYD7wGeDPEXGTpMXA+IhYImkmcCdwGtAFPAS8a/Cjqt1TtZxqeB83qSbWabL3VCNiZ0Rs\nSPMvAb2UwnI+0J1W6wYuSvPzgBURsT8itgF9wOx6KmVm1q7qulAl6UTg/cDDwMSIGIBS8AIT0mpT\ngB1lm/WnMrOGuOqqq4qugtlBNYdqGvrfA1ydeqyDx1sezlsh5syZU3H5M888k/V448aNO3iXgW/d\nssFqClVJIygF6g8iYlUqHpA0MS2fBDyXyvuB48s270plZg1x8cUXV1w+derUbMdatmwZu3fvPvh6\n//79XHfdddn2bx3gtb+4lSbgDmDZoLIbgcVpfjFwQ5qfCawHRgHTgC2kC2KDtg9PnnJM1TTjWBdf\nfHHhPwdPjZlqycjXZVsNgXoW8CqwgVJYPg5cABxH6cr+ZqAHGFe2zVJKYdoLzH2T/Rb+w/LU/tMn\nP/nJpoVqM8PbU+tM9Yaqb/63tlbt/bto0SLuuOOOphzLt211pqjzliqHqrW1ZgXdeeedR09PT1OO\nZa3FoWrDSrNCtZb/Jw7VzlRvqPoLVaxtPfbYY0VX4aD58+cXXQVrEe6pWtuq9t599NFHOe2005py\nLPdSO5eH/zZsNDPoHKrDl4f/NixMmzataceqFqi/+tWvmlQTawfuqVpb2rJlC+985zsrrtOsi1Tu\npXY291RtWKgWqJs2bcpynAkTJlRfyayMQ9U60nve854s+7n00kuz7MeGDw//re2MGzfudV9qcijN\nGvqfeuqpbNy4McuxrDV5+G8db8eOHRWX33XXXU2qCQ5UewP3VK3tVHvPvuUtb+Gll15qyrF8karz\nuadqw16uQD1w4EDF5Vu2bMlyHOssDlWzN1GtFzp3rh8UbG/kULW2Um043szvA/jDH/7QtGNZ+3Co\nWkc577zzsuznG9/4Rpb92PDjULW2MXny5KrrVLvVqlZHHXVUU45jncdX/61tTJ48mf7+ys+QbNb9\nqSNGjODVV1/Ncixrbb76bx2rWqBef/31TaoJDlR7U+6pWtto1j2j1157LV/72teacixrfdl7qpKO\nkrRW0npJGyVdn8rHS+qRtFnSg5LGlm2zVFKfpF5Jvu/E2kq1QP3mN7/ZpJpYW6rlkavAMenfI4GH\ngdnAjcCXU/li4IY0P5PSo6xHACdSelS1/IhqT4czrVy5suLjoXft2pXtWH4UtadB74e6HlFd0znV\niHg5zR5FKSwDmA90p/Ju4KI0Pw9YERH7I2Ib0EcphM2GbMGCBRWXv/3tb29STcwqqylUJR0haT2w\nE/h5RKwDJkbEAEBE7ARe++LJKUD5N170pzKzlvezn/2s4vLt27c3qSbWrmrtqR6IiA8AXcBsSe+h\n1Ft93Wq5K2cGcPbZZzftWOeff37F5bfcckuTamLtqq5bqiLiBeCXwAXAgKSJAJImAc+l1fqB48s2\n60plZkOyZs2aoqtwkEPVqqnl6v/bXruyL+lo4DygF1gNXJ5WWwSsSvOrgYWSRkmaBkwHHslcb7OD\nzjzzzCz7+fjHP55lPza8Vb1PVdJ7KV2IOiJNP4qI/5R0HHA3pV7pduCyiPhr2mYp8FlgH3B1RPQc\nYr8+XWA1adb9qb29vcyYMaMpx7L2Ue99qr7531pepffoiy++yJgxYxp+HIBPfOIT3HfffVmOZe3D\nH1O1jvL73/++4vInnniiSTXBgWo1cU/VWlqzhv5jxoxhz549TTmWtRf3VM2G4He/+13F5T09b7gs\nYHZIDlVrWVdeeWXTjnXiiSdWXH7JJZc0pyLW9jz8t5ZV7b35wAMPcOGFFzblWB76D18e/tuwkav3\neO2112bZjxm4p2otrFm9x2rHOfnkk3n66aezHMvaj3uq1hFuv/32oqtw0AsvvFB0FayNuKdqLWnv\n3r2MHDnyTZfn6qWOHDmSvXv3VlzH51OHN3+iyjpCqwz9cx7L2pOH/2YZLV++vOgqWJtxqFrLWbZs\nWdFVOOgLX/hC0VWwNuNQtZZzzTXXVFx+7LHHZjnOd77znSz7MSvnc6rWcnw+1VqJz6laW2ulB/g5\nUG0oHKrWUnIN7c2K4lC1lrJ169aKy5csWZLlOKecckqW/ZgN5lC1tvLKK69k2c/GjRuz7MdsMF+o\nspbSKhepfD7VXuMLVWZV3HrrrUVXwTpYzaEq6QhJj0tanV6Pl9QjabOkB197jHVatlRSn6ReSXMb\nUXGzoTr99NMrLvc3UtnhqHn4L+ka4IPAmIiYJ+lG4M8RcZOkxcD4iFgiaSZwJ3Aa0AU8BLwrBh3I\nw387lGYMyz30t3o0ZPgvqQu4EPheWfF8oDvNdwMXpfl5wIqI2B8R24A+YHY9lTJrlE9/+tNFV8E6\nXK3D/5uBLwHlf+InRsQAQETsBCak8inAjrL1+lOZWeG6u7urr2R2GKqGqqSPAQMRsQGo1A32cN4a\nbvHixUPe9sknn6y6jof+drhq6ameBcyTtBX4ITBH0g+AnZImAkiaBDyX1u8Hji/bviuVmVU1YcKE\nistvuOGGIe975syZQ97WrFZVQzUivhIRJ0TEO4CFwJqI+BTwU+DytNoiYFWaXw0slDRK0jRgOvBI\n9ppbR9q1a1fVdUaPHl33frdv3151nRkzZtS9X7PBRhzGtjcAd0u6AtgOXAYQEZsk3Q1sAvYBVw2+\n8m92OF566aW6hum1vv02b9481CqZ/UNEFDJROgfrydMbpmXLlkU1W7ZsqWlfW7ZsqbqviIjRo0cX\n3m5PrTnVm23+mKq1pFrfl2/WYx03bhy7d++uaR9///vfOfroo2uumw0vDblP1azZ9u3bV9N65T2E\n66677uB8rYEKOFAtK/dUrWU147351re+lb/85S8NP461L/dUrWOce+65Dd3/nDlzHKiWnXuq1tJO\nP/10Hn744ez7PeOMM1i7dm32/VrncU/VOsratWuZM2dO1n329vY6UK1h3FO1trBy5UoWLFhw2Pvx\nx1CtXvX2VB2q1jYmT55Mf//QPvG8e/dujjvuuMw1suHAw3+zMl/96leR5EC1pnFP1dpGtffqjTfe\nyE033eQr+paVh//Wsaq9V32+1BrBw38zswI5VK0trFy5suLy559/vkk1MavMw39rC9Xep5deein3\n3HNPk2pjw4nPqVpH8vlUK4rPqVrHOfvss4uuglnNHKrW8tasWVNx+ec+97km1cSsOoeqtb1anpJq\n1iw+p2otz+dTrUg+p2od5ZRTTim6CmZ1cahaS/v1r39dcflvf/vbJtXErDY1Df8lbQP2AAeAfREx\nW9J44EfAVGAbcFlE7EnrLwWuAPYDV0dEzyH26eG/VeWhvxWtUcP/A8BHIuIDETE7lS0BHoqIk4E1\nwFIASTOBy4B3Ax8FviW/881smKg1VHWIdecD3Wm+G7gozc8DVkTE/ojYBvQBszGr05VXXll0Fczq\nVmuoBvBzSesk/XsqmxgRAwARsROYkMqnADvKtu1PZWZ1+fa3v11x+QMPPNCkmpjVbkSN650VEX+S\n9HagR9JmSkFbzudIrakuueSSoqtg9gY19VQj4k/p313A/1Aazg9ImgggaRLwXFq9Hzi+bPOuVGaW\n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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1221717b8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| }, | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "1\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# 2値化\n", | |
| "#retval, bw = cv2.threshold(gray, 50, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)\n", | |
| "#retval, bw = cv2.threshold(gray, 200, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)\n", | |
| "retval, bw = cv2.threshold(gray, 0, 1, cv2.THRESH_BINARY | cv2.THRESH_OTSU)\n", | |
| "\n", | |
| "# 輪郭を抽出\n", | |
| "# contours : [領域][Point No][0][x=0, y=1]\n", | |
| "# cv2.CHAIN_APPROX_NONE: 中間点も保持する\n", | |
| "# cv2.CHAIN_APPROX_SIMPLE: 中間点は保持しない\n", | |
| "\n", | |
| "#imgEdge,contours,hierarchy = cv2.findContours(bw, cv2.RETR_LIST, cv2.CHAIN_APPROX_NONE)\n", | |
| "imgEdge,contours,hierarchy = cv2.findContours(bw, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)\n", | |
| "\n", | |
| "# 矩形検出された数(デフォルトで0を指定)\n", | |
| "detect_count = 0\n", | |
| "\n", | |
| "plt.imshow(bw)\n", | |
| "plt.show()\n", | |
| "\n", | |
| "print(len(contours))" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 10, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n/w9NvSCfpK8cdQAAAABJRU5ErkJggg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1233251d0>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "# sort by area\n", | |
| "contours.sort(key=cv2.contourArea, reverse=True)\n", | |
| " \n", | |
| "if len(contours[0]) > 0:\n", | |
| " contour = contours[0]\n", | |
| " #print(rect)\n", | |
| " #x, y, w, h = cv2.boundingRect(rect)\n", | |
| " #cv2.rectangle(dst, (x, y), (x + w, y + h), (0, 255, 0), 5)\n", | |
| "\n", | |
| " # 輪郭の近似\n", | |
| " epsilon = cv2.arcLength(contour,True)\n", | |
| " approx = cv2.approxPolyDP(contour,\n", | |
| " 0.003*epsilon, # 近似の具合?\n", | |
| " True)\n", | |
| " cv2.drawContours(dst, [approx], -1, (255, 0, 255), 5)\n", | |
| "\n", | |
| " detect_count = detect_count + 1\n", | |
| "\n", | |
| "plt.imshow(cv2.cvtColor(dst, cv2.COLOR_BGR2RGB))\n", | |
| "plt.show()\n" | |
| ] | |
| } | |
| ], | |
| "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.5.1" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment