Leptonica
উন্নত চিত্র প্রক্রিয়াকরণের জন্য C API
ওপেন সোর্স সি লাইব্রেরি ডেভেলপারদের তাদের নিজস্ব অ্যাপের মধ্যে ইমেজ স্কেলিং, অনুবাদ, ঘূর্ণন, শিয়ারের মতো উন্নত ছবি প্রসেসিং অপারেশন করতে সক্ষম করে।
Leptonica হল একটি ওপেন সোর্স সি ইমেজ প্রসেসিং এবং ইমেজ অ্যানালাইসিস লাইব্রেরি যা ডকুমেন্ট ইমেজের পাশাপাশি প্রাকৃতিক ইমেজ নিয়ে কাজ করার জন্য খুবই উপযোগী। লাইব্রেরিটি খুবই স্থিতিশীল এবং এতে JPEG, PNG, TIFF, WebP, JP2, BMP, PNM, PS, GIF এবং PDF এর মতো অসংখ্য ইমেজ ফরম্যাটের সমর্থন অন্তর্ভুক্ত রয়েছে। আপনি সহজেই ইমেজ ফরম্যাটের প্রদত্ত তালিকায় পড়া এবং লেখার ক্রিয়াকলাপ সম্পাদন করতে পারেন। লাইব্রেরিটি বেশিরভাগ অবজেক্ট-ওরিয়েন্টেড পদ্ধতি এবং ডিজাইন নীতির একটি সেট ব্যবহার করে যা কোডটিকে নিরাপদ, বহনযোগ্য এবং স্বচ্ছ করে তোলে।
লাইব্রেরিটি বেশ কয়েকটি গুরুত্বপূর্ণ ক্রিয়াকলাপের জন্য সমর্থন প্রদান করে এবং ইমেজ প্রক্রিয়াকরণের পাশাপাশি ইমেজ বিশ্লেষণের জন্য সরঞ্জামগুলির একটি সেট। লাইব্রেরি সমর্থন ক্রিয়াকলাপ যেমন ইমেজ স্কেলিং, অনুবাদ, ঘূর্ণন, শিয়ার, পিক্সেল গভীরতার পরিবর্তনের সাথে চিত্র রূপান্তর, বাইনারি এবং গ্রে-স্কেল আকারবিদ্যা, পিক্সেলওয়াইজ মাস্কিং, মিশ্রন, বর্ধিতকরণ, গাণিতিক অপ্স এবং আরও অনেক কিছু। এটি বিভিন্ন গুরুত্বপূর্ণ ইউটিলিটিগুলিকে সমর্থন করে যেমন ছবি-সম্পর্কিত ডেটা প্রকারের অ্যারেগুলি পরিচালনা করার জন্য যেমন pixa, boxa, pta এবং em> অন্যান্য।
এটি শিরোনামে এমবেড করা বিশেষ TIFF ট্যাগ সহ বেশ কয়েকটি ছবি এবং লেখা ফাইলগুলি পড়ার এবং লেখার জন্য ফাংশন প্রদান করেছে। এটি ডেভেলপারদের বিভিন্ন ফরম্যাটে পোস্টস্ক্রিপ্ট ফাইল লিখতে দেয় যেমন পিডিএফে রূপান্তর, রাস্টার ইমেজ, এবং একটি পোস্টস্ক্রিপ্ট ফাইলকে সংকুচিত চিত্রের সেটে রূপান্তর করা।
Leptonica সঙ্গে শুরু করা
Leptonica ইনস্টল করার সবচেয়ে সহজ উপায় হল GitHub এর মাধ্যমে ব্যবহার করা। একটি মসৃণ ইনস্টলেশনের জন্য অনুগ্রহ করে নিম্নলিখিত কমান্ডটি ব্যবহার করুন
GitHub এর মাধ্যমে Leptonica ইনস্টল করুন।
git clone --depth=1 https://github.com/mrdoob/three.js.git
পড়া এবং ছবি লেখা
ওপেন সোর্স লাইব্রেরি Leptonica সফ্টওয়্যার ডেভেলপারদের তাদের নিজস্ব অ্যাপ্লিকেশনের মধ্যে ছবি পড়তে এবং লেখার ক্ষমতা দেয়। এটি ইমেজ পড়ার এবং লেখার জন্য বেশ কিছু গুরুত্বপূর্ণ পদ্ধতি প্রদান করেছে যেমন ইমেজ ডেটা পড়া এবং লেখার জন্য নিম্ন-স্তরের এবং উচ্চ-স্তরের ফাংশন, একাধিক ইমেজ সহ ফাইল পড়ার এবং লেখার ফাংশন, হেডারে এমবেড করা TIFF ট্যাগ সহ ফাইল, JPEG ফাইল পড়া , পোস্টস্ক্রিপ্ট ফাইল পড়া এবং লেখা এবং অন্যান্য বিভিন্ন ফাংশন। লাইব্রেরি দ্বারা সমর্থিত কিছু নির্দিষ্ট এনকোডার রয়েছে।
লেপটোনিকা লাইব্রেরির মাধ্যমে ছবি পড়ুন
// Open input image with leptonica library
Pix *image = pixRead("/usr/src/tesseract-3.02/phototest.tif");
api->SetImage(image);
// Get OCR result
char *outText;
outText = api->GetUTF8Text();
সি লাইব্রেরির মাধ্যমে ইমেজ স্কেলিং
ওপেন সোর্স লাইব্রেরি লেপটোনিকা তাদের নিজস্ব সি অ্যাপ্লিকেশনের ভিতরে ইমেজ স্কেল করার জন্য সম্পূর্ণ সমর্থন প্রদান করেছে। Leptonica দ্বারা প্রদত্ত অসংখ্য স্কেলিং ফাংশন রয়েছে, যেমন লিনিয়ার ইন্টারপোলেশন ব্যবহার করে আপস্কেলিং, সাবস্যাম্পলিং ব্যবহার করে ডাউনস্কেলিং, বা এরিয়া ম্যাপিং, স্যাম্পলিং, 2x, এবং 4x লিনিয়ার ইন্টারপোলেশন আপস্কেলিং, RGB থেকে ধূসর বা বাইনারি থেকে পূর্ণসংখ্যা সাবস্যাম্পলিং এবং আরও অনেক কিছু। তা ছাড়া বাইনারি ইমেজগুলিতে খুব দ্রুত স্কেলিংও দেওয়া হয়, এবং স্ক্যান করা বাইনারি পাঠ্যের চিত্র বিশ্লেষণের জন্য দরকারী।
সি লাইব্রেরির মাধ্যমে ভালো ইমেজ রোটেশন
ওপেন সোর্স লাইব্রেরি Leptonica তাদের নিজস্ব C অ্যাপ্লিকেশনের ভিতরে ছবি ঘোরানোর জন্য সমর্থন প্রদান করেছে। ইমেজ ঘূর্ণন অপারেশন অর্জনের জন্য অনেক উপায় রয়েছে, যেমন শিয়ার দ্বারা ঘূর্ণন, এলাকা ম্যাপিং দ্বারা ঘূর্ণন, 90, 180 বা 270 ডিগ্রি দ্বারা বিশেষ ঘূর্ণন, 2 বা 3 শিয়ার দ্বারা ঘূর্ণন, এবং আরও অনেক কিছু।
C লাইব্রেরির মাধ্যমে 180 ডিগ্রি ইমেজ রোটেশন
extra = w & 31;
if (extra)
shift = 32 - extra;
else
shift = 0;
if (shift)
rasteropHipLow(datas, w, h, d, wpls, 0, h, shift);
databpl = (w + 7) / 8;
bpl = 4 * wpls;
for (i = 0; i < h; i++) {
lines = datas + (h - 1 - i) * wpls;
lined = datad + i * wpld;
for (j = 0; j < databpl; j++) {
if (val = GET_DATA_BYTE(lines, bpl - 1 - j))
SET_DATA_BYTE(lined, j, tab[val]);
}
}
if (shift)
rasteropHipLow(datas, w, h, d, wpls, 0, h, -shift);