在完成多個連續影象取色彩平均值時出現了處理後的影象色彩偏暗的情況(使用(pic1+pic2+…+picn)/n的方式求多個影象平均值),經過查詢資料發現原因:
影象的矩陣資料型別8位的最大值只有255,多個影象相加後色彩最大值依舊為255,取平均時導致數值變小,故影象整體偏暗。
進行影象相加的時候所有需變成32位可解決此問題。
opencv矩陣資料型別及其取值範圍:
資料型別中c1、c2、c3、c4為影象的通道數,如cv_8uc1為八位無符號數儲存的單通道影象。
opencv矩陣資料型別轉換方式:
使用convertto(dst, type, scale, shift)函式:
dst:目的矩陣;
type:需要的輸出矩陣型別,或者更明確的,是輸出矩陣的深度,如果是負值(常用-1)則輸出矩陣和輸入矩陣型別相同;
scale:比例因子;
shift:將輸入陣列元素按比例縮放後新增的值;
如果scale=1,shift=0,則不進行比例縮放。
轉化的例項**如下:
mat pic1(rows,cols,cv_32fc1);
mat pic2;
pic2.convertto(pic1,cv_32fc1,1,0);
np矩陣資料型別轉換
numpy乙個矩陣好像只能放一種型別的資料 因為c語言陣列也只能規定一種資料型別 當我嘗試更換某行時,發現該行的資料型別不會改變,應該是python物件不能更改型別,但是可怕的是程式不會報錯 a np.ones 3,3 dtype np.float32 a 0,a 0,astype np.int32...
資料型別及轉換
原始值 number string boolean null undefined 引用值 object array object function date regexp 正規表示式 原始值和引用值區別 原始型別變數,存放的是具體的值,即修改變數a的值,不會影響變數b的值。var a 5 var b...
資料型別及轉換
number 整數,浮點數,nan 0 預設值 number typeof型別 string 任何加了引號的都是字串 string boolean 布林值false boolean undefined 宣告了變數,但是沒有賦值 undefined undefined null 宣告變數為空值 nul...