From dcc1ad9462d964e63d1d09d4a7e570ad0efdbc6d Mon Sep 17 00:00:00 2001
From: zhangshiming <zhangshiming@shsening.com>
Date: 星期五, 25 三月 2022 16:02:39 +0800
Subject: [PATCH] check file modified
---
debug/7222.mp4 | 0
__pycache__/extract_voltage_task.cpython-36.pyc | 0
debug/2_split_digit_from_video.py | 3 +++
extract_voltage_task.py | 29 ++++++++++++++++++++++++++++-
main.py | 7 ++++++-
__pycache__/delete_task.cpython-36.pyc | 0
debug/7422.mp4 | 0
debug/7322.mp4 | 0
debug/_image_clip_setting.py | 9 ++++++++-
9 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/__pycache__/delete_task.cpython-36.pyc b/__pycache__/delete_task.cpython-36.pyc
new file mode 100644
index 0000000..31dea2e
--- /dev/null
+++ b/__pycache__/delete_task.cpython-36.pyc
Binary files differ
diff --git a/__pycache__/extract_voltage_task.cpython-36.pyc b/__pycache__/extract_voltage_task.cpython-36.pyc
new file mode 100644
index 0000000..dcc2253
--- /dev/null
+++ b/__pycache__/extract_voltage_task.cpython-36.pyc
Binary files differ
diff --git a/debug/2_split_digit_from_video.py b/debug/2_split_digit_from_video.py
index 653bb59..396f037 100644
--- a/debug/2_split_digit_from_video.py
+++ b/debug/2_split_digit_from_video.py
@@ -18,7 +18,10 @@
contours, hierarchy = cv2.findContours(
counter, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
contours_count = 0
+<<<<<<< HEAD
return_numbers = []
+=======
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
for c in contours:
x, y, w, h = cv2.boundingRect(c)
if hierarchy[0][contours_count][3] == 0 and h > image_h * 0.3:
diff --git a/debug/7222.mp4 b/debug/7222.mp4
new file mode 100644
index 0000000..bc2637f
--- /dev/null
+++ b/debug/7222.mp4
Binary files differ
diff --git a/debug/7322.mp4 b/debug/7322.mp4
new file mode 100644
index 0000000..2b0373f
--- /dev/null
+++ b/debug/7322.mp4
Binary files differ
diff --git a/debug/7422.mp4 b/debug/7422.mp4
new file mode 100644
index 0000000..23f1c60
--- /dev/null
+++ b/debug/7422.mp4
Binary files differ
diff --git a/debug/_image_clip_setting.py b/debug/_image_clip_setting.py
index 85f32da..1e9e292 100644
--- a/debug/_image_clip_setting.py
+++ b/debug/_image_clip_setting.py
@@ -4,7 +4,14 @@
#image_clip = [176,234,278,422] # for video.mp4
#image_clip = [226,266,200,300] # for new.mp4
#image_clip = [220,275,210,300] # test image
+<<<<<<< HEAD
image_clip = [220,275,210,300] # for 聽7122.mp4
#image_clip = [255,308,290,412] # for 聽7222.mp4
#image_clip = [229,274,270,380] # for 聽7322.mp4
-#image_clip = [180,240,154,287] # for 聽7422.mp4
\ No newline at end of file
+#image_clip = [180,240,154,287] # for 聽7422.mp4
+=======
+#image_clip = [220,275,210,300] # for 聽7122.mp4
+image_clip = [255,308,290,412] # for 聽7222.mp4
+#image_clip = [229,274,270,380] # for 聽7322.mp4
+#image_clip = [180,240,154,287] # for 聽7322.mp4
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
diff --git a/extract_voltage_task.py b/extract_voltage_task.py
index 7785e36..5aeea78 100644
--- a/extract_voltage_task.py
+++ b/extract_voltage_task.py
@@ -19,7 +19,11 @@
digits.append([cv2.imread(path + "/0-0.jpg", cv2.IMREAD_GRAYSCALE), 0])
digits.append([cv2.imread(path + "/0-1.jpg", cv2.IMREAD_GRAYSCALE), 0])
digits.append([cv2.imread(path + "/0-2.jpg", cv2.IMREAD_GRAYSCALE), 0])
+<<<<<<< HEAD
digits.append([cv2.imread(path + "/0-3.jpg", cv2.IMREAD_GRAYSCALE), 0])
+=======
+ digits.append([cv2.imread(path + "/0-3.jpg", cv2.IMREAD_GRAYSCALE), 0])
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
digits.append([cv2.imread(path + "/1-0.jpg", cv2.IMREAD_GRAYSCALE), 1])
digits.append([cv2.imread(path + "/1-1.jpg", cv2.IMREAD_GRAYSCALE), 1])
digits.append([cv2.imread(path + "/2-0.jpg", cv2.IMREAD_GRAYSCALE), 2])
@@ -77,7 +81,8 @@
cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (6, 6))
counter = cv2.morphologyEx(thresh.copy(), cv2.MORPH_OPEN, kernel)
- contours, hierarchy = cv2.findContours(counter, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
+ contours, hierarchy = cv2.findContours(
+ counter, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
return_numbers = []
contours_count = 0
image_h = image.shape[0]
@@ -85,32 +90,54 @@
digit = -1
for c in contours:
x, y, w, h = cv2.boundingRect(c)
+<<<<<<< HEAD
if hierarchy[0][contours_count][3] ==0 and h > image_h * 0.3:
if w>image_w/4:
half_width = int(w/2)
one_number = get_most_simmilar_digit(cv2.threshold(cv2.resize(
gray[y:y+h, x:x+half_width], (20, 30)), 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1],app)
+=======
+ if hierarchy[0][contours_count][3] == 0 and h > image_h * 0.3:
+ if w > image_w/4:
+ half_width = int(w/2)
+ one_number = get_most_simmilar_digit(cv2.threshold(cv2.resize(
+ gray[y:y+h, x:x+half_width], (20, 30)), 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1])
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
if one_number != '@':
return_numbers.append([x, one_number])
else:
return digit, False
one_number = get_most_simmilar_digit(cv2.threshold(cv2.resize(
+<<<<<<< HEAD
gray[y:y+h, x+half_width:x+w], (20, 30)), 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1],app)
+=======
+ gray[y:y+h, x+half_width:x+w], (20, 30)), 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1])
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
if one_number != '@':
return_numbers.append([x+half_width, one_number])
else:
return digit, False
else:
one_number = get_most_simmilar_digit(cv2.threshold(cv2.resize(
+<<<<<<< HEAD
gray[y:y+h, x:x+w], (20, 30)), 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1],app)
+=======
+ gray[y:y+h, x:x+w], (20, 30)), 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1])
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
if one_number != '@':
return_numbers.append([x, one_number])
else:
return digit, False
+<<<<<<< HEAD
contours_count +=1
if len(return_numbers)==0:
return digit,False
print(return_numbers)
+=======
+ contours_count += 1
+ if len(return_numbers) == 0:
+ return digit, False
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
return_numbers = np.array(sorted(return_numbers))
return_numbers = return_numbers[:, -1]
if len(return_numbers) < 3:
diff --git a/main.py b/main.py
index 986a490..67036e4 100644
--- a/main.py
+++ b/main.py
@@ -127,7 +127,7 @@
time_public=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
app.logger.info(time_now+' extract_voltage_send job started!')
#camera = cv2.VideoCapture(0) #use 0 for web camera deplyoment
- cap = cv2.VideoCapture(0) # for testing
+ cap = cv2.VideoCapture('./debug/7422.mp4') # for testing
# 浠ヤ笅璁剧疆鏄剧ず灞忕殑瀹介珮
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
@@ -137,10 +137,15 @@
return_digital,job_status = extrct_digits_from_frame(frame,app.config['IMAGE_CLIP_COLS_START'],app.config['IMAGE_CLIP_COLS_END'],app.config['IMAGE_CLIP_ROWS_START'],app.config['IMAGE_CLIP_ROWS_END'],app)
if job_status or fails_count > 10:
#mqtt.publish(app.config['REMOTE_MQTT_PUBLISH_TOPIC'], "{'voltage':"+str(return_digital)+"}")
+<<<<<<< HEAD
mqtt.publish(app.config['REMOTE_MQTT_PUBLISH_TOPIC'], "{\"sn\":" + "\"" + app.config['MQTT_CLIENT_ID'] +"\"" + " , \"time\":"+ "\"" + time_public +"\""+" , \"value\":"+ str(return_digital) +" }")
app.logger.info(" send the digital "+str(return_digital))
cv2.imwrite("./image_frame/success_"+time_now+".jpg", cv2.putText(frame, str(return_digital), (app.config['IMAGE_CLIP_ROWS_START'], app.config['IMAGE_CLIP_COLS_START']), cv2.FONT_HERSHEY_COMPLEX, 1.5, (0, 255, 255), 2))
app.logger.info("image is identified successful")
+=======
+ mqtt.publish(app.config['REMOTE_MQTT_PUBLISH_TOPIC'], "{\"sn\":" + "\"" + app.config['MQTT_CLIENT_ID'] +"\"" + " , \"time\":"+ "\"" + time_now +"\""+" , \"value\":"+ str(return_digital) +" }")
+ cv2.imwrite("./imageframe/image_frame_"+time_now+".jpg", cv2.putText(frame, str(return_digital), (app.config['IMAGE_CLIP_ROWS_START'], app.config['IMAGE_CLIP_COLS_START']), cv2.FONT_HERSHEY_COMPLEX, 1.5, (0, 255, 255), 2))
+>>>>>>> db44060a8de04f55557badee55cd617392d65c5b
cap.release()
break
else:
--
Gitblit v1.9.1