اندازه گیری فاصله با لیزر و وبکم و مطلب
سلام به همگی
 پرو‍ه خیلی جالبی هستش ،تو این پروزه میتونیم با استفاده از یک وب کم و یک دونه لیزر ساده فاصله سنجی کرده نحوه انجام کار و روابط ریاضی مربوطه رو خود طراح کاملا توضیح داده 
خیلی جم و جوره و بقول طراحش واسه ربات های کوچک و سبک که باید کوچک باشن مناسبه ،در کل با یک تیر 2 تا نشون رو میزنیم ،هم دوربین واسه ربات و هم فاصله سنج 
تو خود سایت که آدرش رو پایین نوشتم کدهای مریوط به vb و هم مربوط به++cرو گذاشته و هم نرم افزار کمپایل شده و هم ocx مربوطه رو معرفی کرده تا تو برنامه بشه استفاده کرد 
ولی فقط ocx ها 15 روزه است ،که اینهم بی خیال ،به نظر من روش جالبیه 

هر کس ساختش و دقیق جواب گرفت ،بگه تا بقیه هم استفاده کنند

آدرس سایت:

http://sites.google.com/site/todddanko/home/webcam_laser_ranger


epauon:

سلام به دوستان 
زکات علم آموش دادن است.
میخواستم من هم یه قطره از دریای بیکران علم را به شما آموزش دهم.
چند روز پیش یکی از بچه های خوب این سایت, یه مطلبی را از روی یه مقاله خارجی نوشته بود
منو به این فکر انداخت تا برنامشو با مطلب بنویسم و به بچه های خوب بدم تا استفاده کنن.
ما ایرانی ها معمولا عادت کردیم مطالب رو آماده بگیریم ولی بچه ها, مغز ایرانی از 1000 تا مغز خارجی بهتره.
حالا اصل مطلب:
اندازه گیری فاصله با لیزر و وبکم
اگر به نوشته دوستمون تو همین سایت مراجعه کنید بستن عملی این مدار رو یاد میگیرید
یه وبکم با یه لیزر زیرش در یه فاصله معین. تمامه فرمول هاش رو هم نوشته حالا شما فقط باید
با کمک این برنامه که توی ام فایل مینویسید چند تا فاصله رو اندازه بگیرید از جسم 
بعد با فاصله بین لیزر و دوربین تو فرمولها قرار بدید  
فاصله بین لیزر و بالای تصویر همون اندازه ای هست که با نزدیک و دور شدن جسم کم و زیاد میشه
این برنامه فقط یک بار تصویر وبکم رو میخونه و دو تا چیز رو به شما میده (مختصات لیزر روی تصویر) اگر
خواستید همیشه تصویر خونده بشه می تونید برنامه رو توی یه حلقه قرار بدید
پس من همه برنامه رو ننوشتم .چرا؟ چون نوع دوربین و فاصله دوربین با لیزر متفاوت هست

design by iman payoon
clc
clear all
utilpath = fullfile(matlabroot, 'toolbox', 'imaq', 'imaqdemos', ...
  'html', 'applications', 'laserTracking');
addpath(utilpath);
vid = videoinput('winvideo', 1, 'RGB24_320x240');
set(vid, 'FramesPerTrigger', 1);
set(vid, 'TriggerRepeat', Inf);
triggerconfig(vid,'manual')
%rr=imread('kh.jpg');
%design by iman payoon
hTarget = plot(0, 0, 'yo');
 preview(vid)
 start(vid)
 set(hTarget, 'Xdata', 0, 'Ydata', 0);
sound(1), pause(2)
sound(1), trigger(vid);
acqResults{1} = getdata(vid, 1);
[xCalib(1), yCalib(1), laserSights] = util_findlaser(acqResults{1});
xCalib(1)
yCalib(1)
spy(laserSights)
calibFig = figure;
util_plotpos(acqResults{1}, xCalib(1), yCalib(1));
stop(vid)
delete(vid)
clear vid
%design by iman payoon

http://www.eca.ir/forum2/index.php?topic=5747.0