Я хочу запустить скрипт Python, который принимает около 350 изображений, а генерируемый вывод содержит более 700 миллионов строк, поэтому обработка занимает много времени.Вот почему я хотел запустить скрипт в облачной оболочке Google и сохранить результат в виде облачной базы данных SQL.Я хочу знать, как я могу изменить и запустить скрипт в оболочке, чтобы он брал данные из корзины и сохранял их в базе данных.Любая помощь приветствуется
import cv2
import numpy as np
import sqlite3
from skimage import data
from skimage import filters
from skimage import exposure
from skimage.color import rgb2gray
import matplotlib.pyplot as plt
import glob
import csv
ksize=31
filters1=[]
def build_filters():
for theta in np.arange(0, (np.pi* 0.75), np.pi/4):
for lamda in np.arange(0, np.pi, np.pi/8):
kernel= cv2.getGaborKernel((ksize, ksize), 0.8, theta, lamda, 0.8, 0, cv2.CV_32F )
kernel= kernel / (1.5* kernel.sum())
filters1.append(kernel)
return filters1
def process_img(img, filters):
accum=np.zeros_like(img)
for kernel in filters1:
filtered= cv2.filter2D(img, cv2.CV_8UC3, kernel)
np.maximum(accum, filtered, accum)
return accum
filters1=build_filters()
conn = sqlite3.connect('train.db')
c = conn.cursor()
def create_table():
c.execute("CREATE TABLE IF NOT EXISTS features(intensity REAL,red REAL,green REAL,blue REAL,yellow REAL,Orientation REAL,foreground REAL)")
create_table()
def dynamic_data_entry(I,R,G,B,Y,O,fore):
intensity = float(I)
red = float(R)
green = float(G)
blue = float(B)
yellow = float(Y)
Orientation = float(O)
foreground = int(fore)
c.execute("INSERT INTO features (intensity,red,green,blue,yellow,Orientation,foreground) VALUES(?, ?, ?, ?, ?, ?, ?)",
(intensity,red,green,blue,yellow,Orientation,foreground))
conn.commit()
for file in glob.glob('c:/Users/shafee/Downloads/image dataset/1080p/*.jpg'):
img = cv2.imread(file)
img = cv2.resize(img,(192,108))
r=img[:,:,2]
g=img[:,:,1]
b=img[:,:,0]
img1=cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
val=filters.threshold_otsu(img1)
foreground=img1<val
R=r- (g + b)/2
I=(r + g + b)/3
G= g - ( r + b)/2
B= b - (r + g)/2
Y =(r + g)/2 -abs(r - g)/2 - b
O= process_img(img1, filters1)
I1=I.reshape(-1,1); I1 = np.divide(I1,255)
R1=R.reshape(-1,1); R1 = np.divide(R1,255)
G1=G.reshape(-1,1); G1 = np.divide(G1,255)
B1=B.reshape(-1,1); B1 = np.divide(B1,255)
Y1=Y.reshape(-1,1); Y1 = np.divide(Y1,255)
O1=O.reshape(-1,1); O1 = np.divide(O1,255)
fore1=foreground.reshape(-1,1)
for i in range(20736):
dynamic_data_entry(I1[i], R1[i], G1[i], B1[i], Y1[i], O1[i], int(fore1[i]==True))
c.close
conn.close()