def uploadFileName(): path = '/Users/hugh/Projects/Feeling_Code/ToolProject/Upload-Python/static/wedding/' fileNames = os.listdir(path) print(fileNames) for fileName in fileNames: photoSet = PhotoSet() photoSet.set('tags', ['婚纱']) photoSet.set('title', '婚纱') print(fileName + ' uploading!') with open(path + fileName) as f: print(path + fileName) avatar = leancloud.File(fileName, f, 'image/jpeg') photo = Photo() photo.set( 'metaData', { "format": "jpeg", "height": 1365, "orientation": "Top-left", "colorModel": "ycbcr", "width": 2048 }) photo.set('photoFile', avatar) photo.save() photoSet.set('coverPhoto', photo) relation = photoSet.relation('photos') relation.add(photo) photoSet.save()
def addIcon(rootdir, extradir): query = leancloud.Query(Clothes) cnt = 0 for parent, dirnames, filenames in os.walk(rootdir): for filename in filenames: if filename.find('PNG') > 0 or filename.find('png') > 0: rid = str(filename).split('.')[0].split('icon')[1] print(rid) query.equal_to('rid', rid) res = query.find() if len(res) == 1: cloth = query.first() try: with open(os.path.join(parent, filename)) as f: avatar = leancloud.File('fileFromLocalFile', f) avatar.save() # avatar_id = avatar.id iconUrl = avatar.url cloth.set('iconUrl', iconUrl) cloth.save() cnt += 1 except: shutil.copy(os.path.join(parent, filename), os.path.join(extradir, filename)) print filename, 'failed to update' else: shutil.copy(os.path.join(parent, filename), os.path.join(extradir, filename)) print filename, 'failed to find' print cnt, 'updated'
def uploadImageByPath(folderpath=str, filename=str): tempfilepath = folderpath + '/' + filename with open(tempfilepath, 'r+b') as f: avatar = leancloud.File(filename, f) avatar.save() object_id = avatar.id return object_id
def decode(key, value): if isinstance(value, get_dumpable_types()): return value if isinstance(value, (tuple, list)): return [decode(key, x) for x in value] if not isinstance(value, dict): return value if '__type' not in value: return dict([(k, decode(k, v)) for k, v in iteritems(value)]) _type = value['__type'] if _type == 'Pointer': value = copy.deepcopy(value) class_name = value['className'] pointer = leancloud.Object.create(class_name) if 'createdAt' in value: value.pop('__type') value.pop('className') pointer._update_data(value) else: pointer._update_data({'objectId': value['objectId']}) return pointer if _type == 'Object': value = copy.deepcopy(value) class_name = value['className'] value.pop('__type') value.pop('className') obj = leancloud.Object.create(class_name) obj._update_data(value) return obj if _type == 'Date': return arrow.get(iso8601.parse_date(value['iso'])).to('local').datetime if _type == 'GeoPoint': return leancloud.GeoPoint(latitude=value['latitude'], longitude=value['longitude']) if key == 'ACL': if isinstance(value, leancloud.ACL): return value return leancloud.ACL(value) if _type == 'Relation': relation = leancloud.Relation(None, key) relation.target_class_name = value['className'] return relation if _type == 'File': f = leancloud.File(value['name']) meta_data = value.get('metaData') if meta_data: f._metadata = meta_data f._url = value['url'] f.id = value['objectId'] return f
def post(self, request): src = request.body.decode('utf-8') # 检测用户上传文件是否为图片 if src[9:14] != 'image': return JsonResponse({"msg": "fail"}) # 定位文件所包含base64编码信息的位置并进行解码转换存入内存文件 res = src.find('base64,') result_src = src[res + len('base64,'):] f = BytesIO() data = base64.b64decode(result_src) f.write(data) img = InMemoryUploadedFile(f, None, "image", len(data), None, None) # 将文件上传至云服务器 leancloud.init('tiM1T9UGqwf6QTyXkn9kcL9z-gzGzoHsz', '1GzzyA6uv4l8JNGd6etu5V5o') execute = leancloud.File('image', img) execute.save() result_qrcode = qrcode.make(execute.url) buf = BytesIO() result_qrcode.save(buf) img_stream = buf.getvalue() result_img = base64.b64encode(img_stream) return JsonResponse({ "msg": "success", "image": bytes.decode(result_img, 'utf-8') })
def upload_file(): fn = str(int(time.time() * 1000)) + ".jpg" io = StringIO() io.write(request.files['file'].read()) file = leancloud.File(fn, io) file.save() io.close() return '{"status": 0, "url": "%s", "id": "%s"}' % (file.url, file.id)
def uplean(upurl, filename): # leancloud 密钥 上传文件代码 # leancloud密钥 leancloud.init("<您的AppID>", "<您的appKey>") with open(upurl, 'rb') as f: file = leancloud.File(filename, f) files = file.save() return file._url
def get_image(url, key): print('http://app.haidais.cn' + url, key) r = requests.get('http://app.haidais.cn' + url, stream=True) data = StringIO('LeanCloud') file = leancloud.File(key, r.content) try: file.save() print(file.url) return file.url except: pass
def post(self, request): file_obj = request.FILES.get('file') if file_obj: print(file_obj) leancloud.init('tiM1T9UGqwf6QTyXkn9kcL9z-gzGzoHsz', '1GzzyA6uv4l8JNGd6etu5V5o') execute = leancloud.File('File', file_obj) execute.save() result_qrcode = qrcode.make(execute.url) buf = BytesIO() result_qrcode.save(buf) image_stream = buf.getvalue() resule_image = base64.b64encode(image_stream) return JsonResponse({ "msg": "success", "image": bytes.decode(resule_image, 'utf-8') }) return JsonResponse({"msg": 'fail'})
def updatePic(rootdir): query = leancloud.Query(Clothes) cnt = 0 for parent, dirnames, filenames in os.walk(rootdir): for filename in filenames: if filename.find('PNG') > 0 or filename.find('png') > 0: im = Image.open(rootdir + filename) clothname = str(filename).split('.PNG')[0] query.equal_to('name', clothname) res = query.find() if len(res) == 1: cloth = query.first() cloth.get('pic') old_pic = str(cloth.get('picUrl')).strip() # noinspection PyBroadException if old_pic is not None or old_pic is not '': try: desc = PicProcessing.getDesc( os.path.join(parent, filename)) with open(os.path.join(parent, filename)) as f: avatar = leancloud.File('fileFromLocalFile', f) avatar.save() # avatar_id = avatar.id picUrl = avatar.url cloth.set('pic', avatar) cloth.set('picUrl', picUrl) cloth.set('description', resFormat(desc)) cloth.save() cnt += 1 except: print filename, 'failed to update' im.save( '/users/gejiali/Documents/Game/nikkic/pic/en/' + filename) else: print filename, 'already has pic' else: print filename, 'failed to find' im.save('/users/gejiali/Documents/Game/nikkic/pic/en/' + filename) print cnt, 'updated'
def save_file(filename, data): # data_hash = hashlib.md5(data).hexdigest() # 一致 26771cad667b860261090a8d52f3299c wwj 缓存在user_img_cache里做 # https://leancloud.cn/docs/leanstorage_guide-python.html#从数据流构建文件 cloud_file = leancloud.File(filename, data) cloud_file.save() return cloud_file.url
import leancloud import logging logging.basicConfig(level=logging.DEBUG) leancloud.init("3AJTBW5QyGw17hLxNN3njGHW-gzGzoHsz", "P8cKdEvRxusfuR27MuhvFOzr") with open('JBL-GO2-QSG_Multilingual_HD.pdf') as f: test_upload_text_file = leancloud.File('fileFromLocalFile', f) test_upload_text_file.save()
def print_group_image_msg(msg): file = leancloud.File(msg.file_name, msg.get_file()) file.save() rcv_msg(msg.receiver.puid, msg.receiver.name, msg.sender.puid, msg.sender.name, msg.file_name)
def print_friend_image_msg(msg): file = leancloud.File(msg.file_name, msg.get_file()) file.save() rcv_msg(msg.sender.puid, None, msg.sender.puid, msg.sender.name, msg.file_name)
import leancloud leancloud.init("Yf3MSyqMdVjhofKx5vflC4eF-MdYXbMMI", "n63Ne1Jj2bs17yGUPzSuYq7K") Person = leancloud.Object.extend('Person') with open('testfile.jpg', 'rb') as f: file = leancloud.File('testfile.jpg', f) file.save() D = Person() D.set('Name', 'Unknown') D.set('Profile', file) D.save()
face = cv2.imdecode(arr, -1) # now I get the image: face name = 'unknown' face_locations = face_recognition.face_locations(face) face_encodings = face_recognition.face_encodings(face, face_locations) for face_encoding in face_encodings: # actually, only one face # See if the face is a match for the known face(s) match = face_recognition.compare_faces([master_face_encoding], face_encoding) name = "unknown" if match[0]: # name = "master" g_count = g_count + 1 Todo = visitRecord() Todo.set('name', name) mbuffer = cv2.imencode('.jpg', face)[1].tostring() recoged_face = leancloud.File('image.jpg', StringIO(mbuffer)) t_time = str(datetime.now()).split('.')[0] Todo.set('visittime', t_time) Todo.set('image', recoged_face) Todo.set('num', g_count) Todo.save() cv2.imshow('face', face) if cv2.waitKey(1) & 0xFF == ord('q'): break
def decode(key, value): if isinstance(value, get_dumpable_types()): return value if isinstance(value, (tuple, list)): return [decode(key, x) for x in value] if not isinstance(value, dict): return value if key == "ACL": if isinstance(value, leancloud.ACL): return value return leancloud.ACL(value) if "__type" not in value: return dict([(k, decode(k, v)) for k, v in six.iteritems(value)]) _type = value["__type"] if _type == "Pointer": value = copy.deepcopy(value) class_name = value["className"] pointer = leancloud.Object.create(class_name) if "createdAt" in value: value.pop("__type") value.pop("className") pointer._update_data(value) else: pointer._update_data({"objectId": value["objectId"]}) return pointer if _type == "Object": value = copy.deepcopy(value) class_name = value["className"] value.pop("__type") value.pop("className") obj = leancloud.Object.create(class_name) obj._update_data(value) return obj if _type == "Date": return arrow.get(iso8601.parse_date(value["iso"])).to("local").datetime if _type == "GeoPoint": return leancloud.GeoPoint( latitude=value["latitude"], longitude=value["longitude"] ) if _type == "Relation": relation = leancloud.Relation(None, key) relation.target_class_name = value["className"] return relation if _type == "File": f = leancloud.File(value["name"]) meta_data = value.get("metaData") if meta_data: f._metadata = meta_data f._url = value["url"] f.id = value["objectId"] return f
async def update(self, fileUrl, fileName): def Filter(data_acc, Low_cutoff, High_cutoff, F_sample, N): [Low_point, High_point] = map(lambda F: F / F_sample * N, [Low_cutoff, High_cutoff]) yf = np.fft.fft(data_acc) Filtered_spectrum = [ yf[i] if i > Low_point and i <= High_point else 0.0 for i in range(N // 2 + 1) ] return Filtered_spectrum def integration_disp(Filtered_spectrum): [omiga] = map(lambda x: 2 * np.pi * x, [xf]) D_lefthalf = 0.0 - Filtered_spectrum[1:N // 2] * ( 1 / (omiga[1:N // 2] * omiga[1:N // 2])) D_righthalf = np.flip(D_lefthalf, 0) D_righthalf_conj = np.conjugate(D_righthalf) D_index0 = np.insert(D_lefthalf, 0, Filtered_spectrum[0]) D_index0_ = np.append(D_index0, Filtered_spectrum[-1].real) D = np.hstack((D_index0_, D_righthalf_conj)) return D def fpy(beta, h, Ts, Te, F_sample, acc): N = len(acc) freq = np.linspace(0, F_sample, N) T = 1 / freq T[0] = N Spec = Spectrum(dt, Ts, Te, T) Sa = Spec.responseSpectrum(acc, dt, T, h, beta) return Sa #now = time.strftime('%H%M%S', time.localtime(time.time())) date = time.strftime('%Y%m%d', time.localtime(time.time())) fileUrl = fileUrl fileName = fileName #fileUrl = '/Users/mashanmu/Desktop/十九中数据转换/十九中振动监测_20200712063859.txt' #fileName = '2020-07-02 06:38:59.txt' with open(fileUrl, 'rb') as f: data = f.read() data = data[3002:] data = data.decode() data = re.split("\r\n|\t", data) data.pop() x = [] y = [] z = [] SaX = [] SaY = [] SaZ = [] lenth = int(len(data) / 35) for j in range(0, lenth): accX = float(data[32 + j * 35]) accY = float(data[33 + j * 35]) accZ = float(data[34 + j * 35]) x.append(accX) y.append(accY) z.append(accZ) #print(x) pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x) * 100) pga.append(max(y) * 100) pgaUD.append(max(z) * 100) pgaValue = max(pga) pgaUDValue = max(pgaUD) print(pgaValue) print(pgaUDValue) try: TriggeredData = leancloud.Object.extend('SHD_PGAValue') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', '震创') triggeredData.set('pga', pgaValue) triggeredData.set('latitude', '39.969362') triggeredData.set('longitude', '116.305142') triggeredData.save() except: pass print('pga save failed.') ## %% beta = 1 / 6 h = 0.05 Ts = 0.1 # Spectrum Period Starts at Ts (Sec) Te = 10 # Spectrum Period End at Te (Sec) F_sample = 100 dt = 1 / F_sample N = len(x) # Length of signal freq = np.linspace(0, F_sample, N) xf = np.linspace(0.0, F_sample / 2, N // 2 + 1) T = 1 / freq T[0] = N Spec = Spectrum(dt, Ts, Te, T) #SaT = Spec.designSpectrum(T) SaX = Spec.responseSpectrum(x, dt, T, h, beta) SaY = Spec.responseSpectrum(y, dt, T, h, beta) SaZ = Spec.responseSpectrum(z, dt, T, h, beta) #print(SaX) ##通道:1-6 5层 try: #for i in range(0, 35): str = '' lenth = int(len(data) / 35) x = [] y = [] z = [] diftX = [] diftY = [] for j in range(0, lenth): accX = float(data[3 + j * 35]) * 100 accY = float(data[4 + j * 35]) * 100 accZ = float(data[5 + j * 35]) * 100 dispX = float(data[1 + j * 35]) dispY = float(data[2 + j * 35]) value = ';%.6f;%.6f;%.6f;%.6f;%.6f;;%.6f;%.6f;%.6f;' % ( accX, accY, accZ, dispX, dispY, SaX[j], SaY[j], SaZ[j]) str = str + value + '\n' x.append(accX) y.append(accY) z.append(accZ) diftX.append(dispX) diftY.append(dispY) Filtered_spectrum_FLX = Filter(x, 0.1, 10, F_sample, N) Filtered_spectrum_FLY = Filter(y, 0.1, 10, F_sample, N) D_FLX = integration_disp(Filtered_spectrum_FLX) D_FLY = integration_disp(Filtered_spectrum_FLY) d_FLX = np.fft.ifft(D_FLX) d_FLY = np.fft.ifft(D_FLY) maxDiftX = max(d_FLX) maxDiftY = max(d_FLY) maxDispX = max(diftX) #maxDispY = max(diftY) print("5层东西向最大层间位移及层间位移角", maxDiftX.real, maxDiftX.real / 420) print("5层南北向最大层间位移及层间位移角", maxDiftY.real, maxDiftY.real / 420) print("maxDispX", maxDispX) print("End") pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x)) pga.append(max(y)) pgaUD.append(max(z)) pgaValue = '%.6f' % max(pga) pgaUDValue = '%.6f' % max(pgaUD) summary = 'Sampling Rate; 100' str = str + summary #print(str) fileData = StringIO(str) file = leancloud.File(fileName, fileData) file.save() deviceName = '教学楼L5' TriggeredData = leancloud.Object.extend('TriggeredData') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', deviceName) triggeredData.set('date', date) triggeredData.set('data', file) triggeredData.set('pga', pgaValue) triggeredData.set('pgaUD', pgaUDValue) triggeredData.save() except: pass print('通道:1-6 save file failed.') ##通道:7-11 try: #for i in range(0, 35): str = '' lenth = int(len(data) / 35) x = [] y = [] z = [] for j in range(0, lenth): accX = float(data[8 + j * 35]) * 100 accY = float(data[9 + j * 35]) * 100 accZ = float(data[10 + j * 35]) * 100 dispX = float(data[6 + j * 35]) dispY = float(data[7 + j * 35]) value = ';%.6f;%.6f;%.6f;%.6f;%.6f;;%.6f;%.6f;%.6f;' % ( accX, accY, accZ, dispX, dispY, SaX[j], SaY[j], SaZ[j]) str = str + value + '\n' x.append(accX) y.append(accY) z.append(accZ) Filtered_spectrum_FLX = Filter(x, 0.1, 10, F_sample, N) Filtered_spectrum_FLY = Filter(y, 0.1, 10, F_sample, N) D_FLX = integration_disp(Filtered_spectrum_FLX) D_FLY = integration_disp(Filtered_spectrum_FLY) d_FLX = np.fft.ifft(D_FLX) d_FLY = np.fft.ifft(D_FLY) maxDiftX = max(d_FLX) maxDiftY = max(d_FLY) print("4层东西向最大层间位移及层间位移角", maxDiftX.real, maxDiftX.real / 420) print("4层南北向最大层间位移及层间位移角", maxDiftY.real, maxDiftY.real / 420) print("End") pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x)) pga.append(max(y)) pgaUD.append(max(z)) pgaValue = '%.6f' % max(pga) pgaUDValue = '%.6f' % max(pgaUD) #print(value) #print(len(value)) summary = 'Sampling Rate; 100' str = str + summary #print(str) fileData = StringIO(str) file = leancloud.File(fileName, fileData) file.save() deviceName = '教学楼L4' TriggeredData = leancloud.Object.extend('TriggeredData') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', deviceName) triggeredData.set('date', date) triggeredData.set('data', file) triggeredData.set('pga', pgaValue) triggeredData.set('pgaUD', pgaUDValue) triggeredData.save() except: pass print('通道:7-11 save file failed.') ##通道:12-14 try: #for i in range(0, 35): str = '' lenth = int(len(data) / 35) x = [] y = [] z = [] for j in range(0, lenth): accX = float(data[11 + j * 35]) * 100 accY = float(data[12 + j * 35]) * 100 accZ = float(data[13 + j * 35]) * 100 #dispX = float(data[7+j*35]) #dispY = float(data[8+j*35]) value = ';%.6f;%.6f;%.6f;%.6f;%.6f;;%.6f;%.6f;%.6f;' % ( accX, accY, accZ, dispX, dispY, SaX[j], SaY[j], SaZ[j]) str = str + value + '\n' x.append(accX) y.append(accY) z.append(accZ) Filtered_spectrum_FLX = Filter(x, 0.1, 10, F_sample, N) Filtered_spectrum_FLY = Filter(y, 0.1, 10, F_sample, N) D_FLX = integration_disp(Filtered_spectrum_FLX) D_FLY = integration_disp(Filtered_spectrum_FLY) d_FLX = np.fft.ifft(D_FLX) d_FLY = np.fft.ifft(D_FLY) maxDiftX = max(d_FLX) maxDiftY = max(d_FLY) print("3层东西向最大层间位移及层间位移角", maxDiftX.real, maxDiftX.real / 420) print("3层南北向最大层间位移及层间位移角", maxDiftY.real, maxDiftY.real / 420) print("End") pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x)) pga.append(max(y)) pgaUD.append(max(z)) pgaValue = '%.6f' % max(pga) pgaUDValue = '%.6f' % max(pgaUD) #print(value) #print(len(value)) summary = 'Sampling Rate; 100' str = str + summary #print(str) fileData = StringIO(str) file = leancloud.File(fileName, fileData) file.save() deviceName = '教学楼L3' TriggeredData = leancloud.Object.extend('TriggeredData') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', deviceName) triggeredData.set('date', date) triggeredData.set('data', file) triggeredData.set('pga', pgaValue) triggeredData.set('pgaUD', pgaUDValue) triggeredData.save() except: pass print('通道:12-14 save file failed.') ##通道:15-19 try: #for i in range(0, 35): str = '' lenth = int(len(data) / 35) x = [] y = [] z = [] for j in range(0, lenth): accX = float(data[14 + j * 35]) * 100 accY = float(data[15 + j * 35]) * 100 accZ = float(data[16 + j * 35]) * 100 #dispX = float(data[7+j*35]) #dispY = float(data[8+j*35]) value = ';%.6f;%.6f;%.6f;%.6f;%.6f;;%.6f;%.6f;%.6f;' % ( accX, accY, accZ, dispX, dispY, SaX[j], SaY[j], SaZ[j]) str = str + value + '\n' x.append(accX) y.append(accY) z.append(accZ) Filtered_spectrum_FLX = Filter(x, 0.1, 10, F_sample, N) Filtered_spectrum_FLY = Filter(y, 0.1, 10, F_sample, N) D_FLX = integration_disp(Filtered_spectrum_FLX) D_FLY = integration_disp(Filtered_spectrum_FLY) d_FLX = np.fft.ifft(D_FLX) d_FLY = np.fft.ifft(D_FLY) maxDiftX = max(d_FLX) maxDiftY = max(d_FLY) print("2层东西向最大层间位移及层间位移角", maxDiftX.real, maxDiftX.real / 420) print("2层南北向最大层间位移及层间位移角", maxDiftY.real, maxDiftY.real / 420) print("End") pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x)) pga.append(max(y)) pgaUD.append(max(z)) pgaValue = '%.6f' % max(pga) pgaUDValue = '%.6f' % max(pgaUD) #print(value) #print(len(value)) summary = 'Sampling Rate; 100' str = str + summary #print(str) fileData = StringIO(str) file = leancloud.File(fileName, fileData) file.save() deviceName = '教学楼L2' TriggeredData = leancloud.Object.extend('TriggeredData') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', deviceName) triggeredData.set('date', date) triggeredData.set('data', file) triggeredData.set('pga', pgaValue) triggeredData.set('pgaUD', pgaUDValue) triggeredData.save() except: pass print('通道:15-19 save file failed.') ##通道:20-22 try: #for i in range(0, 35): str = '' lenth = int(len(data) / 35) x = [] y = [] z = [] for j in range(0, lenth): accX = float(data[19 + j * 35]) * 100 accY = float(data[20 + j * 35]) * 100 accZ = float(data[21 + j * 35]) * 100 #dispX = float(data[7+j*35]) #dispY = float(data[8+j*35]) value = ';%.6f;%.6f;%.6f;%.6f;%.6f;;%.6f;%.6f;%.6f;' % ( accX, accY, accZ, dispX, dispY, SaX[j], SaY[j], SaZ[j]) str = str + value + '\n' x.append(accX) y.append(accY) z.append(accZ) Filtered_spectrum_FLX = Filter(x, 0.1, 10, F_sample, N) Filtered_spectrum_FLY = Filter(y, 0.1, 10, F_sample, N) D_FLX = integration_disp(Filtered_spectrum_FLX) D_FLY = integration_disp(Filtered_spectrum_FLY) d_FLX = np.fft.ifft(D_FLX) d_FLY = np.fft.ifft(D_FLY) maxDiftX = max(d_FLX) maxDiftY = max(d_FLY) print("1层东西向最大层间位移及层间位移角", maxDiftX.real, maxDiftX.real / 420) print("1层南北向最大层间位移及层间位移角", maxDiftY.real, maxDiftY.real / 420) print("End") pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x)) pga.append(max(y)) pgaUD.append(max(z)) pgaValue = '%.6f' % max(pga) pgaUDValue = '%.6f' % max(pgaUD) #print(value) #print(len(value)) summary = 'Sampling Rate; 100' str = str + summary #print(str) fileData = StringIO(str) file = leancloud.File(fileName, fileData) file.save() deviceName = '教学楼L1' TriggeredData = leancloud.Object.extend('TriggeredData') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', deviceName) triggeredData.set('date', date) triggeredData.set('data', file) triggeredData.set('pga', pgaValue) triggeredData.set('pgaUD', pgaUDValue) triggeredData.save() except: pass print('通道:20-22 save file failed.') ##通道:23-32 try: #for i in range(0, 35): str = '' lenth = int(len(data) / 35) x = [] y = [] z = [] for j in range(0, lenth): accX = float(data[22 + j * 35]) * 100 accY = float(data[23 + j * 35]) * 100 accZ = float(data[24 + j * 35]) * 100 #dispX = float(data[7+j*35]) #dispY = float(data[8+j*35]) value = ';%.6f;%.6f;%.6f;%.6f;%.6f;;%.6f;%.6f;%.6f;' % ( accX, accY, accZ, dispX, dispY, SaX[j], SaY[j], SaZ[j]) str = str + value + '\n' x.append(accX) y.append(accY) z.append(accZ) Filtered_spectrum_FLX = Filter(x, 0.1, 10, F_sample, N) Filtered_spectrum_FLY = Filter(y, 0.1, 10, F_sample, N) D_FLX = integration_disp(Filtered_spectrum_FLX) D_FLY = integration_disp(Filtered_spectrum_FLY) d_FLX = np.fft.ifft(D_FLX) d_FLY = np.fft.ifft(D_FLY) maxDiftX = max(d_FLX) maxDiftY = max(d_FLY) print("B1层东西向最大层间位移及层间位移角", maxDiftX.real, maxDiftX.real / 420) print("B1层南北向最大层间位移及层间位移角", maxDiftY.real, maxDiftY.real / 420) print("End") pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x)) pga.append(max(y)) pgaUD.append(max(z)) pgaValue = '%.6f' % max(pga) pgaUDValue = '%.6f' % max(pgaUD) #print(value) #print(len(value)) summary = 'Sampling Rate; 100' str = str + summary #print(str) fileData = StringIO(str) file = leancloud.File(fileName, fileData) file.save() deviceName = '教学楼B1' TriggeredData = leancloud.Object.extend('TriggeredData') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', deviceName) triggeredData.set('date', date) triggeredData.set('data', file) triggeredData.set('pga', pgaValue) triggeredData.set('pgaUD', pgaUDValue) triggeredData.save() except: pass print('通道:23-32 save file failed.') ##通道:33-35 try: #for i in range(0, 35): str = '' lenth = int(len(data) / 35) x = [] y = [] z = [] for j in range(0, lenth): accX = float(data[32 + j * 35]) * 100 accY = float(data[33 + j * 35]) * 100 accZ = float(data[34 + j * 35]) * 100 #dispX = float(data[7+j*35]) #dispY = float(data[8+j*35]) value = ';%.6f;%.6f;%.6f;%.6f;%.6f;;%.6f;%.6f;%.6f;' % ( accX, accY, accZ, dispX, dispY, SaX[j], SaY[j], SaZ[j]) str = str + value + '\n' x.append(accX) y.append(accY) z.append(accZ) pga = [] pgaUD = [] pgaValue = '' pgaUDValue = '' pga.append(max(x)) pga.append(max(y)) pgaUD.append(max(z)) pgaValue = '%.6f' % max(pga) pgaUDValue = '%.6f' % max(pgaUD) #print(value) #print(len(value)) summary = 'Sampling Rate; 100' str = str + summary #print(str) fileData = StringIO(str) file = leancloud.File(fileName, fileData) file.save() deviceName = '自由场点' TriggeredData = leancloud.Object.extend('TriggeredData') triggeredData = TriggeredData() triggeredData.set('project', '北京市第十九中学') triggeredData.set('device', deviceName) triggeredData.set('date', date) triggeredData.set('data', file) triggeredData.set('pga', pgaValue) triggeredData.set('pgaUD', pgaUDValue) triggeredData.set('isFreeField', '1') triggeredData.save() except: pass print('通道:33-35 save file failed.')
def camare(): # 初始化摄像头并且获取一个指向原始数据的引用 camera = PiCamera() camera.resolution = tuple(conf["resolution"]) camera.framerate = conf["fps"] camera.vflip = conf["vertical_flip"] camera.hflip = conf["horizontal_flip"] rawCapture = PiRGBArray(camera, size=tuple(conf["resolution"])) # 等待摄像头模块启动, 随后初始化平均帧, 最后 # 上传时间戳, 以及运动帧计数器 print "[INFO] warming up..." time.sleep(conf["camera_warmup_time"]) avg = None lastUploaded = datetime.datetime.now() motionCounter = 0 # 从摄像头逐帧捕获数据 for f in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True): # 抓取原始NumPy数组来表示图像并且初始化 # 时间戳以及occupied/unoccupied文本 frame = f.array timestamp = datetime.datetime.now() text = "Unoccupied" # 调整帧尺寸,转换为灰阶图像并进行模糊 frame = imutils.resize(frame, width=500) gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) gray = cv2.GaussianBlur(gray, (21, 21), 0) # 如果平均帧是None,初始化它 if avg is None: print "[INFO] starting background model..." avg = gray.copy().astype("float") rawCapture.truncate(0) continue # accumulate the weighted average between the current frame and # previous frames, then compute the difference between the current # frame and running average cv2.accumulateWeighted(gray, avg, 0.5) frameDelta = cv2.absdiff(gray, cv2.convertScaleAbs(avg)) # 对变化图像进行阀值化, 膨胀阀值图像来填补 # 孔洞, 在阀值图像上找到轮廓线 thresh = cv2.threshold(frameDelta, conf["delta_thresh"], 255, cv2.THRESH_BINARY)[1] thresh = cv2.dilate(thresh, None, iterations=2) (cnts, _) = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 遍历轮廓线 for c in cnts: # if the contour is too small, ignore it if cv2.contourArea(c) < conf["min_area"]: continue # 计算轮廓线的外框, 在当前帧上画出外框, # 并且更新文本 (x, y, w, h) = cv2.boundingRect(c) cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) text = "Occupied" # 在当前帧上标记文本和时间戳 ts = timestamp.strftime("%A %d %B %Y %I:%M:%S%p") cv2.putText(frame, "Room Status: {}".format(text), (10, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 2) cv2.putText(frame, ts, (10, frame.shape[0] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.35, (0, 0, 255), 1) # check to see if the room is occupied if text == "Occupied": # check to see if enough time has passed between uploads if (timestamp - lastUploaded).seconds >= conf["min_upload_seconds"]: # increment the motion counter motionCounter += 1 # check to see if the number of frames with consistent motion is # high enough if motionCounter >= conf["min_motion_frames"]: # 检查是否需要双船 if conf["use_leancloud"]: # write the image to temporary file t = TempImage() cv2.imwrite(t.path, frame) try: with open(t.path) as f: avatar = leancloud.File(t.path, f) avatar.save() finally: t.cleanup() # update the last uploaded timestamp and reset the motion # counter lastUploaded = timestamp motionCounter = 0 # otherwise, the room is not occupied else: motionCounter = 0 # clear the stream in preparation for the next frame rawCapture.truncate(0)
def feedback(): file = request.files form = request.form try: jwtoken = form.get("jwt") email = form.get("email") except KeyError: return Response("", 400) try: info = jwt.decode(jwtoken, JWT_KEY) except jwt.InvalidTokenError: return Response("Unexited User", 401) imgs = file.getlist("imgs") fileList = list() for img in imgs: if allowed_file(img.filename) and img: s = StringIO(img.read()) fileObject = leancloud.File(img.filename, s) width, height = get_image_size(s, img.filename) fileObject.metadata['width'] = width fileObject.metadata['height'] = height fileObject.save() fileList.append(fileObject) else: return Response("", 400) # fileObject = leancloud.File(imgs.filename,StringIO(imgs.read())) # fileObject.save() # fileList.append(fileObject) description = form.get("description") u = leancloud.User.become(info["token"]) Obj = leancloud.Object.create("bugList") Obj.set("description", description) Obj.set("imgs", fileList) Obj.set("upload", u) Obj.save() html = \ u"""<!doctype html> <head> <meta charset="utf-8"> </head> <html lang="zh-hans"> <body> <p>存在一个 Bug,由 <b><a href="mailto:{email}">{name}</a></b> 用户提出,说明如下:</p> <p>{description}</p> </br> {img} </body></html>""".format( name=u.get("name"), description=description, email=email, img="\n".join([u"<img src=\"{}\" alt=\"img\" width=\"{}\" height=\"{}\">".format( img.url, img.metadata['width'], img.metadata['height'] ) for img in fileList]) ) send(html) return Response("Upload success!", 200)