Showing
2 changed files
with
16 additions
and
21 deletions
| @@ -39,20 +39,12 @@ class _MyHomePageState extends State<MyHomePage> { | @@ -39,20 +39,12 @@ class _MyHomePageState extends State<MyHomePage> { | ||
| 39 | late final CameraController _cameraController; | 39 | late final CameraController _cameraController; |
| 40 | late Future<void> _instanceInit; | 40 | late Future<void> _instanceInit; |
| 41 | final pipe = BehaviorSubject<CameraImage?>.seeded(null); | 41 | final pipe = BehaviorSubject<CameraImage?>.seeded(null); |
| 42 | - int count = 0; | ||
| 43 | final ProcessingCameraImage _processingCameraImage = ProcessingCameraImage(); | 42 | final ProcessingCameraImage _processingCameraImage = ProcessingCameraImage(); |
| 44 | imglib.Image? currentImage; | 43 | imglib.Image? currentImage; |
| 45 | - final stopwatch = Stopwatch(); | 44 | + |
| 46 | void _processinngImage(CameraImage? value) async { | 45 | void _processinngImage(CameraImage? value) async { |
| 47 | if (value != null) { | 46 | if (value != null) { |
| 48 | - stopwatch.start(); | ||
| 49 | - | ||
| 50 | currentImage = await Future.microtask(() => processImage(value)); | 47 | currentImage = await Future.microtask(() => processImage(value)); |
| 51 | - | ||
| 52 | - stopwatch.stop(); | ||
| 53 | - print('this is time process: ${stopwatch.elapsedMilliseconds}'); | ||
| 54 | - stopwatch.reset(); | ||
| 55 | - // print(currentImage?.length); | ||
| 56 | } | 48 | } |
| 57 | } | 49 | } |
| 58 | 50 | ||
| @@ -71,7 +63,8 @@ class _MyHomePageState extends State<MyHomePage> { | @@ -71,7 +63,8 @@ class _MyHomePageState extends State<MyHomePage> { | ||
| 71 | 63 | ||
| 72 | Future<void> initCamera() async { | 64 | Future<void> initCamera() async { |
| 73 | final cameras = await availableCameras(); | 65 | final cameras = await availableCameras(); |
| 74 | - _cameraController = CameraController(cameras[1], ResolutionPreset.low); | 66 | + _cameraController = CameraController(cameras[0], ResolutionPreset.medium, |
| 67 | + imageFormatGroup: ImageFormatGroup.yuv420); | ||
| 75 | await _cameraController.initialize(); | 68 | await _cameraController.initialize(); |
| 76 | await _cameraController.startImageStream((image) { | 69 | await _cameraController.startImageStream((image) { |
| 77 | pipe.sink.add(image); | 70 | pipe.sink.add(image); |
| @@ -79,22 +72,23 @@ class _MyHomePageState extends State<MyHomePage> { | @@ -79,22 +72,23 @@ class _MyHomePageState extends State<MyHomePage> { | ||
| 79 | } | 72 | } |
| 80 | 73 | ||
| 81 | imglib.Image? processImage(CameraImage _savedImage) { | 74 | imglib.Image? processImage(CameraImage _savedImage) { |
| 82 | - // return _processingCameraImage.processCameraImageToRGB( | ||
| 83 | - // bytesPerPixelPlan1: _savedImage.planes[1].bytesPerPixel, | 75 | + // return _processingCameraImage.processCameraImageToRGBIOS( |
| 76 | + // bytesPerPixelPlan1: 2, | ||
| 84 | // bytesPerRowPlane0: _savedImage.planes[0].bytesPerRow, | 77 | // bytesPerRowPlane0: _savedImage.planes[0].bytesPerRow, |
| 85 | - // bytesPerRowPlane1: _savedImage.planes[1].bytesPerRow, | 78 | + // bytesPerRowPlane1: _savedImage.planes[0].bytesPerRow, |
| 86 | // height: _savedImage.height, | 79 | // height: _savedImage.height, |
| 87 | // plane0: _savedImage.planes[0].bytes, | 80 | // plane0: _savedImage.planes[0].bytes, |
| 88 | // plane1: _savedImage.planes[1].bytes, | 81 | // plane1: _savedImage.planes[1].bytes, |
| 89 | - // plane2: _savedImage.planes[2].bytes, | ||
| 90 | - // rotationAngle: _cameraController.description.sensorOrientation.toDouble(), | 82 | + // rotationAngle: 0, |
| 91 | // width: _savedImage.width, | 83 | // width: _savedImage.width, |
| 92 | // ); | 84 | // ); |
| 93 | - return _processingCameraImage.processCameraImageToGray( | 85 | + return _processingCameraImage.processCameraImageToGrayIOS( |
| 94 | height: _savedImage.height, | 86 | height: _savedImage.height, |
| 95 | width: _savedImage.width, | 87 | width: _savedImage.width, |
| 96 | plane0: _savedImage.planes[0].bytes, | 88 | plane0: _savedImage.planes[0].bytes, |
| 97 | - rotationAngle: _cameraController.description.sensorOrientation.toDouble(), | 89 | + rotationAngle: 15, |
| 90 | + backGroundColor: Colors.red.value, | ||
| 91 | + isFlipVectical: true, | ||
| 98 | ); | 92 | ); |
| 99 | } | 93 | } |
| 100 | 94 | ||
| @@ -103,9 +97,10 @@ class _MyHomePageState extends State<MyHomePage> { | @@ -103,9 +97,10 @@ class _MyHomePageState extends State<MyHomePage> { | ||
| 103 | return Scaffold( | 97 | return Scaffold( |
| 104 | floatingActionButton: InkWell( | 98 | floatingActionButton: InkWell( |
| 105 | child: Container( | 99 | child: Container( |
| 106 | - height: 100, | ||
| 107 | - width: 100, | ||
| 108 | - color: Colors.red, | 100 | + color: Colors.white.withOpacity(0.0), |
| 101 | + height: 36, | ||
| 102 | + width: 36, | ||
| 103 | + child: const Icon(Icons.photo_camera), | ||
| 109 | ), | 104 | ), |
| 110 | onTap: () { | 105 | onTap: () { |
| 111 | Navigator.push( | 106 | Navigator.push( |
-
Please register or login to post a comment