ওপেনসিভি দিয়ে আমি এই দুটি চিত্রের মধ্যে হোমোগ্রাফিটি গণনা করি:
এবং
ডানদিকে অদ্ভুত সাদা ফর্ম সম্পর্কে চিন্তা করবেন না, এটি আমার ব্যবহৃত স্মার্টফোনধারীর কারণে to ফাইন্ডহোগ্রাফি () ফাংশন ( ফাস্ট ফিচার ডিটেক্টর এবং হামিংলট ডেস্ক্রিপ্টর ম্যাচারের সাহায্যে চিহ্নিত পয়েন্টগুলি ব্যবহার করে ) দ্বারা প্রদত্ত হোমোগ্রাফিটি হ'ল:
A = [ 1.412817430564191, 0.0684947165270289, -517.7751355800591;
-0.002927297251810, 1.210310757993256, 39.56631316477566;
0.000290600259844, -9.348301989015293e-05, 1]
এখন, আমি একই চিত্রগুলি একই চিত্রগুলির মধ্যে যা একইভাবে 180 ডিগ্রি (উল্টে) দ্বারা আবর্তিত হয়েছে এর মধ্যে হোমোগ্রাফি গণনা করতে ব্যবহার করি , চিত্রগ্রাহক ব্যবহার করে ( সত্যতই , আমি 90 বা ঘোরার জন্য সম্পর্কটি জানতে আগ্রহী হব 270 ডিগ্রি ...)। এখানে তারা:
এবং
এই চিত্রগুলির সাথে, হোমোগ্রাফিটি হয়ে যায়:
B = [ 0.7148688519736168, 0.01978048500375845, 325.8330631554814;
-0.1706219498833541, 0.8666521745094313, 64.72944905752504;
-0.0002078857275647, -5.080048486810413e-05, 1]
এখন, প্রশ্নটি হল আপনি কীভাবে এ এবং বি সম্পর্কিত? এ এর দুটি প্রথম তির্যক মানগুলি বি এর বিপরীতে খুব কাছাকাছি অবস্থিত তবে এটি খুব সুনির্দিষ্ট নয় (0.71486885 এর পরিবর্তে .707805537)। আমার চূড়ান্ত উদ্দেশ্যটি ব্যয়বহুল চিত্রের ঘূর্ণন গণনা করা এড়িয়ে চূড়ান্ত ম্যাট্রিক্সকে রূপান্তর করার জন্য প্রয়োজনীয় সম্পর্কটিকে ব্যবহার করা হবে।
Mat invT = 1./t; Mat n = invT.t() * (H - R);
(আসলে, এটিn/d
)। এখন, "এটিতে রোটেশন প্রয়োগ করা" আমাকে একটি 3x1 ভেক্টর দেয়, তবে আমি কীভাবে এটি আবার হোমোগ্রাফির ম্যাট্রিক্স গণনা করতে পারি? ধন্যবাদ