B4A Library HighPassSkinSmoothing

A basic warp for this Github project. I have not tried different values for smoothness and whiteness to match the images in the Github posting. You can play around with the values to see if you can match them.

The purpose of this exercise was to get the JNI compiled into a .so file that could be incorporated into the B4A library. A very interesting exercise indeed. I will do a separate posting about this as it seems that there is not a lot of detail about this in the forum (I might be wrong but could not find a "detailed" explanation of how to do it - actually quite simple)

Attached:
1. The Java code
2. The B4A sample project (no designer code added to position the views)
3. The B4A library files

1.png



Sample Code:
B4X:
#Region  Project Attributes
    #ApplicationLabel: b4aHighPassSkinSmoothing
    #VersionCode: 1
    #VersionName:
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: landscape
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.

End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.
   
    Dim hp As HighPassSkinSmoothing

    Private ImageView1 As ImageView
    Private ImageView2 As ImageView
End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    Activity.LoadLayout("main")
   
    hp.Initialize("hp")
    ImageView1.Bitmap = LoadBitmap(File.DirAssets, "1a.jpg")

    hp.HighPassBitmap = ImageView1.Bitmap
    hp.Smoothness = 50.0
    hp.Whiteness = 5.0

End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub hp_image_processed (img As Object)
   
    Dim bm As Bitmap
    bm = img
    ImageView2.Bitmap = bm
   
   
   
End Sub


Sub Button1_Click
   
    hp.startHighPassSkinSmoothing
   
End Sub
 

Attachments

  • HighPassSkinSmoothingLibFiles.zip
    65.5 KB · Views: 262
  • highpassskinsmoothness.zip
    67.3 KB · Views: 267
  • b4aHighPassSkinSmoothing.zip
    209.7 KB · Views: 279
Top