{"cells":[{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd\nfrom PIL import Image\nimport matplotlib.pyplot as plt\n\nimport matplotlib.patches as patches\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def get_bbox(bboxes, col, color='red', bbox_format='coco'):\n    \n    for i in range(len(bboxes)):\n            rect = patches.Rectangle(\n                (bboxes[i][0], bboxes[i][1]),\n                bboxes[i][2], \n                bboxes[i][3], \n                linewidth=2, \n                edgecolor=color, \n                facecolor='none')\n\n            col.add_patch(rect)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import re \ntrain_df = pd.read_csv('/kaggle/input/global-wheat-detection/train.csv')\ntrain_df['x'] = -1\ntrain_df['y'] = -1\ntrain_df['w'] = -1\ntrain_df['h'] = -1\n\ndef expand_bbox(x):\n    r = np.array(re.findall(\"([0-9]+[.]?[0-9]*)\", x))\n    if len(r) == 0:\n        r = [-1, -1, -1, -1]\n    return r\n\ntrain_df[['x', 'y', 'w', 'h']] = np.stack(train_df['bbox'].apply(lambda x: expand_bbox(x)))\ntrain_df.drop(columns=['bbox'], inplace=True)\ntrain_df['x'] = train_df['x'].astype(np.float)\ntrain_df['y'] = train_df['y'].astype(np.float)\ntrain_df['w'] = train_df['w'].astype(np.float)\ntrain_df['h'] = train_df['h'].astype(np.float)\n\ntrain_df.head(5)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"'''3687\n117344\n173\n113947\n52868\n2159\n2169\n121633\n121634\n147504\n118211\n52727\n147552'''","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"for k in [3687,117344,173,113947,52868,2159,2169,121633,121634,147504,118211,52727,147552]:\n    print(train_df.iloc[k][0])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import cv2 \nimport os\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '893938464'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.loc[147552,'x']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.loc[147552,'x'] = 166+296\ntrain_df.loc[147552,'w'] = 148\ntrain_df.iloc[147552]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import cv2 \nimport os\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '893938464'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.loc[147552,'x'] = 462\ntrain_df.iloc[147552]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import cv2 \nimport os\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '893938464'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# import cv2# import os\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '9a30dd802'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.iloc[52868]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.loc[52868,'w'] = 417-212\ntrain_df.loc[52868,'y'] = 301+185\ntrain_df.loc[52868,'h'] = 370-185\n\n\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '9a30dd802'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"BASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = 'd7a02151d'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df = train_df.drop([118211],axis = 0)\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = 'd7a02151d'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '42e6efaaa'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df = train_df.drop([113947],axis = 0)\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '42e6efaaa'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '41c0123cc'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.iloc[173]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_df.loc[173,'x'] = 300\ntrain_df.loc[173,'y'] = 15+246\ntrain_df.loc[173,'w'] = 68\ntrain_df.loc[173,'h'] = 130\n\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = '41c0123cc'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nBASE_DIR = '/kaggle/input/global-wheat-detection'\nimage_id = 'dcafcae79'\nimage = cv2.imread(os.path.join(BASE_DIR, 'train', f'{image_id}.jpg'), cv2.IMREAD_COLOR)\nimage = cv2.cvtColor(image, cv2.COLOR_BGR2RGB).astype(np.float32)\nimage = image/255\nboxes = train_df[train_df['image_id'] == image_id][['x', 'y', 'w', 'h']].astype(np.int32).values\nfig, ax = plt.subplots(nrows=1, figsize=(8, 8))\n\nget_bbox(boxes, ax, color='red', bbox_format='coco')\nax.title.set_text('Image')\nax.imshow(image)\nplt.show()","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}