패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소OnixFlutterTeam/ml_card_scanner

ml_card_scanner

Firebase ML 기반 간단한 카드 스캐너

ml_card_scanner 프로젝트 이미지
스타
11
포크
19
최근 푸시(UTC)
2025. 2. 28.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

ml_ card_scanner

The ml_card_scanner plugin allows you to scan bank cards.

Features

  • Can scan expiration date, card type and card number
  • Work with horizontal and vertical cards
  • Powered by Google's Machine Learning models
  • Great performance and accuracy
  • Fully offline scan makes it a completely secure scanner.
Warning: This package does not guarantee 100% 
accurate scanning of card details, 
so always give users the opportunity 
to check and modify the data before using it.

Prepare

###Android

  1. Add these to android/grade.properties file:
android.useAndroidX=true
android.enableJetifier=true
  1. In android/app/build.gradle file:
android {
  compileSdkVersion 31 // Set this to at least 31
  minSdkVersion 21 // at least 21
  ...
}
  1. Add the permission to android/app/src/main/AndroidManifest.xml file
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  <uses-permission android:name="android.permission.CAMERA"/> 
  ...
 </manifest>

###iOS

Add to ios/Runner/Info.plist file:

<key>NSCameraUsageDescription</key>
<string>Your Description</string>

Add this lines to the top of your Podfile:

# Uncomment this line to define a global platform for your project
 platform :ios, '10.0'

And add the following to end of your Podfile file:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      ... # Here are some configurations automatically generated by flutter

      # You can enable the permissions needed here. For example to enable camera
      # permission, just remove the `#` character in front so it looks like this:
      #
      # ## dart: PermissionGroup.camera
      # 'PERMISSION_CAMERA=1'
      #
      #  Preprocessor definitions can be found in: https://github.com/Baseflow/flutter-permission-handler/blob/master/permission_handler/ios/Classes/PermissionHandlerEnums.h
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',

       
        ## dart: PermissionGroup.camera
         'PERMISSION_CAMERA=1',

        ]

    end
  end
end

Usage

Just import the package and call ml_card_scanner an use ScannerWidget in your code:

ScannerWidget(controller: _controller)

Also ScannerWidget have another parameter you can specify:

  • overlayBuilder - set your overlay widget or specify null to use the default;
  • overlayTextBuilder - set your widget or specify null to use the default;
  • cameraPreviewBuilder - set your widget constraints for CameraPreview or specify null to use the default;
  • scannerDelay - set the scan delay or not set to use the default 400 (interval between card scannings in millisecconds);
  • oneShotScanning - set to false - the scan will run continuously, true -scaninng will stop after card detected;
  • overlayOrientation - set the default overlay orientation, by default portrait;
  • cameraResolution - resolution preset for camera, by default high;
  • controller - ScannerWidgetController widget controller to get scanned card details or error;
  • cardScanTries - how many recognition varians to collect before provide scanning result;
  • usePreprocessingFilters - applying built in preprocessing filters to improve recognition quality; would slow down the recognition process, but improve the quality;

See example/lib/ml_card_scanner.dart for implementation.

For ScannerWidgetController have functionality:

  • enable or disable scanning;
  • enable or disable camera preview;
  • set onCardScanned callback;
  • set onError callback;

Example Output :

Number card: 5173949390587465
Type: Master Card
Expiry: 10/24
OnixFlutterTeam GitHub avatar
GitHub 작성자

OnixFlutterTeam ↗

OnixFlutterTeam

Onix-Systems
언어DartRubyKotlinSwiftObjective-CShell

분류

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 8 개

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗