ImageUpscaleDemo is a SwiftUI iOS app that showcases real-time image upscaling and enhancement using Core Image filters, providing an interactive interface for fine-tuning and comparing results.
Click on the image above to watch the video demo.
- Load images from URLs
- Integration of Kingfisher for image caching (optional)
- Apply various Core Image filters to enhance image quality:
- Lanczos scale transform for upscaling
- Noise reduction
- Unsharp mask
- Median filter
- Interactive sliders for adjusting filter parameters
- Compare original and enhanced images side by side
Using Kingfisher in the Demo app is optional. The main purpose of introducing Kingfisher is for caching images. When the image is not in the cache, the app fetches the image from the provided URL and processes it. If the image is already in the cache, there's no need to read it remotely, speeding up the image enhancement process.
- iOS 15.0 or later
- Xcode 13.0 or later
- SwiftUI 3.0 or later
- Clone the repository:
git clone https://github.com/FoksWang/ImageUpscaleDemo.git
-
Open
ImageUpscaleDemo.xcodeproj
with Xcode. -
Run the app on a simulator or an iOS device.
-
Replace the
imageUrl
inContentView
with a URL of your choice. -
Press the "Adjust Image" button to reveal the filter adjustment sliders.
-
Adjust the sliders for noise level, sharpness, unsharp mask radius, and unsharp mask intensity to enhance the image quality.
-
Compare the original and enhanced images.
- Fork the project.
- Create a new branch (
git checkout -b featureBranch
). - Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin featureBranch
). - Create a new Pull Request.
ImageUpscaleDemo is available under the MIT License. See the LICENSE
file for more information.