কেবলমাত্র রূপচর্চামূলক ক্রিয়াকলাপগুলি ব্যবহার করে আমি কীভাবে কোনও চিত্র থেকে পাঠ্য পুনর্গঠন করব?


16

আমি নিম্নলিখিত চিত্রটি যথাসম্ভব সর্বোত্তমভাবে পুনর্গঠন করতে চাই। কৌতূহলোদ্দীপক অংশটি হ'ল আমি এটি কেবলমাত্র ইমেজটিতে মরফোরোগিকাল অপারেশন ব্যবহার করে করতে চাই

আমি ক্ষয়, প্রসারণ, খোলার এবং বন্ধ করার চেষ্টা করেছি তবে ফলাফল খুব ভাল নয়।

এটা কি সম্ভব?

এখানে চিত্র বর্ণনা লিখুন


এই অস্পষ্ট প্রান্তগুলি মসৃণ করার সুস্পষ্ট প্রথম পদক্ষেপের মতোই ডিলেশনটি দেখায়?
পল আর

হ্যাঁ, আমি মনে করি এটি চেষ্টা করা প্রতিটি সংমিশ্রণের প্রথম পদক্ষেপ।

2
আমি মনে করি আপনার সমস্যাটি আরও সংজ্ঞায়িত করা দরকার। উদাহরণস্বরূপ, যদি আপনি বোঝাতে চান কীভাবে আপনি এটিকে আরও পঠনযোগ্য করে তুলতে পারেন তবে সামান্য বিস্তৃতি সম্ভবত যথেষ্ট। যদি আপনি যে কোনও বিকৃতি প্রক্রিয়াটির আগে ঠিক কীভাবে দেখেছিলেন তা পুনর্গঠন করতে চান তবে তা সম্ভব নয়, কারণ আপনার রূপবিজ্ঞানের আলগোরিদিমটিতে ব্যবহৃত নির্দিষ্ট ফন্টের আকারগুলির কোনও জ্ঞান নেই।
so12311

এটিকে আরও পঠনযোগ্য করে তোলার জন্য আমি [0 1 0; 1 1 1; 0 1 0]। আমি এমন কিছু সন্ধান করছি যা মূলটির সাথে পাঠ্যটি খুব কাছাকাছি দেখায়।
জ্যাকবসেন

উত্তর:


6

যদি আপনি মোড়ফোলজিক্যালি রূপান্তরিত চিত্রগুলি যোগ / বিয়োগ ইত্যাদি করতে ইচ্ছুক হন তবে আপনি প্রতিটি পিক্সেলের আশেপাশে কতগুলি সংকেত পিক্সেল এবং সেই সংখ্যার উপর ভিত্তি করে থ্রেশহোল্ড গণনা করতে পারেন।

img = imread('http://i.stack.imgur.com/wicpc.png');

n = false(3);n(4) = 1;
s = false(3);s(6) = 1;
w = false(3);w(2) = 1;
e = false(3);e(8) = 1;

%# note that you could convolve with a cross instead
fourNeighbourCount = imerode(img,n) + imerode(img,s) + imerode(img,w) + imerode(img,3) + img;

এখানে চিত্র বর্ণনা লিখুন

%# require at least two neighbours
img = fourNeighbourCount > 1;

এখানে চিত্র বর্ণনা লিখুন

এরপরে যদি আপনি একটি 3x3 মাস্কের সাথে একত্রিত হন যার মাঝখানে একটি গর্ত থাকে তবে আপনি এরকম কিছু পেতে পারেন:

এখানে চিত্র বর্ণনা লিখুন


3

এটি সমাধান করার জন্য বেশ আকর্ষণীয় সমস্যা! একটি মাঝারি ফিল্টার চেষ্টা করুন । আরও তথ্যের জন্য এখানে এবং এখানে রেফারেন্স দেখুন ।

যদিও আমি আপনার সমস্যার অনুকরণের জন্য আমার হাত রাখি নি, এটি একটি পরামর্শ। আমার অন্ত্র অনুভূতি বলে যে এটি আপনাকে দুর্দান্ত উপকার দিতে পারে কারণ, এটি লবণের সাথে নুন-মরিচ জাতীয় গোলমাল প্রতিরোধ করতে পরিচিত। আপনার ক্ষেত্রে, চিত্রগুলির সীমানার চারপাশে অতিরিক্ত সাদা বিন্দু রয়েছে যা বর্ণমালার কোন পাশের উপর নির্ভর করে পুরো সাদা বা পূর্ণ কালোতে রূপান্তরিত হবে। এটি মিডিয়ান ফিল্টারিংয়ের পরে কীভাবে দেখায়:

এখানে চিত্র বর্ণনা লিখুন


1

যদি কোনও কারণে আপনি মোড়ফোলজিকাল অপারেশন ব্যবহারের মধ্যে সীমাবদ্ধ থাকেন তবে আপনি ওরিয়েন্টেড ঘনিষ্ঠ ক্রিয়াকলাপগুলির "ভোটদানের পরিকল্পনা" ব্যবহার করতে পারেন।

রূপচর্চা অপারেশনগুলির মধ্যে একটি সমস্যা হ'ল তারা সত্যই দিকনির্দেশকে বিবেচনায় নেয় না। সেন্টার পিক্সেলের জন্য, এর মতো একটি পাড়া

1 0 0
1 1 0
0 1 1

সত্যিই এর মতো পাড়ার চেয়ে আলাদা কিছু নয়

0 1 0
1 1 0
1 1 0

এটি সমস্যার কারণ হতে পারে যেহেতু আপনি যখন তাদের পছন্দ করতে চান তখন পীড়া এবং ক্ষয়টি দিকনির্দেশনা পক্ষপাতদুষ্ট নয়। সুতরাং আপনি যে কাজটি করতে পারেন তা হ'ল কর্নেলগুলি ব্যবহার করে সবচেয়ে উপযুক্ত দিকনির্দেশনাযুক্ত পক্ষপাতযুক্ত মোর্ফোলজিকাল ক্রিয়াকলাপটি সন্ধান করুন:

1 1 0   1 0 0   1 0 0
0 1 0   1 1 0   1 1 0
0 1 1   0 1 1   0 1 1 . . .

এটি 5 x 5 কার্নেলের সাথে আরও ভাল হবে তবে আমি মনে করি ধারণাটি যথেষ্ট পরিষ্কার। মূলত, একটি কোণ সনাক্তকরণের কার্নেলটির ধারণাটি কিছুটা প্রসারিত হয় যাতে এটি একটি লাইন বিভাগ সনাক্তকরণ কার্নেল। আপনি এটি সেরা-ফিট-কার্ভগুলি খুঁজে পেতেও ব্যবহার করতে পারেন:

0 0 0 1 1
0 0 1 1 0
0 1 1 0 0 
0 0 1 1 0
0 0 0 1 1

স্পষ্টতই এটি বিপুল সংখ্যক কার্নেলের দিকে নিয়ে যায়, তবে যদি মৌলিক ধারণাটি আপনার জন্য প্রতিশ্রুতি প্রদর্শন করে তবে কৌশলটির অনুকূলকরণের একটি উপায় রয়েছে যাতে সর্বোত্তম ফিট কার্নেলটি একক পাসে পাওয়া যায়।

যাইহোক, আপনি যদি একাধিক কার্নেল এবং কিছু যুক্তি ব্যবহার করেন তবে প্রতিটি ক্রিয়াকলাপে (x, y) একটি traditionalতিহ্যগত রূপচর্চা পদক্ষেপের চেয়ে আরও বেশি গণনা প্রয়োজন:

  1. প্রতিটি পিক্সেল (x, y) এ বেশ কয়েকটি রূপক অপারেটর প্রয়োগ করুন। প্রতিটি অপারেটরের জন্য, রূপচিকিত্সার অপারেশনের ফলাফল এবং ইনপুট কার্নেলের সাথে মেলে এমন ডিগ্রি উভয়ই গণনা করুন। ("ডিগ্রি" = পিক্সেলের সাথে মেলে সংখ্যা)
  2. কার্নেলের জন্য রূপচর্চা ফলাফলটি চয়ন করুন যা প্রকৃত অন / অফ পিক্সেল কনফিগারেশনটির সাথে সর্বাধিক ঘনিষ্ঠভাবে মেলে।

কার্নেলের আকার অবশ্যই ইনপুট আকারের সাথে মিলে যেতে হবে। বৃহত্তর কার্নেল ব্যবহার করার পরিবর্তে, আপনি ক্রিয়াকলাপের সংখ্যা হ্রাস করতে "স্প্রেড" কার্নেল ব্যবহার করতে পারেন। নিম্নলিখিত কার্নেলটি 1-এর চেয়ে বড় ব্যাসার্ধের সাথে কেবল একটি 3 x 3 কার্নেল।

1 0 0 0 0 0 0
0 0 0 0 0 0 0
1 0 0 1 0 0 0
0 0 0 0 0 0 0
1 0 0 0 0 0 1
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.