পাইথন ব্যবহার করে কিউআর কোড কীভাবে তৈরি এবং ডিকোড করা যায়

একটি কিউআর কোড (কুইক রেসপন্স কোড) এক ধরণের ম্যাট্রিক্স বারকোড যা এনকোডড ডেটা সঞ্চয় করে। অল্প সময়ে বড় ডেটা সংরক্ষণ এবং অ্যাক্সেসের দক্ষতার কারণে এটির নাম দেওয়া হয়েছিল "কুইক রেসপন্স কোড"। আপনি এই কিউআর কোডগুলি যে কোনও জায়গায় খুঁজে পেতে পারেন: পোস্টার, ম্যাগাজিন, সিনেমা হল, ওয়েবসাইট, জিম, বিজ্ঞাপন ইত্যাদি

পাইথন ব্যবহার করে আপনি নিজের কিউআর কোড তৈরি করতে পারেন, এটি কাস্টমাইজ করতে পারেন এবং কিউআর কোড থেকে তথ্য ডিকোড করতে পারেন।

পাইথন এনভায়রনমেন্ট সেটআপ করুন

পাইথন প্রকল্পগুলির জন্য একটি বিচ্ছিন্ন পরিবেশ স্থাপনের পরামর্শ দেওয়া হচ্ছে। এটি করে আপনি প্রকল্পের নির্ভরতা সম্পর্কে আরও বুঝতে পারবেন।

ভার্চুয়াল পরিবেশ তৈরি করা

পাইথনে আপনি বিভিন্ন উপায়ে ভার্চুয়াল পরিবেশ তৈরি করতে পারেন : ভ্যুচুয়ালেনভ, ভার্চুয়ালেনভ্রাপার অথবা অ্যানাকোন্ডা বিতরণ। এখানে আমরা একটি ভার্চুয়াল পরিবেশ তৈরি করতে virtualenv ব্যবহার করবে।

  1. Mkdir [ফোল্ডার] কমান্ডটি ব্যবহার করে একটি ফোল্ডার তৈরি করুন, যেখানে আপনি এই প্রকল্পটি তৈরি করতে চান।
  2. নতুন ডিরেক্টরিতে স্থানান্তর করতে কমান্ড প্রম্পটে সিডি [ফোল্ডার] টাইপ করুন।
  3. ভার্চুয়াল পরিবেশ তৈরি করতে ভার্চুয়ালেনভ [পরিবেশের নাম] টাইপ করুন।
  4. [পরিবেশের নাম] স্ক্রিপ্টস সক্রিয়করণ টাইপ করে ভার্চুয়াল পরিবেশ সক্রিয় করুন

প্রয়োজনীয় প্যাকেজ ইনস্টল করুন

পাইপ কমান্ডটি ব্যবহার করে প্রয়োজনীয় পাইথন প্যাকেজ ইনস্টল করুন। আপনার সিস্টেমে আপনি পাইপ ইনস্টল করেছেন তা নিশ্চিত করুন।

আপনার কমান্ড প্রম্পটে নিম্নলিখিত কমান্ডটি চালান।

 pip3 install opencv-python qrcode numpy Image

আপনি যদি একযোগে সমস্ত প্যাকেজ ইনস্টল করতে না চান তবে আপনি সেগুলি একে একে ইনস্টল করতে পারেন:

 pip3 install opencv-python

এটি ওপেনসিভি-পাইথন প্যাকেজ ইনস্টল করে যা মূলত কম্পিউটার দৃষ্টি, মেশিন লার্নিং এবং চিত্র প্রক্রিয়াকরণের জন্য ব্যবহৃত হয়।

 pip3 install qrcode

এটি Qrcode পাইথন প্যাকেজটি ইনস্টল করে যা কিউআর কোড উত্পন্ন এবং পড়ার জন্য ব্যবহৃত হয়।

 pip3 install numpy

এটি নমপি পাইথন প্যাকেজ ইনস্টল করে যা অ্যারেগুলির সাথে কাজ করার জন্য ব্যবহৃত হয়।

 pip3 install Image

এটি চিত্র পাইথন প্যাকেজটি ইনস্টল করে যা ফাইলগুলি থেকে চিত্র লোড করতে এবং নতুন চিত্র তৈরি করতে বেশ কয়েকটি ফাংশন সরবরাহ করে।

কিউআর কোড উত্পন্ন করুন

কোডটি তৈরি করতে, .py এক্সটেনশন সহ একটি নতুন ফাইল তৈরি করুন যাতে কিউআর কোড উত্পন্ন করার কোড থাকবে।

আপনার পাইথন ফাইলে নিম্নলিখিত কোডটি আটকান এবং প্রোগ্রামটি চালান।

 import qrcode
# Data for which you want to make QR code
# Here we are using the URL of the MakeUseOf website
data = "https://www.makeuseof.com/"
# File name of the QR code Image
# Change it with your desired file name
QRCodefile = "MUOQRCode.png"
# Generating the QR code
QRimage = qrcode.make(data)
# Saving image into a file
QRimage.save(QRCodefile)

এটি প্রদত্ত ডেটা (এই ক্ষেত্রে, www.makeuseof.com ) এর জন্য একটি QR কোড চিত্র (MUOQRCode.png) তৈরি করবে। উত্পন্ন কিউআর কোডটি এরকম কিছু দেখবে:

একটি কাস্টমাইজড কিউআর কোড তৈরি করুন

আপনি কিউআর কোডটি লাইব্রেরির আশ্চর্যজনক বৈশিষ্ট্যগুলি সহ কাস্টমাইজ করতে পারেন। আপনি কিউআর কোডটির পূরণের রঙ, পটভূমির রঙ, চিত্রের আকার, বাক্স আকার এবং সীমানা বেধ পরিবর্তন করতে পারেন।

চিত্র এবং বাক্সের আকার পরিবর্তন করা হচ্ছে

আপনি কিউআরকোড শ্রেণিতে সংস্করণ প্যারামিটার ব্যবহার করে কিউআর কোড চিত্রের আকার পরিবর্তন করতে পারেন। এটি 1 এবং 40 এর মধ্যে পূর্ণসংখ্যা গ্রহণ করে যেখানে 1 21×21 ম্যাট্রিক্সের সমতুল্য এবং 40 টি 185×185 ম্যাট্রিক্সের সমতুল্য। নোট করুন যে ডেটা নির্দিষ্ট আকারে ফিট করে না, সংস্করণটি স্বয়ংক্রিয়ভাবে স্কেল হবে।

একইভাবে, আপনি কিউআরকোড শ্রেণিতে box_size পরামিতি ব্যবহার করে বাক্সের আকার পরিবর্তন করতে পারেন। এটি কিউআর কোডের প্রতিটি বাক্সের পিক্সেল নির্দিষ্ট করে।

 # Importing libraries
import qrcode
import numpy as np
# Data which for you want to make QR code
# Here we are using URL of MakeUseOf website
data = "https://www.makeuseof.com/"
# Name of the QR code Image file
QRCodefile = "CustomisedImgBoxQRCode.png"
# instantiate QRCode object
qrObject = qrcode.QRCode(version=1, box_size=12)
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image()
image.save(QRCodefile)
# print the image size (version)
print("Size of the QR image(Version):")
print(np.array(qrObject.get_matrix()).shape)

নিম্নলিখিত কিউআর কোড চিত্র ফাইলটি উত্পন্ন করা হবে:

এছাড়াও, নিম্নলিখিত আউটপুট প্রদর্শিত হবে-

 Size of the QR image(Version):
(33, 33)

নোট করুন যে সংস্করণটি ডেটার আকার অনুসারে স্বয়ংক্রিয়ভাবে ছোট হয়ে যায়।

ভরাট রঙ পরিবর্তন করা হচ্ছে

আপনি ফিল_লং প্যারামিটার ব্যবহার করে কিউআর কোডের ফিল রঙটি পরিবর্তন করতে পারেন।

 # Importing library
import qrcode
# Data for which you want to make QR Code
# Here we are using URL of MakeUseOf website
data = "https://www.makeuseof.com/"
# Name of the QR Code Image file
QRCodefile = "CustomisedFillColorQRCode.png"
# instantiate QRCode object
qrObject = qrcode.QRCode()
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image(fill_color="red")
# Saving image into a file
image.save(QRCodefile)

নিম্নলিখিত কিউআর কোড চিত্র ফাইলটি উত্পন্ন করা হবে:

পটভূমির রঙ পরিবর্তন করা

আপনি back_color প্যারামিটার ব্যবহার করে কিউআর কোডের পটভূমি রঙ পরিবর্তন করতে পারেন।

 # Importing library
import qrcode
# Data for which you want to make QR Code
# Here we are using URL of MakeUseOf website
data = "https://www.makeuseof.com/"
# Name of the QR Code Image file
QRCodefile = "CustomisedBGColorQRCode.png"
# instantiate QRCode object
qrObject = qrcode.QRCode()
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image(back_color="blue")
# Saving image into a file
image.save(QRCodefile)

নিম্নলিখিত কিউআর কোড চিত্র ফাইলটি উত্পন্ন করা হবে:

সীমানা পুরুত্ব পরিবর্তন হচ্ছে

আপনি কিউআর কোড কোডটিতে সীমান্ত প্যারামিটার ব্যবহার করে কিউআর কোডের সীমানা বেধ পরিবর্তন করতে পারেন।

 # Importing libraries
import qrcode
# Data for which you want to make QR Code
# Here we are using URL of MakeUseOf website
data = "https://www.makeuseof.com/"
# Name of the QR Code Image file
QRCodefile = "CustomisedBorderQRCode.png"
# instantiate QRCode object
qrObject = qrcode.QRCode(border=10)
# add data to the QR code
qrObject.add_data(data)
# compile the data into a QR code array
qrObject.make()
image = qrObject.make_image()
image.save(QRCodefile)

নিম্নলিখিত কিউআর কোড চিত্র ফাইলটি উত্পন্ন করা হবে:

কিউআর কোড চিত্র ব্যবহার করে কিউআর কোড ডিকোড করুন

পাইথনের ওপেনসিভি লাইব্রেরি ব্যবহার করে আপনি কিউআর কোড চিত্র থেকে তথ্য ডিকোড করতে পারেন। ওপেনসিভিতে একটি ইনবিল্ট কিউআর কোড সনাক্তকারী রয়েছে। ডিটেক্টর ব্যবহার করে আপনি কিউআর কোড থেকে ডেটা ডিকোড করতে পারেন।

 # Import Library
import cv2
# Name of the QR Code Image file
filename = "MUOQRCode.png"
# read the QRCODE image
image = cv2.imread(filename)
# initialize the cv2 QRCode detector
detector = cv2.QRCodeDetector()
# detect and decode
data, vertices_array, binary_qrcode = detector.detectAndDecode(image)
# if there is a QR code
# print the data
if vertices_array is not None:
print("QRCode data:")
print(data)
else:
print("There was some error")

প্রদত্ত চিত্রটি যদি একটি বৈধ QR কোড হয় তবে ডিকোডেড ডেটা প্রদর্শিত হবে। এই ক্ষেত্রে, নিম্নলিখিত আউটপুট উত্পন্ন করা হবে-

 QRCode data:
https://www.makeuseof.com/

একটি ওয়েবক্যাম ব্যবহার করে কিউআর কোড লাইভ ডিকোড করুন

বেশিরভাগ সময় লোকেরা কিউআর কোডগুলি স্ক্যান করার জন্য একটি ওয়েবক্যাম ব্যবহার করতে ঝোঁক। পাইথন এবং ওপেনসিভি লাইব্রেরির সম্ভাবনা ব্যবহার করে আপনি সহজেই কোনও কিউআর কোড থেকে ডেটা ডিকোড করতে পারেন।

 import cv2
# initalize the camera
cap = cv2.VideoCapture(0)
# initialize the OpenCV QRCode detector
detector = cv2.QRCodeDetector()
while True:
_, img = cap.read()
# detect and decode
data, vertices_array, _ = detector.detectAndDecode(img)
# check if there is a QRCode in the image
if vertices_array is not None:
if data:
print("QR Code detected, data:", data)
# display the result
cv2.imshow("img", img)
# Enter q to Quit
if cv2.waitKey(1) == ord("q"):
break
cap.release()
cv2.destroyAllWindows()

আপনি যখন এই কোডটি কার্যকর করেন, তখন আপনার ওয়েবক্যামটি স্বয়ংক্রিয়ভাবে খুলে যাবে। কেবল ওয়েবক্যামের সামনে কিউআর কোডটি ধরে রাখুন এবং ডেটা ডিকোড হয়ে কমান্ড প্রম্পটে প্রদর্শিত হবে।

এনকোডিং এবং ডিকোডিং কিউআর কোড তৈরি করা সহজ

এই নিবন্ধটি ব্যবহার করে আপনি সহজেই QR কোডগুলি এনকোড, ডিকোড এবং নিজের পছন্দ অনুসারে কাস্টমাইজ করতে পারবেন। এমনকি আপনি প্রদত্ত কোডটি ব্যবহার করে একটি সম্পূর্ণ কিউআর কোড স্ক্যানার-জেনারেটর অ্যাপ্লিকেশন তৈরি করতে পারেন।

কিউআর কোডগুলি র জন্য বেশ কয়েকটি সৃজনশীল উপায় রয়েছে । সৃজনশীল হন এবং আপনার পছন্দমতো কিউআর কোডগুলি ব্যবহার করুন।