image的overflow與絕對值的問題
2019/12/02 下午 09:28
電腦視覺深度學習討論版
王政雲
觀看數:40
回答數:1
收藏數:0
在第8天的作業中,有初見這一段的題:
「比較 Sobel 如果在 uint8 的情況下做會 overflow 的狀況」
1. 可以問一下什麼是overflow,
2. 為甚麼整腸使用CV_16S 不會造成overflow,則使用cv2.CV_8U則會overflow
3. 另外cv2.convertScaleAbs(),這個好像是將數值取絕對值,是因為正常來影像的數值是要達於0,如果小於0則會無法畫圖?
回答列表
-
2019/12/02 下午 11:50Jeffrey贊同數:0不贊同數:0留言數:0
1. overflow: uint8 的範圍為 0~255, 使用uint型的優勢在於節省空間,涉及運算時要轉換成double型, 如果經過運算後位元數超過型別的範圍則會發生 overflow
2. 所以,使用CV_16S 不會造成overflow,則使用cv2.CV_8U不轉換DOUBLE,則會overflow
3. cv::convertScaleAbs()用於實現對整個圖像數組中的每一個元素,進行飽和度的變化操作