{"cells":[{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"7a88d89b-4aac-f0ac-794e-64e65e6c1bfb"},"outputs":[],"source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nimport cv2\n\nfrom subprocess import check_output\nprint(check_output([\"ls\", \"../input\"]).decode(\"utf8\"))\n\n# Any results you write to the current directory are saved as output."},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"4d22032f-6252-b272-e728-8824b0df9141"},"outputs":[],"source":"img = cv2.cvtColor(cv2.imread(imgList[k]), cv2.COLOR_BGR2RGB)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"f127a36c-f191-7ac5-ef01-4d4d83efa324"},"outputs":[],"source":"# Create search color masks for given circle colors\nred = cv2.inRange(img, np.array([160, 0, 0]), np.array([255, 50, 50]))\nmagenta = cv2.inRange(img, np.array([128, 0, 128]), np.array([255, 0, 255]))\nbrown = cv2.inRange(img, np.array([139, 69, 16]), np.array([222,184,135]))\nblue = cv2.inRange(img, np.array([0, 0, 128]), np.array([50, 50, 255]))\ngreen = cv2.inRange(img, np.array([0, 128, 0]), np.array([50, 255, 50]))\n\ncolors = [red, magenta, brown, blue, green]"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"3a44f1cd-93cf-8976-8ab8-758235873d52"},"outputs":[],"source":"np.shape(colors)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"d584d8b3-ec02-584d-62cf-16ab2997eca8"},"outputs":[],"source":"coord = [] # Array containing seal coordinates and label\ninput_path = \"../input/TrainDotted/\"\n\n# Get images\nimgList = check_output([\"ls\", \"../input/TrainDotted\"]).decode(\"utf8\").split(\"\\n\")\n\n# Loop over images and crop them\nfor k in range(0, 1):\n    #np.shape(imgList)[0]\n    img = cv2.cvtColor(cv2.imread(input_path+str(imgList[k])), cv2.COLOR_BGR2RGB)\n    print(input_path+str(imgList[k]))\n    # Create search color masks for given circle colors\n    red = cv2.inRange(img, np.array([160, 0, 0]), np.array([255, 50, 50]))\n    magenta = cv2.inRange(img, np.array([200, 200, 50]), np.array([255, 0, 255]))\n    brown = cv2.inRange(img, np.array([76, 39, 5]), np.array([94, 53, 22]))\n    blue = cv2.inRange(img, np.array([0, 0, 160]), np.array([56, 56, 255]))\n    green = cv2.inRange(img, np.array([0, 160, 0]), np.array([56, 255, 56]))\n    \n    colors = [red, magenta, brown, blue, green]\n    labels = ['red', 'magenta', 'brown', 'blue', 'green']\n    \n    # Loop over color masks to find seal boundaries\n    print(np.shape(colors))\n    for j in range(0, np.shape(colors)[0]):\n        cmsk = colors[j]\n        label = labels[j]\n        circles = cv2.HoughCircles(cmsk,cv2.HOUGH_GRADIENT,1,50, \n                                   param1=40,param2=1,minRadius=0,maxRadius=25)\n        print(np.shape(circles))\n        if np.shape(circles) == ():\n            continue\n        else:\n            for i in range(0, np.shape(circles)[1]):\n                x = circles[0][i][0]\n                y = circles[0][i][1]\n                coord.append([x, y, label])\n"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"da6d21ca-fbfc-7091-fc44-0131284609b4"},"outputs":[],"source":"np.shape(coord)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"1f031830-efcd-e7c4-3972-8f312ece4bef"},"outputs":[],"source":"counter = 0\nfor i in range(0, np.shape(coord)[0]):\n    if coord[i][2] == 'green':\n        counter += 1\n\nprint(counter)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"1cf536ec-76f0-1777-185b-3ebc6d1e5e0c"},"outputs":[],"source":"str(colors[0])"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"32b5aa62-9d62-3fe7-622e-2fb66e83b15b"},"outputs":[],"source":"img = cv2.cvtColor(cv2.imread(\"../input/TrainDotted/10.jpg\"), cv2.COLOR_BGR2RGB)"},{"cell_type":"code","execution_count":null,"metadata":{"_cell_guid":"c771628f-852b-648f-2962-62739f4de7c2"},"outputs":[],"source":"k = []\nk.append([1, \"te\"])\nprint(k)"}],"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.6.0"}},"nbformat":4,"nbformat_minor":0}