আমি প্রতিটি কোণে বারকোড সনাক্ত করার সূত্রটি কীভাবে পরিবর্তন করতে পারি? - ম্যাটল্যাব


14

আমি প্রতিটি কোণে বারকোড সনাক্ত করার সূত্রটি কীভাবে পরিবর্তন করতে পারি?

সূত্র

আসল চিত্র প্রক্রিয়াযুক্ত চিত্র

 rgb = imread('barcode4.jpg');
% Resize Image
rgb = imresize(rgb,0.33);
figure(),imshow(rgb);
% Convert from RGB to Gray
Igray = double(rgb2gray(rgb));
% Calculate the Gradients
[dIx, dIy] = gradient(Igray);
B = abs(dIx) - abs(dIy);
% Low-Pass Filtering
H = fspecial('gaussian', 20, 10);
C = imfilter(B, H);
C = imclearborder(C);
figure(),imagesc(C);colorbar

উত্তর:


8

আপনার কাছে থাকা ফিল্টারটি যদি আপনার পক্ষে যথেষ্ট পরিমাণে কাজ করে তবে আপনি imrotateসোর্স চিত্রের কয়েকটি ঘোরানো সংস্করণ তৈরি করতে এবং সেগুলির প্রতিটিতে থাকা ফিল্টারটি ব্যবহার করতে পারেন ( bilinearবুদ্ধিমান ডেরিভেটিভস পেতে ব্যবহার নিশ্চিত করুন )


পরামর্শের জন্য ধন্যবাদ. আমি কীভাবে কয়েকটি ঘোরানো সংস্করণ তৈরি করতে পারি ?? দুঃখিত, আমি ম্যাটল্যাবে নতুন

আমি বারকোডটি উল্লম্ব বা অনুভূমিকভাবে পেতে পরিচালনা করি। তবে সূত্রটি কেবল অনুভূমিক বারকোড সনাক্ত করতে পারে। আমি কি সূত্রটি পরিবর্তন করতে পারি যাতে উল্লম্ব এবং অনুভূমিক উভয়ই বারকোড সনাক্ত করতে পারে?
কিম

mathworks.com/matlabcentral/fileexchange/31727- বারকোড- রিডার আপনি এই লিঙ্কটি দেখতে পারেন
ভিনি

7

আপনার সমীকরণটি সেই অঞ্চলগুলিকে হাইলাইট করে যেখানে এক্স দিকের গ্রেডিয়েন্টের দৈর্ঘ্যটি ওয়াই দিকের তুলনায় ধারাবাহিকভাবে বেশি। এই দিকটি সমস্ত দিকনির্দেশে তৈরি করতে, আপনি সম্ভবত এমন অঞ্চলগুলি চান যেখানে কোনও দিকের গ্রেডিয়েন্টের দৈর্ঘ্য বেশি।

নিম্নলিখিত ব্যবহার করে দেখুন:

B = double(sqrt(dIx.^2 + dIy.^2) > 0)

এটি মূলত প্রতিটি প্রান্তটি হাইলাইট করবে না, তবে লো-পাস ফিল্টারটির অর্থ হল যে আপনার একসাথে একাধিক প্রান্তের প্রয়োজন।


কোডিংয়ের জন্য ধন্যবাদ! সূত্রটি প্রতিস্থাপন করার চেষ্টা করার সাথে কোডটি কোথায় রাখবেন তা আমি জানি না, সবকিছু সবুজ হয়ে গেছে।

আমার আপডেট করা সংস্করণ চেষ্টা করুন।
এনজবুউ 30'12

তবে এখন পুরো ছবিটি লালচে হয়ে গেছে !!
কিম

আমি বারকোডটি উল্লম্ব বা অনুভূমিকভাবে পেতে পরিচালনা করি। তবে সূত্রটি কেবল অনুভূমিক বারকোড সনাক্ত করতে পারে। আমি কি সূত্রটি পরিবর্তন করতে পারি যাতে উল্লম্ব এবং অনুভূমিক উভয়ই বারকোড সনাক্ত করতে পারে?
কিম

আমি এই furmule 'পরীক্ষা' b = ডবল (SQRT (DIX ^ 2 + + DIY ^ 2)> 0।।) "এটা কাজ নয়।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.