<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我已將350 .jpeg圖像讀入JMP數據表,其中實際圖像位於Expression列中。 然後我可以在表達式列中包含的圖像上使用圖像處理(例如John Ponte腳本)嗎?
我喜歡直接從數據列中讀取圖像的想法,所以我只是修改了圖像分析器並創造了圖像列分析器 。它的工作方式與圖像分析器類似,除了選擇圖像文件,您可以選擇包含圖像的數據表。您可以遍歷圖像並為所需的任何圖像創建數據表。
我也打算給你一個腳本,它可以做同樣的事情(更自動化,沒有交互性),但它看起來像 vince.faller0 打敗了我。
請享用!
如果你需要的只是每個圖像的數據表而不是他的窗口的交互性。 這應該工作。
//編輯John Ponte的圖像分析器
dt = 當前數據表 ();
nr = NROWS (DT);
image_col = 柱 (DT, “圖片” );
對於 (I = 1 ,我<= nr,i ++,
img = image_col ;
{r,g,b} = img << 獲取像素 ( “RGB” );
numRows = nrow (R);
numCols = 的NcoI (R);
//檢查灰度圖像
grayScale = 和 ( 所有 (R ==克),所有 (g == b));
如果 (灰度,
// r,g,b都是相同的,所以這就是強度。
//色調和坐標為0(無顏色),亮度與強度相同。
強度= r;
dt_Ref = 新表 ( “參考數據” ,
newColumn ( “X” ,設定值( 重複 ( 1 :: numCols,numRows))),
newColumn ( “Y” ,設定值( 形狀 ( 重複 ( 1 :: numRows行,數numCols)`,數numCols,numRows行)))
newColumn ( “一世” ,設定值(強度)),
);
,
//將rgb轉換為灰度(強度)矩陣
強度= 0.3 * r + 0.59 * g + 0.11 * B;
//將像素值作為JSL顏色獲取,然後轉換為色調,亮度和飽和度
// HLS顏色處於標準化顏色空間(0.0-1.0)
jslColors = img << 的getPixels ();
{h,l,s} = ColorToHLS (jslColors);
dt = 新表 ( “表” || 燒焦 (一世),
newColumn ( “X” ,設定值( 重複 ( 1 :: numCols,numRows))),
newColumn ( “Y” ,設定值( 形狀 ( 重複 ( 1 :: numRows行,數numCols)`,數numCols,numRows行)))
newColumn ( “R” ,設定值(r)),
newColumn ( “G” ,設定值(g)),
newColumn ( “B” ,設定值(b)),
newColumn ( “一世” ,設定值(強度)),
newColumn ( “H” ,設定值(h * 360 )),
newColumn ( “L” ,設定值(l)),
newColumn ( “S” ,設定值(s)),
);
);
);
理想情況下,我想獲得一個單獨的數據表,其中包含Expression列中350個.jpeg圖像中每個圖像的RGB和HLS值。我找到了從文件夾和圖像處理中讀取多個.jpeg文件的腳本,但我無法讓它工作。我能夠使用Expression數據類型將350個圖像讀入一個JMP表,所以我想知道是否可以直接對該列中的圖像進行圖像處理。
是的,這些圖像是Char to Blob(),括號之間有很多亂碼。
在此先感謝您的幫助,
黑雁
你需要互動嗎?expr()列應該只是char到blob()或其他東西(如果我沒記錯的話),所以所有信息都應該在那裡。
如果您編輯John P的令人敬畏的圖像分析器來選擇一行(或逐列或某些行命名),它應該工作相同。如果您需要幫助,請告訴我。 我非常廣泛地使用他的劇本。