我正在開發一個項目,我必須通過MATLAB使用附加的相機在平臺上找到某個對象。我想過使用平臺作爲網格,但我被告知使用相機的像素,我可能能夠通過點擊相機窗口/屏幕並選擇某個像素(對象的位置將在相機窗口/屏幕上顯示)。通過MATLAB的像素位置
有沒有一種方法來計算對象的位置(點擊像素)還是有任何可能的方式,我可以做到這一點?
我正在開發一個項目,我必須通過MATLAB使用附加的相機在平臺上找到某個對象。我想過使用平臺作爲網格,但我被告知使用相機的像素,我可能能夠通過點擊相機窗口/屏幕並選擇某個像素(對象的位置將在相機窗口/屏幕上顯示)。通過MATLAB的像素位置
有沒有一種方法來計算對象的位置(點擊像素)還是有任何可能的方式,我可以做到這一點?
嘗試使用MATLAB中的ginput(...)函數,就像這樣:
% Load some image:
data = imread('fishy 01.jpg');
% display the image:
figure(88);
clf;
h = imagesc(data);
axis image
% Get a value from the screen:
[x, y] = ginput(1);
msgbox(['You want pixel: ' num2str(round([x,y]))]);
這會給你的像素的位置,在當前軸。或者,您可以使用圖回調WindowButtonUpFcn來獲取當前鼠標在圖中的位置,然後將其轉換爲您想要的相對軸,然後縮放到當前軸xlim和ylim。但是ginput(1)會容易得多。
使用平臺的已知大小和相機的CCD的像素尺寸,能不能別計算比例係數轉換像素位置距離是多少? – 2011-03-09 19:45:45
這是在OpenCV中完成的操作:http://opencv.willowgarage.com/documentation/python/calib3d_camera_calibration_and_3d_reconstruction.html?highlight=calibrate#CalibrateCamera2。有一個matlab包允許你使用我認爲的opencv。 – SiggyF 2011-03-09 22:19:50