123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- import numpy as np
- import time,sys
- #import requests
- import json
- import matplotlib
- import matplotlib as mpl
- mpl.use('Agg')
- import matplotlib.pyplot as plt
- import datetime
- import os
- import urllib
- import urllib.request
- import urllib.parse
- import base64
- import cv2
- from PIL import Image
- import time
- import pymysql
- from concurrent.futures import ThreadPoolExecutor
- def img(c,x):
- try:
- db = pymysql.connect(host='52.69.200.169', port=3306, user='edamame', password='skyeye', database='Edamame',
- charset='utf8')
- a = db.cursor()
- if int(c) <= 9:
- a.execute(
- "SELECT * FROM jvt_o_time where nr ='GTW00900200" + c + "' and mode = '" + x + "'ORDER BY datetime DESC LIMIT 0 , 1")
- else:
- a.execute(
- "SELECT * FROM jvt_o_time where nr ='GTW0090020" + c + "' and mode = '" + x + "'ORDER BY datetime DESC LIMIT 0 , 1")
- result = a.fetchall()
- if result == ():
- s = ""
- else:
- s = "_" + result[0][3]
- a.close()
- db.close()
- ndvis = datetime.datetime.now().strftime(
- 'C:/Users/NB/Desktop/0/' + c + '/ndvi' + x + '/%Y-%m-%d_%H.%M.tif') # ndvi is time.tif
- # ndvia = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'/ndvia'+x+'/%Y-%m-%d_%H.%M.png') #ndvi is time.png
- # ndviajpg = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'/ndvia/c.png') #ndvi is c.png
- irt = datetime.datetime.now().strftime(
- 'C:/Users/NB/Desktop/0/' + c + '/ir' + x + '/%Y-%m-%d_%H.%M.tif') # irtif is time.tif
- nt = datetime.datetime.now().strftime(
- 'C:/Users/NB/Desktop/0/' + c + '/n' + x + '/%Y-%m-%d_%H.%M.tif') # ntif is time.tif
- # irj = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'/irj'+x+'/%Y-%m-%d_%H.%M.jpg') # irjpg is time.jpg
- # nj = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'/nj'+x+'/%Y-%m-%d_%H.%M.jpg') # njpg is time.jpg
- date = datetime.datetime.now().strftime('\n%Y-%m-%d_%H.%Mn')
- date += s
- print(date)
- label = datetime.datetime.now().strftime('No.' + c + ' Direction ' + x + ' @%Y.%m.%d.%H.%M.%S')
- # rgb_img0 = Image.open('/var/www/html/cust/'+c+'/c/b'+x+'.tif')
- # ir_img0 = Image.open('/var/www/html/cust/'+c+'/c/a'+x+'.tif')
- rgb_img0 = Image.open('C:/Users/NB/Desktop/0/' + c + '/c/b' + x + '.tif')
- ir_img0 = Image.open('C:/Users/NB/Desktop/0/' + c + '/c/a' + x + '.tif')
- rgb_img0.save(nt)
- ir_img0.save(irt)
- # rgb_img0.save(nj,quality=95)
- # ir_img0.save(irj,quality=95)
- r, _, _ = rgb_img0.split()
- r = np.asarray(r, dtype=float)
- ir, _, _ = ir_img0.split()
- ir = np.asarray(ir, dtype=float)
- ndvi = np.zeros(r.size) # The NDVI image will be the same size as the input image
- np.seterr(divide='ignore', invalid='ignore')
- ndvi = np.true_divide(np.subtract(ir, r), np.add(ir, r))
- # Display the results
- fig, ax = plt.subplots()
- plt.plot(ndvi)
- plt.axis('off')
- plt.figure(figsize=(19, 10))
- plt.imshow(ndvi, cmap=plt.cm.get_cmap('Spectral'), vmin=-1, vmax=1)
- plt.gca().xaxis.set_major_locator(plt.NullLocator())
- plt.gca().yaxis.set_major_locator(plt.NullLocator())
- plt.margins(0, 0)
- # plt.show()
- # plt.savefig(ndvis)
- # plt.savefig(ndvia)
- # plt.savefig(ndviajpg,bbox_inches='tight',pad_inches=0,format='png')
- plt.close('all')
- f = open('C:/Users/NB/Desktop/0/' + c + '_' + x + '.txt', 'a')
- f.write(date)
- f.close()
- except:
- print('')
- def imgm(c,x):
- try:
- db = pymysql.connect(host='52.69.200.169', port=3306, user='edamame', password='skyeye', database='Edamame',
- charset='utf8')
- a = db.cursor()
- if int(c)<=9:
- a.execute("SELECT * FROM jvt_o_time where nr ='GTW00900100"+c+"' and mode = '"+x+"'ORDER BY datetime DESC LIMIT 0 , 1")
- else:
- a.execute("SELECT * FROM jvt_o_time where nr ='GTW0090010"+c+"' and mode = '"+x+"' ORDER BY datetime DESC LIMIT 0 , 1")
- result = a.fetchall()
- if result ==():
- s =""
- else:
- s = "_" + result[0][3]
- db.close()
- ndvis = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'m/ndvi'+x+'/%Y-%m-%d_%H.%M.tif') #ndvi is time.tif
- ndvia = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'m/ndvia'+x+'/%Y-%m-%d_%H.%M.png') #ndvi is time.png
- ndviajpg = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'m/ndvia/c.png') #ndvi is c.png
- irt = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'m/ir'+x+'/%Y-%m-%d_%H.%M.tif') # irtif is time.tif
- nt = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'m/n'+x+'/%Y-%m-%d_%H.%M.tif') # ntif is time.tif
- #irj = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'m/irj'+x+'/%Y-%m-%d_%H.%M.jpg') # irjpg is time.jpg
- #nj = datetime.datetime.now().strftime('/var/www/html/cust/'+c+'m/nj'+x+'/%Y-%m-%d_%H.%M.jpg') # njpg is time.jpg
- date = datetime.datetime.now().strftime('\n%Y-%m-%d_%H.%Mn')
- date += s
- label= datetime.datetime.now().strftime('No.'+c+' Direction '+x+' @%Y.%m.%d.%H.%M.%S')
-
- rgb_img0 = Image.open('/var/www/html/cust/'+c+'m/c/b'+x+'.tif')
- ir_img0 = Image.open('/var/www/html/cust/'+c+'m/c/a'+x+'.tif')
- rgb_img0.save(nt)
- ir_img0.save(irt)
- #rgb_img0.save(nj,quality=95)
- #ir_img0.save(irj,quality=95)
- r,_,_ = rgb_img0.split()
- r = np.asarray(r, dtype=float)
-
-
- ir,_,_ = ir_img0.split()
- ir = np.asarray(ir, dtype=float)
-
-
- ndvi = np.zeros(r.size) # The NDVI image will be the same size as the input image
-
-
- np.seterr(divide='ignore', invalid='ignore')
- ndvi = np.true_divide(np.subtract(ir, r), np.add(ir, r))
-
-
- # Display the results
- fig, ax = plt.subplots()
- plt.plot(ndvi)
- plt.axis('off')
- plt.figure(figsize=(19, 10))
- plt.imshow(ndvi, cmap=plt.cm.get_cmap('Spectral'), vmin=-1, vmax=1)
- plt.gca().xaxis.set_major_locator(plt.NullLocator())
- plt.gca().yaxis.set_major_locator(plt.NullLocator())
- plt.margins(0, 0)
- #plt.show()
- plt.savefig(ndvis)
- plt.savefig(ndvia)
- plt.savefig(ndviajpg,bbox_inches='tight',pad_inches=0,format='png')
- plt.close('all')
- f = open('/var/www/html/cust/c'+c+'m_'+x+'.txt','a')
- f.write(date)
- f.close()
- dress = '/var/www/html/cust/'+c+'m/c/'
- for root, dirs, files in os.walk(dress):
- print('files: {}'.format(len(files)))
- if len(files)>=1:
- files.sort()
- for f in files:
- with open(os.path.join(root, f), "rb") as imageFile:
- str = base64.b64encode(imageFile.read())
- url = 'http://60.250.156.230/cust/tm1.php'
- values = {'data1':str, 'name':f}
- data1 = urllib.parse.urlencode(values)
- data1 = data1.encode('utf-8')
- req = urllib.request.Request(url, data1)
- req.add_header('User-Agent','Magic Browser')
- resp = urllib.request.urlopen(req)
- respdata1 = resp.read()
- print(os.path.join(root, f))
- #print(respdata1)
- os.remove(os.path.join(root, f))
- print("ok")
- except:
- print('error')
- def main():
- start1 = time.time()
- for i in range(18):
- d = str(i+1)
- for j in range(8):
- e = str(j+1)
- img(d,e)
- end1 = time.time()
- print("time1: " + str(end1 - start1))
- # pool = ThreadPoolExecutor(180)
- #for i in range(18):
- # d = str(i+1)
- # for j in range(8):
- # e = str(j+1)
- # pool.submit(img, d, e)
- #end1 = time.time()
- #print("time1: " + str(end1 - start1))
- # with ThreadPoolExecutor(180) as executor1:
- # for i in range(18):
- # d = str(i+1)
- # for j in range(8):
- # e = str(j+1)
- # executor1.submit(img,d,e)
- #executor1.shutdown()
- #end2 = time.time()
- #print("time2: " + str(end2 - end1))
- #with ThreadPoolExecutor(180) as executor2:
- # for i in range(4):
- # a = str(i)
- # for j in range(9):
- # b = str(j)
- #executor2.submit(imgm,a,b)
- #executor2.shutdown()
- #end3 = time.time()
- #print("time3: " + str(end3 - end2))
- while True:
- print("start")
- main()
|