裁剪

2016-07-06 180 views
1

的任務,我想實現後獲得一個ROI的原始座標如下:裁剪

  1. 用戶選擇的感興趣區域。
  2. 該ROI是從原始圖像中裁剪出來的,並且使用各種圖像處理技術來獲得ROI中的多個對象(它們的質心)的座標。

  3. 原始幀中的座標是通過在兩個座標系之間轉換獲得的。

我的解決方案至今一直使用原來的ROI矩形的頂點座標兩個系統之間進行轉換:

rectObj = getrect(gca); 
roi = rectObj.Position; % In [x0 y0 width height] format 
% Obtain seed coordinates in the cropped image 
seed_coords = [x y]; 
% Translate and obtain seed coordinates in the original image 
new_seed_coords = seed_coords + [roi(1) roi(2)]; 

但是,重心正在由一個小偏移量,我假設是由於ROI跨像素邊界發生,這對我的值有一些舍入效應。

我怎樣才能得到精確座標(儘可能精確?)的矩形,所以我可以在原始框架中獲得準確的座標?

+0

定義「小數量」 – excaza

+0

從種子座標中減去[11]將質心標記返回到對象的實際質心以獲得良好的近似(但不是精確的:即錯誤大小可能<1個像素)。 – Kalo

回答

1

對用戶輸入使用子像素精度毫無意義。用戶甚至不太可能準確地擊中某個像素。只需對這些值進行四捨五入,以避免在後續步驟中出現舍入問題