Implement exponential focal length mapping for background blur as described in 27_FIX_DOF.md
This commit is contained in:
@@ -1664,7 +1664,8 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
if (!isAiSupported) {
|
||||
if (blurIntensity > 0f) {
|
||||
val radius = (40 * blurIntensity).toInt().coerceIn(1, 40)
|
||||
val opticalIntensity = Math.pow(blurIntensity.toDouble(), 2.5).toFloat()
|
||||
val radius = (40 * opticalIntensity).toInt().coerceIn(1, 40)
|
||||
return blurBitmap(capturedImage, radius)
|
||||
}
|
||||
return capturedImage
|
||||
@@ -1723,7 +1724,8 @@ class MainActivity : AppCompatActivity() {
|
||||
val bgPixels = IntArray(w * h)
|
||||
var blurredBg: android.graphics.Bitmap? = null
|
||||
if (blurIntensity > 0f) {
|
||||
val radius = (25 * blurIntensity).toInt().coerceIn(1, 25)
|
||||
val opticalIntensity = Math.pow(blurIntensity.toDouble(), 2.5).toFloat()
|
||||
val radius = (25 * opticalIntensity).toInt().coerceIn(1, 25)
|
||||
blurredBg = blurBitmap(baseBg, radius)
|
||||
blurredBg.getPixels(bgPixels, 0, w, 0, 0, w, h)
|
||||
} else {
|
||||
@@ -1778,7 +1780,8 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
if (blurIntensity > 0f) {
|
||||
val radius = (25 * blurIntensity).toInt().coerceIn(1, 25)
|
||||
val opticalIntensity = Math.pow(blurIntensity.toDouble(), 2.5).toFloat()
|
||||
val radius = (25 * opticalIntensity).toInt().coerceIn(1, 25)
|
||||
return blurBitmap(capturedImage, radius)
|
||||
}
|
||||
return capturedImage
|
||||
@@ -1848,7 +1851,8 @@ class MainActivity : AppCompatActivity() {
|
||||
val bgPixels = IntArray(w * h)
|
||||
var blurredBg: android.graphics.Bitmap? = null
|
||||
if (blurIntensity > 0f) {
|
||||
val radius = (40 * blurIntensity).toInt().coerceIn(1, 40)
|
||||
val opticalIntensity = Math.pow(blurIntensity.toDouble(), 2.5).toFloat()
|
||||
val radius = (40 * opticalIntensity).toInt().coerceIn(1, 40)
|
||||
blurredBg = blurBitmap(baseBg, radius)
|
||||
blurredBg.getPixels(bgPixels, 0, w, 0, 0, w, h)
|
||||
} else {
|
||||
@@ -1903,7 +1907,8 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
|
||||
if (blurIntensity > 0f) {
|
||||
val radius = (40 * blurIntensity).toInt().coerceIn(1, 40)
|
||||
val opticalIntensity = Math.pow(blurIntensity.toDouble(), 2.5).toFloat()
|
||||
val radius = (40 * opticalIntensity).toInt().coerceIn(1, 40)
|
||||
return blurBitmap(capturedImage, radius)
|
||||
}
|
||||
return capturedImage
|
||||
|
||||
Reference in New Issue
Block a user