আমি নিম্নলিখিত চিত্রটি যথাসম্ভব সর্বোত্তমভাবে পুনর্গঠন করতে চাই। কৌতূহলোদ্দীপক অংশটি হ'ল আমি এটি কেবলমাত্র ইমেজটিতে মরফোরোগিকাল অপারেশন ব্যবহার করে করতে চাই
আমি ক্ষয়, প্রসারণ, খোলার এবং বন্ধ করার চেষ্টা করেছি তবে ফলাফল খুব ভাল নয়।
এটা কি সম্ভব?
আমি নিম্নলিখিত চিত্রটি যথাসম্ভব সর্বোত্তমভাবে পুনর্গঠন করতে চাই। কৌতূহলোদ্দীপক অংশটি হ'ল আমি এটি কেবলমাত্র ইমেজটিতে মরফোরোগিকাল অপারেশন ব্যবহার করে করতে চাই
আমি ক্ষয়, প্রসারণ, খোলার এবং বন্ধ করার চেষ্টা করেছি তবে ফলাফল খুব ভাল নয়।
এটা কি সম্ভব?
উত্তর:
যদি আপনি মোড়ফোলজিক্যালি রূপান্তরিত চিত্রগুলি যোগ / বিয়োগ ইত্যাদি করতে ইচ্ছুক হন তবে আপনি প্রতিটি পিক্সেলের আশেপাশে কতগুলি সংকেত পিক্সেল এবং সেই সংখ্যার উপর ভিত্তি করে থ্রেশহোল্ড গণনা করতে পারেন।
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 মাস্কের সাথে একত্রিত হন যার মাঝখানে একটি গর্ত থাকে তবে আপনি এরকম কিছু পেতে পারেন:
এটি সমাধান করার জন্য বেশ আকর্ষণীয় সমস্যা! একটি মাঝারি ফিল্টার চেষ্টা করুন । আরও তথ্যের জন্য এখানে এবং এখানে রেফারেন্স দেখুন ।
যদিও আমি আপনার সমস্যার অনুকরণের জন্য আমার হাত রাখি নি, এটি একটি পরামর্শ। আমার অন্ত্র অনুভূতি বলে যে এটি আপনাকে দুর্দান্ত উপকার দিতে পারে কারণ, এটি লবণের সাথে নুন-মরিচ জাতীয় গোলমাল প্রতিরোধ করতে পরিচিত। আপনার ক্ষেত্রে, চিত্রগুলির সীমানার চারপাশে অতিরিক্ত সাদা বিন্দু রয়েছে যা বর্ণমালার কোন পাশের উপর নির্ভর করে পুরো সাদা বা পূর্ণ কালোতে রূপান্তরিত হবে। এটি মিডিয়ান ফিল্টারিংয়ের পরে কীভাবে দেখায়:
যদি কোনও কারণে আপনি মোড়ফোলজিকাল অপারেশন ব্যবহারের মধ্যে সীমাবদ্ধ থাকেন তবে আপনি ওরিয়েন্টেড ঘনিষ্ঠ ক্রিয়াকলাপগুলির "ভোটদানের পরিকল্পনা" ব্যবহার করতে পারেন।
রূপচর্চা অপারেশনগুলির মধ্যে একটি সমস্যা হ'ল তারা সত্যই দিকনির্দেশকে বিবেচনায় নেয় না। সেন্টার পিক্সেলের জন্য, এর মতো একটি পাড়া
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-এর চেয়ে বড় ব্যাসার্ধের সাথে কেবল একটি 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