import cv2
import urllib
import requests
import PIL.Image
import numpy as np
from bs4 import BeautifulSoup
#ship synset
page = requests.get("http://www.image-net.org/api/text/imagenet.synset.geturls?wnid=n04194289")
soup = BeautifulSoup(page.content, 'html.parser')
#bicycle synset
bikes_page = requests.get("http://www.image-net.org/api/text/imagenet.synset.geturls?wnid=n02834778")
bikes_soup = BeautifulSoup(bikes_page.content, 'html.parser')
str_soup=str(soup)
split_urls=str_soup.split('\r\n')
bikes_str_soup=str(bikes_soup)
bikes_split_urls=bikes_str_soup.split('\r\n')
!mkdir /content/train
!mkdir /content/train/ships
!mkdir /content/train/bikes
!mkdir /content/validation
!mkdir /content/validation/ships
!mkdir /content/validation/bikes
img_rows, img_cols = 32, 32
input_shape = (img_rows, img_cols, 3)
def url_to_image(url):
resp = urllib.request.urlopen(url)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
return image
n_of_training_images=100
for progress in range(n_of_training_images):
if not split_urls[progress] == None:
try:
I = url_to_image(split_urls[progress])
if (len(I.shape))==3:
save_path = '/content/train/ships/img'+str(progress)+'.jpg'
cv2.imwrite(save_path,I)
except:
None
for progress in range(n_of_training_images):
if not bikes_split_urls[progress] == None:
try:
I = url_to_image(bikes_split_urls[progress])
if (len(I.shape))==3:
save_path = '/content/train/bikes/img'+str(progress)+'.jpg'
cv2.imwrite(save_path,I)
except:
None
for progress in range(50):
if not split_urls[progress] == None:
try:
I = url_to_image(split_urls[n_of_training_images+progress])
if (len(I.shape))==3:
save_path = '/content/validation/ships/img'+str(progress)+'.jpg'
cv2.imwrite(save_path,I)
except:
None
for progress in range(50):
if not bikes_split_urls[progress] == None:
try:
I = url_to_image(bikes_split_urls[n_of_training_images+progress])
if (len(I.shape))==3:
save_path = '/content/validation/bikes/img'+str(progress)+'.jpg'
cv2.imwrite(save_path,I)
except:
None