আইডি ও ব্যাংক কার্ড নম্বর পড়ার জন্য ফ্রি সুইফট OCR API
আইডি কার্ড, ব্যাংক কার্ড, বাড়ির নম্বর এবং ডকুমেন্ট থেকে নম্বর শনাক্ত ও পড়ার জন্য শীর্ষস্থানীয় ওপেন সোর্স সুইফট অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) লাইব্রেরি, যা ফ্রি সুইফট API এর মাধ্যমে সরবরাহ করা হয়।
Evil কি?
অ্যাপল প্ল্যাটফর্মে সফটওয়্যার ডেভেলপারদের জন্য iOS এবং macOS অ্যাপ্লিকেশনে অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) সংযোজন করা সহজ হয়ে যায় ওপেন-সোর্স Evil লাইব্রেরির মাধ্যমে। এই সুইফট-ভিত্তিক সমাধানটি অ্যাপলের Vision ফ্রেমওয়ার্কের ডিভাইস-ভিত্তিক ক্ষমতা ব্যবহার করে চিত্র থেকে টেক্সট বের করার জন্য একটি উচ্চ-স্তরের API প্রদান করে, যা চমৎকার দক্ষতা সম্পন্ন। ডেভেলপার-প্রথম টুল হিসেবে ডিজাইন করা Evil জটিল OCR সক্ষমতা যোগ করার প্রক্রিয়াকে সরল করে, যাতে আপনি আপনার সুইফট প্রকল্পের মধ্যে সরাসরি ব্যাংক কার্ড, আইডি কার্ড বা দরজার নম্বরের মতো উৎস থেকে টেক্সট দ্রুত শনাক্ত করতে পারেন।
Evil লাইব্রেরি Swift-নেটিভ পারফরম্যান্সকে Core ML মডেল (.mlmodel) ইন্টিগ্রেশনের মাধ্যমে অসাধারণ নমনীয়তার সঙ্গে যুক্ত করে গঠিত ডেটা বের করার ক্ষেত্রে উৎকৃষ্ট। এই মডেল-ভিত্তিক আর্কিটেকচার ডেভেলপারদের পূর্ব-প্রশিক্ষিত মডেলগুলো তৎক্ষণাৎ ব্যবহার করার বা নির্দিষ্ট রিকগনিশন কাজের জন্য কাস্টম মডেল প্রশিক্ষণ ও বাস্তবায়নের সুযোগ দেয়। সহজ API এবং নমনীয় মডেল ডিপ্লয়মেন্টের সমন্বয়ে Evil একটি সরল, উচ্চ-প্রদর্শনশীল OCR অভিজ্ঞতা প্রদান করে, যা iOS এবং macOS এর জন্য আপনার মোবাইল ও ডেস্কটপ অ্যাপ্লিকেশনে উন্নত, ডিভাইস-ভিত্তিক টেক্সট এক্সট্র্যাকশন ফিচার তৈরির জন্য পুরোপুরি উপযুক্ত।
Evil দিয়ে শুরু করা
Evil ইনস্টল করার সুপারিশকৃত পদ্ধতি হল CocoaPods ব্যবহার করা। মসৃণ ইনস্টলেশনের জন্য নিচের কমান্ডটি ব্যবহার করুন।
CocoaPods দিয়ে Evil লাইব্রেরি ইনস্টল করুন
pod 'evil'GitHub দিয়ে Evil লাইব্রেরি ইনস্টল করুন
git clone https://github.com/getomni-ai/zerox.git আপনি ম্যানুয়ালি ও ইনস্টল করতে পারেন; সর্বশেষ রিলিজ ফাইলগুলো সরাসরি GitHub রিপোজিটরি থেকে ডাউনলোড করুন।
Swift API দিয়ে চিত্রের নম্বর শনাক্ত করুন
সম্পূর্ণভাবে সুইফটে নির্মিত Evil iOS (11.0+) এবং macOS (10.13+) উভয়কে সমর্থন করে, যা অ্যাপল ইকোসিস্টেমের নেটিভ ডেভেলপমেন্টের জন্য বহুমুখী। ওপেন-সোর্স Evil লাইব্রেরি সুইফট অ্যাপ্লিকেশনের মধ্যে গঠিত ডেটা থেকে নম্বর শনাক্তকরণের পূর্ণ সমর্থন প্রদান করে। Evil লাইব্রেরির প্রধান লক্ষ্য হল সফটওয়্যার ডেভেলপারদের জন্য চিত্র থেকে টেক্সট (যেমন ব্যাংক কার্ড, আইডি কার্ড, বা দরজার নম্বর) শনাক্ত করা যতটা সম্ভব সহজ করা। একবার আপনি Evil লাইব্রেরি ইনিশিয়ালাইজ করলে, চিত্র থেকে টেক্সট শনাক্ত করা সহজে `recognize` মেথড কল করার মাধ্যমে করা যায়; নিচের উদাহরণটি তা প্রদর্শন করে।
Swift API দিয়ে চিত্রের নম্বর কীভাবে শনাক্ত করবেন?
let image: Recognizable = // আপনার চিত্র (যেমন, একটি UIImage বা CGImage)
let result = evil?.recognize(image)
print(result)
// এটি OCR ফলাফল ফেরত দেয়—সাধারণত সনাক্তকৃত নম্বর বা টেক্সট একটি স্ট্রিং হিসেবে
// ইনপুট চিত্রে OCR চালান
if let result = evil?.recognize(myImage) {
print("সনাক্তকৃত নম্বর: \(result)")
}
উন্নত মেমরি ম্যানিপুলেশন
ওপেন-সোর্স Swift অপটিক্যাল ক্যারেক্টার রিকগনিশন লাইব্রেরি Evil সফটওয়্যার ডেভেলপারদেরকে সুইফট অ্যাপ্লিকেশনের মধ্যে সরাসরি মেমরি অ্যাক্সেস ও ম্যানিপুলেট করার সুযোগ দেয়। ফলে এটি ডিবাগিং, গেম হ্যাকিং বা সিকিউরিটি টেস্টিংয়ের জন্য উপযোগী। নিচে একটি উদাহরণ দেওয়া হয়েছে যা সুইফট কমান্ড ব্যবহার করে নির্দিষ্ট মেমরি লোকেশন থেকে পড়া ও লেখা প্রদর্শন করে।
Swift API দিয়ে নির্দিষ্ট মেমরি লোকেশনে কীভাবে পড়া ও লেখা যায়?
#include
int main() {
uintptr_t address = 0x00400000; // উদাহরণ মেমরি ঠিকানা
uint8_t value = evil_read_memory(address); // একটি বাইট পড়া
evil_write_memory(address, 0x90); // একটি NOP (0x90) নির্দেশনা লেখা
return 0;
}
URL দিয়ে নমনীয় মডেল লোডিং
ওপেন-সোর্স Evil লাইব্রেরি আপনার Core ML মডেল লোড করার জন্য একাধিক পদ্ধতি প্রদান করে। আপনি সরাসরি আপনার অ্যাপ্লিকেশনের সঙ্গে মডেলগুলো বান্ডল করতে পারেন অথবা অ্যাপের প্রাথমিক ডাউনলোড সাইজ কমাতে মডেলগুলো রিমোট সার্ভার থেকে রানটাইমে ডাউনলোড করার জন্য কনফিগার করতে পারেন। আপনার অ্যাপ বান্ডল ছোট রাখতে, আপনি আপনার .mlmodel ফাইলটি একটি সার্ভারে হোস্ট করে Evil লাইব্রেরিকে রানটাইমে তা ডাউনলোড করতে দিতে পারেন।
Swift API দিয়ে রিমোট URL থেকে মডেল কীভাবে অ্যাক্সেস করবেন?
let downloadURL = URL(string: "https://your-server.com/ChineseIDCard.mlmodel")!
let chineseIDCard = Recognizer.custom(name: "ChineseIDCard", model: downloadURL, needComplie: true, processor: Recognizer.cropChineseIDCardNumberArea)
let evil = try? Evil(recognizer: chineseIDCard)