update,
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
# write a pytohn code that will read a image named `helloworld.jpg`,
|
||||
# crop 20x20 pixels randomly
|
||||
# create a output folder named `output`,
|
||||
# save the cropped image in the output folder, and rename it to `helloworld_cropped.jpg`
|
||||
import os,sys
|
||||
import cv2
|
||||
import random
|
||||
|
||||
crop_width = int(sys.argv[1])
|
||||
crop_height = int(sys.argv[2])
|
||||
no_files = int(sys.argv[3])
|
||||
no_slices = int(sys.argv[4])
|
||||
|
||||
# remove all files in output before start
|
||||
for file in os.listdir('output'):
|
||||
file_path = os.path.join('output', file)
|
||||
try:
|
||||
if os.path.isfile(file_path):
|
||||
os.unlink(file_path)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
# Read the image
|
||||
images = []
|
||||
for i in range(300, 300+99+1):
|
||||
image = cv2.imread(f'_pool/{i}.jpg')
|
||||
images.append(image)
|
||||
|
||||
j = 0
|
||||
for _ in range(no_files):
|
||||
# Randomly select a image from images
|
||||
image = random.choice(images)
|
||||
if image is None:
|
||||
continue
|
||||
height, width, _ = image.shape
|
||||
|
||||
# Generate random coordinates for cropping
|
||||
|
||||
x = random.randint(0, width - crop_width)
|
||||
y = random.randint(0, height - crop_height)
|
||||
|
||||
# Crop the image
|
||||
cropped_image = image[y:y+crop_height, x:x+crop_width]
|
||||
|
||||
for i in range(no_slices):
|
||||
j+=1
|
||||
# Generate random coordinates for cropping
|
||||
x = random.randint(0, width - crop_width)
|
||||
y = random.randint(0, height - crop_height)
|
||||
|
||||
# Crop the image
|
||||
cropped_image = image[y:y+crop_height, x:x+crop_width]
|
||||
|
||||
# Create output directory if it doesn't exist
|
||||
output_dir = 'output'
|
||||
if not os.path.exists(output_dir):
|
||||
os.makedirs(output_dir)
|
||||
|
||||
# Save the cropped image
|
||||
cv2.imwrite(os.path.join(output_dir, '{}.jpg'.format(j)), cropped_image)
|
||||
|
Reference in New Issue
Block a user