{"cells":[{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"122b2d6d-0d4a-47f6-82df-052b9d30c233"},"outputs":[],"source":"import numpy as np\nimport pandas as pd\nfrom pandas import Series,DataFrame\nimport matplotlib.pyplot as plt\n%matplotlib inline\nfrom PIL import Image, ImageFilter\nimport random\nimport cv2\nimport os, glob\nfrom sklearn.linear_model import LogisticRegression\n\n\nt = pd.read_csv('../input/train_info.csv'); t.head()\ns = pd.read_csv('../input/submission_info.csv'); s.head()\ntrain_files = [f for f in glob.glob(\"../input/train_2/*\")]\ni_ = 0\nplt.rcParams['figure.figsize'] = (10.0, 10.0)\nplt.subplots_adjust(wspace=0, hspace=0)\nfor l in train_files[:100]:\n    im = cv2.imread(l)\n    im = cv2.resize(im, (50, 50)) \n    plt.subplot(10, 10, i_+1) #.set_title(l)\n    plt.imshow(cv2.cvtColor(im, cv2.COLOR_BGR2RGB)); plt.axis('off')\n    i_ += 1"},{"cell_type":"markdown","metadata":{"_cell_guid":"f2bba632-fd90-496b-94b3-03ac10c70ccc"},"source":"## Artwork from Artwork - Is that Possible?\n"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"4b7cb615-c454-483a-a4d6-30b435be318f"},"outputs":[],"source":"im1 = Image.open('../input/train_2/23504.jpg')\nim2 = Image.open('../input/train_2/22873.jpg')\nw1, h1 = im1.size; w2, h2 = im2.size\np2 = im2.load() #get pixels\n#for x in range(0, w1,2):\n#    if x < w2:\n#        for y in range(0, h1,2):\n#            if y < h2:\n#                 im1.putpixel((x, y), p2[x,y])\nim2 = im2.convert ('L').filter (ImageFilter.EDGE_ENHANCE_MORE)\nplt.imshow(im2, cmap='Greys_r'); plt.axis('off')"},{"cell_type":"markdown","metadata":{"_cell_guid":"76cb4b76-c2de-4877-a7f9-1f6957f871a2"},"source":"## Lets test some basic filters\n\n    BLUR\n    CONTOUR\n    DETAIL\n    EDGE_ENHANCE\n    EDGE_ENHANCE_MORE\n    EMBOSS\n    FIND_EDGES\n    SMOOTH\n    SMOOTH_MORE\n    SHARPEN"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"f139e9c7-cb36-49d2-b07d-d62b1e50c2ed"},"outputs":[],"source":"iFilters = [ImageFilter.BLUR, ImageFilter.CONTOUR, ImageFilter.DETAIL, \n            ImageFilter.EDGE_ENHANCE, ImageFilter.EDGE_ENHANCE_MORE, ImageFilter.EMBOSS, \n            ImageFilter.FIND_EDGES, ImageFilter.SMOOTH, ImageFilter.SMOOTH_MORE, \n            ImageFilter.SHARPEN]\nplt.rcParams['figure.figsize'] = (6.0, 20.0)\nplt.subplots_adjust(wspace=0, hspace=0)\nfor i in range(10):\n    im3 = im2\n    im3 = im3.filter(iFilters[i])\n    #im = cv2.resize(im, (300, 300)) \n    plt.subplot(5, 2, i+1) #.set_title(l)\n    plt.imshow(im3); plt.axis('off')"},{"cell_type":"markdown","metadata":{"_cell_guid":"b0d47c05-022b-48de-b3c8-c3d2444c481b"},"source":"## Lets add a third image"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"09820824-f4fb-40dd-b679-c17524e063f4"},"outputs":[],"source":"plt.rcParams['figure.figsize'] = (10.0, 10.0)\nim2 = Image.open(train_files[61])\nim2 = im2.resize((w1,h1), Image.ANTIALIAS)\nw2, h2 = im2.size\np1 = im1.load(); p2 = im2.load()\nfor x in range(0, w1,1):\n    if x < w2:\n        for y in range(0, h1,1):\n            if y < h2:\n                 im1.putpixel((x, y), (p1[x,y][0], p1[x,y][1], p2[x,y][2]))\nplt.imshow(im1); plt.axis('off')"},{"cell_type":"markdown","metadata":{"_cell_guid":"fecae4d5-863c-46b1-96ca-ad3ef036d657"},"source":"## Features, Features, Features"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"e82e411f-dd98-48a4-baf4-1ec5941582af"},"outputs":[],"source":"from PIL import ImageStat\nstats = ImageStat.Stat(im1, mask=None)\nprint(stats.extrema)\nprint(stats.count)\nprint(stats.sum)\nprint(stats.sum2)\nprint(stats.mean)\nprint(stats.median)\nprint(stats.rms)\nprint(stats.var)\nprint(stats.stddev)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"59289192-3c8c-4b65-ac73-b6b0bb566e57"},"outputs":[],"source":""}],"metadata":{"_change_revision":0,"_is_fork":false,"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.2"}},"nbformat":4,"nbformat_minor":0}