Releases: blinkinput/blinkinput-ios
Releases · blinkinput/blinkinput-ios
v2.0.0
2.0.0
- iOS updates:
- Implemented
PPCameraCoordinator
.PPCameraCoordinator
assumes the role ofPPCoordinator
from previous versions while newPPCoordinator
is used for Direct API (image processing without camera out management). - Increased speed of scanning for barcode type recognizers.
- Implemented
PPImage
. When using Direct API you can wrapUIImage
andCMSampleBufferRef
intoPPImage
to ensure optimal performance. - Improved performance of Direct API. In addition, you can now use Direct API with your own camera management without any performance drawbacks.
- Added method
isCameraPaused
toPPScanningViewController
. - Added option to fllip input images upside down for processing with
cameraFlipped
property ofPPCameraSettings
. - Implemented
PPViewControllerFactory
for managing creation ofPPScanningViewController
objects. PPImageMetadata
now containsPPImageMetadataType
property, which describes which image type was outputted.- Added VIN (Vehicle idendification number) parser.
- Mirrored (both horizontally and vertically) images can now be processed by setting PPScanSettings/PPImage properties (latter if using custom camera management).
- Implemented
- Implemented templating API
- Templating API allows creation of custom document scanners, linking specific parsers to specific locations on detected documents
- iOS bugfixes:
- New Direct API fixed possible deadlocks when sending large amounts of data
v1.2.0
- iOS bugfixes:
- fixed potential deadlock when multiple instances of
PPCoordinator
objects are instantiated
- fixed potential deadlock when multiple instances of
- Implemented templating API
- Templating API allows implementing custom document scanners, linking specific parsers to specific locations on detected documents
- Added Regex parser
- Regex parser allows you to create your custom ocr parser factory
- PPOverlayViewController changed the way Overlay Subviews are added to the view hierarchy. Instead of calling
addOverlaySubview:
(which automatically added a view to view hierarachy), you now need to callregisterOverlaySubview:
(which registers subview for scanning events), and manually add subview to view hierarchy usingaddSubview:
method. This change gives you more flexibility for adding views and managing autolayout and autoresizing masks. - Better Swift interoperability
- Support for modules
- Added nullability annotations
- Framework is now distributed as a .framework + .bundle, instead of .embeddedframework. This helps keep resources in a separate "namespace", and avoids mistakes
- The library inside the framework is now static library. This makes it easier to include the library inside other libraries
- Added bitcode support for Xcode 7
v1.1.1
- Added support for using BlinkOCR as a camera capture API. To do that, implement the following
- When initializing the
PPCoordinator
object, don't add anyPPRecognizerSettings
toscanSettings
. - Use
settings.metadataSettings.currentVideoFrame = YES
to capture current camera frame - Implement
scanningViewController:didOutputMetadata:
callback to obtainPPImageMetadata
objects with camera frames.
- When initializing the
- As a reminder - you can process video frames obtained in that way using direct API method
processImage:scanningRegion:delegate:
v1.1.0
- Added support for Barcode recognition using the following recognizers:
PPPdf417Recognizer
for scanning PDF417 barcodesPPBarDecoderRecognizer
for Code 39 and Code 128 1D barcodesPPZXingRecognizer
for all other 1D and 2D barcode types
- Barcode scanning can be used at the same time with OCR scanning, or completely separate. Use different
scanSettings
. - Improved video frame quality detection: now only the sharpest and the most focused frames are being processed. This improves quality of the results, but at a slight expense of processing time
- Frame quality estimation can now be enabled using
PPScanSettings frameQualityEstimationMode
property:- when set to
PPFrameQualityEstimationModeOn
, frame quality estimation is always enabled - when set to
PPFrameQualityEstimationModeOff
, frame quality estimation is always disabled - when set to
PPFrameQualityEstimationModeDefault
, frame quality estimation is enabled internally, if the SDK determines it makes sense
- when set to
- iOS 9 introduced new app multitasking features Split View and Slide Over. When the scanner is on screen and one of those features are used, iOS automatically pauses the Camera (this behaviour is default as of iOS 9 beta 5). This SDK version introduces new setting in
PPUISettings
class, calledcameraPausedView
, where you can define theUIView
which is presented centered on screen when this happens. - Known issue on iOS 9: if you use Autorotate overlay feature (
settings.uiSetttings.autorotateOverlay
), presentPPScanningViewController
as a modal view controller, and support Split View iOS 9 feature, then autorotation of camera overlays isn't correct. The best way is to opt-out of Split View feature, and wait for SDK fix when iOS 9 comes out of beta. PPScanningViewController
methodspauseScanning
,isScanningPaused
, andresumeScanningAndResetState:
should now be called only from Main thread, and they are effective immediately. E.g., ifpauseScanning
is called and there is a video frame being processed, result of processing of that frame will be discarded, ifresumeScanningAndResetState:
isn't called in the meantime.- Added support for
PPCameraPresetPhoto
camera preset. Use this if you need the same zoom level as in iOS Camera app. The resolution for video feed when using this preset is the same as devices screen resolution.
v1.0.0
First official BlinkOCR SDK release
- Real time video and image OCR on mobile devices!
What's new to 1.0.0:
- BlinkOCR now supports several new fonts, which especially benefit receipt scanning use case.
- Use them by specifying a whitelist of CharKeys in
PPOcrEngineOptions
- New fonts are:
PP_OCR_FONT_CHAINPRINTER
PP_OCR_FONT_HYPERMARKET
PP_OCR_FONT_PRINTF
PP_OCR_FONT_TICKET_DE_CAISSE
- Use them by specifying a whitelist of CharKeys in
- You can now access two more properties of
PPOcrChar
objects- font - to get information about the font of the char
- variants - to get a set of all alternative values for a specific char (note: a variant is defined as a combination of a unicode value + font, so there might be the same characters multiple times in the variants set - each time with different font)
PPOcrEngineOptions
now have the ability to turn off line grouping (collecting adjacent chars into lines) withlineGroupingEnabled
property.- Changes in Direct processing API
- You are no longer required to call
PPCoordinator initializeRecognizers
andPPCoordinator terminateRecognizers
. - Instead,
initializeRecognizers
is called lazily on first call ofprocessImage
method. terminateRecognizers
is called automatically inPPCoordinator
destructor
- You are no longer required to call
- Added support for autorotation of
PPScanningViewController
. To support autorotation, usePPScanningViewController
's new propertiesautorotate
andsupportedOrientations
- countless tweaks and fixes in OCR engine