আমি নীচের ছবিতে রঙের নীল এবং ধূসর বর্ণের মধ্যে লাইনটি খুঁজতে চাই:
আরও ঠিক, লাইন শেষ পয়েন্ট।
হাফ কি একটি পছন্দ রূপান্তরিত? যদি হ্যাঁ হফ ব্যবহারের আগে ছবিটি সেট আপ করব কীভাবে?
এটি সমাধানের যে কোনও উপায় সহায়ক হবে।
আমি নীচের ছবিতে রঙের নীল এবং ধূসর বর্ণের মধ্যে লাইনটি খুঁজতে চাই:
আরও ঠিক, লাইন শেষ পয়েন্ট।
হাফ কি একটি পছন্দ রূপান্তরিত? যদি হ্যাঁ হফ ব্যবহারের আগে ছবিটি সেট আপ করব কীভাবে?
এটি সমাধানের যে কোনও উপায় সহায়ক হবে।
উত্তর:
সাধারণভাবে, আপনি এই ধরণের সমস্যার জন্য ক্যানি এজ ডিটেক্টর এর মতো একটি এজ ডিটেক্টর চান। হাফ ট্রান্সফর্মটি প্রান্তগুলির চেয়ে লাইনগুলি আহরণের জন্য দরকারী।
তবে, এই নির্দিষ্ট ক্ষেত্রে, আপনি এর মতো কিছু করা ভাল better
imdata = imread('grayblue.jpg');
colidx = find(diff(imdata(1,:) ~= 0);
যেহেতু এটি একটি সাধারণ চিত্র।
একটি চিত্রের জন্য এই সহজ একটি কনভ্যুশনাল কার্নেল নীচের মত প্রান্তগুলি খুঁজে পাবেন:
[-1 2 - 1]
এটি প্রতিটি প্রান্ত বিন্দুতে একক প্রান্ত পিক্সেল দেয়। কোনও গোলমাল, কোনও গণ্ডগোল নেই। ক্যানি এই সমস্যার জন্য খুব জড়িত। আপনি যদি কোনও কোণে রেখার জন্য প্রান্ত পয়েন্টগুলি সন্ধান করতে চান তবে আপনি একটি সাধারণ ল্যাপলাসিয়ান, গাউসির ল্যাপ্লাসিয়ান (এলওজি), বা ডিফারেন্স অফ গাউসীয় (ডগ) ব্যবহার করতে পারেন। সোবেল এবং প্রিভিটও সহজ তবে অনুপযুক্ত কারণ তারা একটি "দ্বিগুণ বেধ" রেখা দেয়।
এখানে বর্ণিত হফের একটি দুষ্ট দ্রুত বাস্তবায়ন রয়েছে: http://www.ic.uff.br/~laffernandes/projects/kht/index.html
এছাড়াও "প্যারামিটারলেস হাফ" অ্যালগরিদমগুলি খুব দ্রুত তবে বাস্তবায়ন এবং ডিবাগ করার জন্য কিছুটা জটিল।