led_pin.value(1)
while not camera.init(0):
time.sleep(1)
frame = camera.capture()
camera.deinit()
led_pin.value(0)
led_blink_timed(timer, red_pin, state='READY')
r = requests.post(flask_url, headers = {'content-type': 'image/jpeg'}, data = frame)
return r.json(), 200, {'Content-Type': 'application/json'}
请求后端处理的结果回传值
def parse_image():
url = "http://172.20.10.6:5000/send_result"
r = requests.get(url)
print(r.json())
response = r.json()
# 合格判别
if response["quilties"] == "apple":
buzzer_pin.value(0)
if response["quilties"] == "bad_apple":
buzzer_pin.value(1)
if name == ‘main’:
# 每隔5秒拍张照片
while True:
print("发送照片")
image_upload()
print("**********")
print("处理照片")
parse_image()
print("**********")
time.sleep(5)
注:后端回传的结果为JSON格式,合格判别的规则是,如果苹果的质量为坏苹果(有斑点),则蜂鸣器警报,反之蜂鸣器则不发生警报。
#### 图像识别程序:
**苹果质量检测**
设置文件名为"qulityApple"
import cv2
import os
def detect_spots():
maxnum = []
picturePath = './fruits_photos'
for fi in os.listdir(picturePath):
if fi.endswith(".jpg"):
maxnum.append(int(fi[0:10]))
maxPhoto = max(maxnum)
# print(max(maxnum))
path = "./fruits_photos/" + "0" + str(maxPhoto) + ".jpg"
# 读取图片
image = cv2.imread(path)
# 转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2