我調試一個機器人的項目,並已發現了我不太知道如何在理論上解決它的錯誤。以色距結果的積分圖像(邏輯錯誤)
我必須計算一個顏色距離圖,然後我必須拿出結果的積分圖像並用它做一些計算。
使用從使用式SQRT一個實驗室colorspaced圖像I獲得例如紅色的色彩距離(PA = 255,PB = 127)的A和B信道([A-PA]^2 + [B-PB]^2)
subtract(mA, Scalar(pA), tA);
subtract(mB, Scalar(pB), tB);
tA.convertTo(t32A, CV_32SC1);
tB.convertTo(t32B, CV_32SC1);
pow(t32A, 2.0, powA);
pow(t32B, 2.0, powB);
add(powA, powB, sq);
pow(sq, 0.5, res);
//res.convertTo(result, CV_8UC1);
我所需要的轉換,因爲CV_8U處理值以上255
侷限到CV_32S現在我必須將檢測結果送入到積分圖像,這僅期望CV_8UC1的圖像。
我現在面臨的問題是,上述的顏色距離函數可能會產生與像素值高於255
例如:(0,0)之間距離 紅色(255127)
SQRT((0-255)^ 2 +(0-127)^ 2)= 285
之間或(0255)到紅(255127)
SQRT((0-255)^ 2 +(255 -127)^ 2)= 285
有沒有人有任何建議,我可以如何將結果提供給整體圖像,而不會丟失任何信息。
謝謝
我想你想糾正你的例子中的錯誤。 – bubble 2012-03-05 01:23:13
這個例子有什麼問題,我改寫過了,也許現在更有意義了...... – 2012-03-05 01:41:39
是的,現在看起來沒問題。 – bubble 2012-03-05 01:46:07