2018年7月18日

用imagej加上Macro巨集畫輔助線測量蛋徑

這個文章要從這篇《用openscad畫個蛋》說起。

因為要用OpenScad畫出蛋,那麼勢必需要測量一顆蛋在不同高度的徑長。一種方式大概就是直接在蛋上劃線,再用游標尺夾蛋測量。不過如果要畫的蛋只有照片的話,那麼怎樣做比較方便呢?

我提議就用imagej來畫輔助線測量吧,但是需要用到Macro來劃線。我在Imagej的Macro資料庫裡找到Grid_Overlay這個Macro,看一看我只要修改一些就可以符合需求。

如果是直接從Blog的文章複製代碼過去的話,作法是在Imagej的功能表選擇Plugins/Macro/Record...,把代碼貼到視窗後,再按下Create。接著在新出現的視窗上找到Run按下去就可以執行了。

執行後的畫面,可以在畫面中劃上規律格線,有了參考格線就比較方便劃線測量了。




   requires("1.43j");
   color = "red";
   nLines = 6;
   if (nImages==0) run("Boats (356K)");
   run("Remove Overlay");
   width = getWidth;
   height = getHeight;
   tileHeight = height/(nLines+1);
   tileWidth = tileHeight;
   xoff=tileWidth;
   while (true && xoff<width) { // draw vertical lines
      makeLine(xoff, 0, xoff, height);
      run("Add Selection...", "stroke="+color);
      xoff += tileWidth;
   }
   yoff=tileHeight;
   while (true && yoff<height) { // draw horizonal lines
      makeLine(0, yoff, width, yoff);
      run("Add Selection...", "stroke="+color);
      yoff += tileHeight;
   }
   run("Select None");