ChatGPT寫一個調整影像曝光的網頁

調整影像曝光和先前的調整影像亮度很像, 曝光增加影像越亮, 曝光減少影像越暗. 差異其實在於調整亮度時用加減法處理RGB, 調整曝光時用乘除法處理RGB. 在沒有過度曝光下, 乘除法處理的RGB比例會一致, 缺點是調整範圍比較大, 容易有做過度的問題. 所以調整曝光範圍設為0.1到2之間.


function adjustExposure() {
    var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
    var data = imageData.data;
    var adjustedData = data.slice();

    for (var i = 0; i < adjustedData.length; i += 4) {
        adjustedData[i] *= exposure;         // R
        adjustedData[i + 1] *= exposure;     // G
        adjustedData[i + 2] *= exposure;     // B
    }

    ctx.putImageData(new ImageData(new Uint8ClampedArray(adjustedData), canvas.width, canvas.height), 0, 0);
}
JavaScript

完整程式放在網址 曝光調整 (cardteck.com)

我用下面AI圖來當原圖做實驗.

調整曝光1.4後的影像. 有些亮的部分已經過曝了,但是整體不會霧霧的.

調整曝光0.7後的影像.

由於128 *1.4-128=51.2 我用51來調整亮度來比較看看. 感覺比較像上了一層均勻的霧.

128*(1-0.7)=38.4, 減亮度38後的影像如下. 亮度調暗後卻沒有霧的感覺. 只能說要用曝光還是亮度調整, 可能要試過才知道. 這個例子我比較喜歡曝光的感覺.

Comments

No comments yet. Why don’t you start the discussion?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *