From 75282090db7bde5ba3fdd308937af6702e977afb Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 18:52:31 +0530 Subject: [PATCH 01/16] Create barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 barcode_scanner/barcode_scanner.py diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py new file mode 100644 index 000000000..a292227da --- /dev/null +++ b/barcode_scanner/barcode_scanner.py @@ -0,0 +1,26 @@ +from pyzbar.pyzbar import decode +from glob import glob +import cv2 + + +def barcode(decoded, image): + imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top),(decoded.rect.left + decoded.rect.width, decoded.rect.top + decoded.rect.height),color=(0, 255, 0),thickness=5) + return imge + +def scan(image): + dcode = decode(image) + for obj in dcode: + print("Given barcode:", obj) + image = barcode(obj, image) + print("Barcode Type:", obj.type) + print("Scanned Data:", obj.data) + print() + return image + +dat = input("Enter the path of the barcode") +data = glob(dat) +for code in data: + img = cv2.imread(code) + img = scan(img) + cv2.imshow("img", img) + cv2.waitKey(0) From cab56137d247cc9e08b907f06e4ef7e66074bde7 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 18:53:04 +0530 Subject: [PATCH 02/16] Create requirements.txt --- barcode_scanner/requirements.txt | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 barcode_scanner/requirements.txt diff --git a/barcode_scanner/requirements.txt b/barcode_scanner/requirements.txt new file mode 100644 index 000000000..5c9c68728 --- /dev/null +++ b/barcode_scanner/requirements.txt @@ -0,0 +1,3 @@ +opencv-python +glob +pyzbar From b38bdcf2441097b6b17cae3b5035d52772c772e8 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:01:41 +0530 Subject: [PATCH 03/16] Create README.md --- barcode_scanner/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 barcode_scanner/README.md diff --git a/barcode_scanner/README.md b/barcode_scanner/README.md new file mode 100644 index 000000000..60c1b7836 --- /dev/null +++ b/barcode_scanner/README.md @@ -0,0 +1,12 @@ +# Barcode Scanner + +## About: +A simple Barcode Scanner using cv2 with python + +## requirements: +* pip install -r requirements.txt + +## usage: + python barcode_scanner.py + +* Enter the path the barcode to be scanned: From 9ceaef52f2af90028f6831c5bd8262537670add8 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:02:03 +0530 Subject: [PATCH 04/16] Update README.md --- barcode_scanner/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/barcode_scanner/README.md b/barcode_scanner/README.md index 60c1b7836..babbd22f0 100644 --- a/barcode_scanner/README.md +++ b/barcode_scanner/README.md @@ -9,4 +9,4 @@ A simple Barcode Scanner using cv2 with python ## usage: python barcode_scanner.py -* Enter the path the barcode to be scanned: +* Enter the path the barcode to be scanned with extension: From 90caade254ace2a97769cb33714a208412abf1bf Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:09:06 +0530 Subject: [PATCH 05/16] Update requirements.txt --- barcode_scanner/requirements.txt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/barcode_scanner/requirements.txt b/barcode_scanner/requirements.txt index 5c9c68728..19518edbc 100644 --- a/barcode_scanner/requirements.txt +++ b/barcode_scanner/requirements.txt @@ -1,3 +1,2 @@ -opencv-python -glob -pyzbar +opencv-python==4.6.0.66 +pyzbar==0.1.9 From eac5ff4e886ad4df07dbac35692a7cdd5515ecf4 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:11:36 +0530 Subject: [PATCH 06/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index a292227da..2d0d7488b 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -4,9 +4,10 @@ def barcode(decoded, image): - imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top),(decoded.rect.left + decoded.rect.width, decoded.rect.top + decoded.rect.height),color=(0, 255, 0),thickness=5) + imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top), (decoded.rect.left + decoded.rect.width, decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) return imge + def scan(image): dcode = decode(image) for obj in dcode: @@ -17,6 +18,7 @@ def scan(image): print() return image + dat = input("Enter the path of the barcode") data = glob(dat) for code in data: From f4b8782a3634f3f247bd6502b45b9bf254b2290d Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:13:03 +0530 Subject: [PATCH 07/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index 2d0d7488b..c2ba2be1c 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -4,7 +4,8 @@ def barcode(decoded, image): - imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top), (decoded.rect.left + decoded.rect.width, decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) + imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top), + (decoded.rect.left + decoded.rect.width, decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) return imge From 0a85036900dac39e746dcc5f11a457bbfc54ef1e Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:14:13 +0530 Subject: [PATCH 08/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index c2ba2be1c..19c9d4665 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -4,8 +4,9 @@ def barcode(decoded, image): - imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top), - (decoded.rect.left + decoded.rect.width, decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) + imge = cv2.rectangle(image, (decoded.rect.left, + decoded.rect.top), (decoded.rect.left + decoded.rect.width, + decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) return imge From 64ae3eb4c0a5dcc010c5de17e9982f24ec9ea655 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:15:03 +0530 Subject: [PATCH 09/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index 19c9d4665..fefe95e4d 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -5,8 +5,8 @@ def barcode(decoded, image): imge = cv2.rectangle(image, (decoded.rect.left, - decoded.rect.top), (decoded.rect.left + decoded.rect.width, - decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) + decoded.rect.top), (decoded.rect.left + + decoded.rect.width, decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) return imge From 699784d35036a418cad62fec8857dbdb7d555750 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:17:23 +0530 Subject: [PATCH 10/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index fefe95e4d..001b63b6f 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -4,9 +4,9 @@ def barcode(decoded, image): - imge = cv2.rectangle(image, (decoded.rect.left, - decoded.rect.top), (decoded.rect.left + - decoded.rect.width, decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) + imge = cv2.rectangle(image, (decoded.rect.left, + decoded.rect.top), (decoded.rect.left + decoded.rect.width, + decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) return imge From aac8fc2f34b46b1e1a526cc80f3f693368025438 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:21:09 +0530 Subject: [PATCH 11/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index 001b63b6f..1e053ac52 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -6,7 +6,8 @@ def barcode(decoded, image): imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top), (decoded.rect.left + decoded.rect.width, - decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) + decoded.rect.top + decoded.rect.height), + color=(0, 255, 0), thickness=5) return imge From c49b768ce6b52ea3f5d78b43c1aaa34f2ec4e669 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:23:15 +0530 Subject: [PATCH 12/16] Create barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index 1e053ac52..ea3100af9 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -5,9 +5,8 @@ def barcode(decoded, image): imge = cv2.rectangle(image, (decoded.rect.left, - decoded.rect.top), (decoded.rect.left + decoded.rect.width, - decoded.rect.top + decoded.rect.height), - color=(0, 255, 0), thickness=5) + decoded.rect.top), (decoded.rect.left + decoded.rect.width, + decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) return imge From 0db0e9c396082ee876280cac151971ec37d6c30f Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:28:05 +0530 Subject: [PATCH 13/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index ea3100af9..2ca215dce 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -5,8 +5,10 @@ def barcode(decoded, image): imge = cv2.rectangle(image, (decoded.rect.left, - decoded.rect.top), (decoded.rect.left + decoded.rect.width, - decoded.rect.top + decoded.rect.height), color=(0, 255, 0), thickness=5) + decoded.rect.top), (decoded.rect.left + decoded.rect.width, + decoded.rect.top + + decoded.rect.height), + color=(0, 255, 0), thickness=5) return imge From 046e3c006c6a6403b05d5554e193df9dfa8c9083 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:35:29 +0530 Subject: [PATCH 14/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index 2ca215dce..b9c2f7ed6 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -2,16 +2,13 @@ from glob import glob import cv2 - def barcode(decoded, image): imge = cv2.rectangle(image, (decoded.rect.left, - decoded.rect.top), (decoded.rect.left + decoded.rect.width, - decoded.rect.top + - decoded.rect.height), - color=(0, 255, 0), thickness=5) + decoded.rect.top), (decoded.rect.left + decoded.rect.width, + decoded.rect.top + decoded.rect.height), + color=(0, 255, 0), thickness=5) return imge - def scan(image): dcode = decode(image) for obj in dcode: @@ -23,9 +20,9 @@ def scan(image): return image -dat = input("Enter the path of the barcode") -data = glob(dat) -for code in data: +data = input("Enter the path of the barcode") +dat = glob(data) +for code in dat: img = cv2.imread(code) img = scan(img) cv2.imshow("img", img) From 75cf386b1e61fe23399d88530fa80c9f5846a07b Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:38:55 +0530 Subject: [PATCH 15/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index b9c2f7ed6..34bc24103 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -1,29 +1,32 @@ +#!/usr/bin/python from pyzbar.pyzbar import decode from glob import glob import cv2 + def barcode(decoded, image): - imge = cv2.rectangle(image, (decoded.rect.left, - decoded.rect.top), (decoded.rect.left + decoded.rect.width, - decoded.rect.top + decoded.rect.height), - color=(0, 255, 0), thickness=5) + imge = cv2.rectangle(image, (decoded.rect.left, decoded.rect.top), + (decoded.rect.left + decoded.rect.width, + decoded.rect.top + decoded.rect.height), + color=(0, 255, 0), thickness=5) return imge + def scan(image): dcode = decode(image) for obj in dcode: - print("Given barcode:", obj) + print ('Given barcode:', obj) image = barcode(obj, image) - print("Barcode Type:", obj.type) - print("Scanned Data:", obj.data) - print() + print ('Barcode Type:', obj.type) + print ('Scanned Data:', obj.data) + print () return image -data = input("Enter the path of the barcode") -dat = glob(data) -for code in dat: +dat = input('Enter the path of the barcode') +data = glob(dat) +for code in data: img = cv2.imread(code) img = scan(img) - cv2.imshow("img", img) + cv2.imshow('img', img) cv2.waitKey(0) From 92673630892daf36417160dace36cda194d503e9 Mon Sep 17 00:00:00 2001 From: Palani Date: Sun, 2 Oct 2022 19:40:36 +0530 Subject: [PATCH 16/16] Update barcode_scanner.py --- barcode_scanner/barcode_scanner.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/barcode_scanner/barcode_scanner.py b/barcode_scanner/barcode_scanner.py index 34bc24103..1c7da0b6f 100644 --- a/barcode_scanner/barcode_scanner.py +++ b/barcode_scanner/barcode_scanner.py @@ -15,11 +15,11 @@ def barcode(decoded, image): def scan(image): dcode = decode(image) for obj in dcode: - print ('Given barcode:', obj) + print('Given barcode:', obj) image = barcode(obj, image) - print ('Barcode Type:', obj.type) - print ('Scanned Data:', obj.data) - print () + print('Barcode Type:', obj.type) + print('Scanned Data:', obj.data) + print() return image