আপনার যদি object টি পরিচিত পয়েন্ট রয়েছে (পরিচিত 3 ডি স্থানাঙ্ক, এবং ) আপনি অবজেক্টের সমন্বয় ব্যবস্থা সম্পর্কিত ক্যামেরার অবস্থানটি গণনা করতে পারেন।X,YZ
প্রথমে কিছু বেসিক।
Homogenous তুল্য ইউক্লিডিয় এর ভেক্টর উপস্থাপনা তুল্য হয় যা আমরা তাই স্কেল ফ্যাক্টর নামক যোগ আছে যেমন যে সমজাতীয় তুল্য হয় । আপনার নিজস্ব গণনায় যত তাড়াতাড়ি সম্ভব রাখার চেষ্টা করুন (এর অর্থ আপনি সর্বশেষ উপাদানটির সাথে এর শেষ উপাদানটি দিয়ে ভাগ করে সমজাতীয় স্থানাঙ্ককে " " করেন: )। আমরা 2 ডি পয়েন্টের জন্য সমজাতীয় উপস্থাপনাও ব্যবহার করতে পারি যেমন (স্মরণকারী যে এই এবং(X,Y,Z)ωX=ω[XYZ1]Tω=1X←Xωx=ω[XY1]ω,X,YZপ্রতিটি পয়েন্টের জন্য পৃথক, এটি 2 ডি বা 3 ডি পয়েন্ট হতে পারে)। সমজাতীয় সমন্বয় উপস্থাপনা গণিতকে সহজ করে তোলে।
ক্যামেরা ম্যাট্রিক্স ডি প্রজেকশন ম্যাট্রিক্স থেকে ডি ওয়ার্ল্ড থেকে ইমেজ সেন্সর পর্যন্ত:3×4
x=PX
যেখানে হল চিত্র সেন্সর (পিক্সেল ইউনিট সহ) এবং the হল প্রজেক্টড থ্রিডি পয়েন্ট (এটি বলতে পারি যে এটির ইউনিট হিসাবে মিলিমিটার রয়েছে)।xX
আমরা মনে করি যে দুটি 3-ভেক্টরের মধ্যে ক্রস পণ্যটিকে ম্যাট্রিক্স-ভেক্টর-গুণ হিসাবে সংজ্ঞায়িত করা যায় যে:
v×u=(v)xu=⎡⎣⎢0v3−v2−v30v1v2−v10⎤⎦⎥u
এছাড়া খেয়াল করা জরুরী যে ক্রস প্রকাশনা দরকারী ।v×v=0
এখন আগের সমীকরণগুলি থেকে প্রক্ষেপণ ম্যাট্রিক্স সমাধান করার চেষ্টা করা যাক । বাম দিক থেকে প্রজেকশন সমীকরণটিকে s ক্রস প্রোডাক্ট ম্যাট্রিক্স দিয়ে গুণিত করতে দেয় :Px
(x)xx=(x)xPX=0
আহা! ফলাফলটি অবশ্যই শূন্য ভেক্টর হতে হবে। যদি আমরা এখন সমীকরণটি পাই তবে:
⎡⎣⎢0w−y−w0xy−x0⎤⎦⎥⎡⎣⎢P1,1P2,1P3,1P1,2P2,2P3,2P1,3P2,3P3,3P1,4P2,4P3,4⎤⎦⎥X=⎡⎣⎢P3,4Wy−P2,1Xw−P2,2Yw−P2,4Ww+P3,1Xy−P2,3Zw+P3,2Yy+P3,3ZyP1,4Ww+P1,1Xw−P3,4Wx+P1,2Yw−P3,1Xx+P1,3Zw−P3,2Yx−P3,3ZxP2,4Wx+P2,1Xx−P1,4Wy−P1,1Xy+P2,2Yx−P1,2Yy+P2,3Zx−P1,3Zy⎤⎦⎥=0
কিছুটা রিফ্যাক্টরিং সহ আমরা ম্যাট্রিক্সের বাইরে প্রোজেকশন ম্যাট্রিক্স পেতে পারি :P
⎡⎣⎢⎢⎢0Xw−Xy0Yw−Yy0Zw−Zy0Ww−Wy−Xw0Xx−Yw0Yx−Zw0Zx−Ww0WxXy−Xx0Yy−Yx0Zy−Zx0Wy−Wx0⎤⎦⎥⎥⎥⎡⎣⎢⎢P1P2P3⎤⎦⎥⎥=0
যেখানে হ'ল : তম সারির ক্যামেরা ম্যাট্রিক্স এর স্থানান্তর । পূর্ববর্তী (বড়) ম্যাট্রিক্স সমীকরণের সর্বশেষ সারিটি প্রথম দুটি সারির লিনিয়ার সংমিশ্রণ, সুতরাং এটি কোনও অতিরিক্ত তথ্য আনবে না এবং এটি ছেড়ে দেওয়া যেতে পারে।PnnP
ছোট বিরতি যাতে আমরা আমাদের কষ্ট সংগ্রহ করতে পারি। নোট করুন যে পূর্ববর্তী ম্যাট্রিক্স সমীকরণটি প্রতিটি পরিচিত 3D-> 2D চিঠিপত্রের জন্য গঠন করতে হবে (এর মধ্যে কমপক্ষে 6 টি থাকতে হবে)।
এখন, প্রতিটি পয়েন্ট চিঠিপত্রের জন্য, উপরের ম্যাট্রিক্সের প্রথম দুটি সারি গণনা করুন, একে অপরের উপরে ম্যাট্রিক্স স্ট্যাক করুন এবং আপনি নতুন ম্যাট্রিক্স পান যার জন্য2×12A
A⎡⎣⎢P1P2P3⎤⎦⎥=0
যেহেতু আমাদের 12 টি অজানা এবং (কমপক্ষে) 12 টি সমীকরণ রয়েছে এটি সমাধান করা যেতে পারে। কেবলমাত্র সমস্যাটি হ'ল আমরা তুচ্ছ উত্তরটি পেতে চাই না যেখানে
⎡⎣⎢P1P2P3⎤⎦⎥=0
ভাগ্যক্রমে আমরা জোর করার জন্য একক মান ভলন (এসভিডি) ব্যবহার করতে পারি
∥⎡⎣⎢P1P2P3⎤⎦⎥∥=1
সুতরাং সমীকরণগুলি সমাধান করার জন্য, ম্যাট্রিক্স এসভিডি গণনা করুন এবং ক্ষুদ্রতম আইজেন মান অনুসারে একক ভেক্টর চয়ন করুন। এই ভেক্টরটি ম্যাট্রিক্স এ এর নাল ভেক্টর এবং ক্যামেরা ম্যাট্রিক্স এর সমাধানও । কেবলমাত্র এবং ফর্ম ।AP[P1P2P3]TP
এখন আপনি বস্তুর দূরত্ব জানতে চেয়েছিলেন। হিসাবে সংজ্ঞায়িত করা হয়:P
P=K[R−RC]
যেখানে the হল অবজেক্ট উত্সের সাথে সম্পর্কিত ক্যামেরার অবস্থান। এটা তোলে থেকে সমাধান করা যেতে পারে গণনা করে গুলি নাল ভেক্টর।CPP
(হার্টলি, জিসারম্যান - কম্পিউটার ভিশনে একাধিক দেখুন জ্যামিতি)
অবশেষে, আপনি যখন দুটি ফ্রেমের জন্য ক্যামেরার অবস্থান গণনা করেন, আপনি জন্য দুটি সমীকরণ সমাধান করে অজানা বস্তুর অবস্থানগুলি (বা বস্তুর কিছু বিন্দুর অবস্থানগুলি) গণনা করতে পারেন :X
x1=P1Xx2=P2X
যা আমরা ক্যামেরার ম্যাট্রিকগুলি কীভাবে সমাধান করেছি ঠিক :
(x1)xP1X=0(x2)xP2X=0
ইত্যাদি।