numpy乙個矩陣好像只能放一種型別的資料(因為c語言陣列也只能規定一種資料型別),當我嘗試更換某行時,發現該行的資料型別不會改變,應該是python物件不能更改型別,但是可怕的是程式不會報錯
a = np.ones([3,3], dtype=np.float32)
a[0, :] = a[0, :].astype(np.int32)
print(a) #不改物件,型別仍為float
a[:,:] = np.array(a[:,:], dtype=np.int32)
print(a) #不改物件,型別仍為float
a = np.array(a[:,:], dtype=np.int32)
print(a) #改物件,型別為int
以下為輸出結果
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
[[1 1 1]
[1 1 1]
[1 1 1]]
np矩陣強制轉換型別的另一種方法,仍然需要更改物件才可以轉換成功:
a = a.astype(np.int32)
opencv 矩陣資料型別及轉換方式
在完成多個連續影象取色彩平均值時出現了處理後的影象色彩偏暗的情況 使用 pic1 pic2 picn n的方式求多個影象平均值 經過查詢資料發現原因 影象的矩陣資料型別8位的最大值只有255,多個影象相加後色彩最大值依舊為255,取平均時導致數值變小,故影象整體偏暗。進行影象相加的時候所有需變成32...
資料型別 型別轉換
這樣的語句將報錯,因為char型別精度低於int型別,編譯器無法將其自動轉換,只能進行強制轉換 int x 65 char ch char x 舉例1 int age 19 char 女 char result age int 不可以自動轉換成char 精度損失 舉例2 int a 10 int b...
Objective C資料型別 資料型別轉換
資料型別 1.objective c資料型別可以分為 基本資料型別 物件資料型別和id型別。2.基本資料型別有 int float double和char型別。3.物件型別就是類或協議所宣告的指標型別,例如 nsautoreleasepool pool 其中,nsautoreleasepool是乙個...