logo
Loading...

image的overflow與絕對值的問題 - Cupoy

在第8天的作業中,有初見這一段的題:「比較 Sobel 如果在 uint8 的情況下做會 overf...

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:50
    Jeffrey
    贊同數:0
    不贊同數:0
    留言數:0

    1. overflow: uint8 的範圍為 0~255, 使用uint型的優勢在於節省空間,涉及運算時要轉換成double型, 如果經過運算後位元數超過型別的範圍則會發生 overflow

    2. 所以,使用CV_16S 不會造成overflow,則使用cv2.CV_8U不轉換DOUBLE,則會overflow

    3. cv::convertScaleAbs()用於實現對整個圖像數組中的每一個元素,進行飽和度的變化操作